From 3eed1a09fb05716a8f2ce544863a01b038815f70 Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Tue, 8 Mar 2022 11:30:03 -0800 Subject: [PATCH 001/215] docs: removing references to imn, tcl, tk, tlv, and .core, removed unused icons --- docs/architecture.md | 26 +- docs/devguide.md | 5 +- docs/distributed.md | 8 +- docs/emane.md | 8 +- docs/emane/antenna.md | 2 +- docs/emane/eel.md | 2 +- docs/emane/files.md | 18 +- docs/emane/gpsd.md | 2 +- docs/emane/precomputed.md | 2 +- docs/gui.md | 413 +++++------ docs/index.md | 17 +- docs/install.md | 14 +- docs/pygui.md | 649 ------------------ docs/services.md | 17 +- docs/static/{core-pygui.png => core-gui.png} | Bin docs/static/core_screenshot.png | Bin 771398 -> 0 bytes docs/static/distributed-controlnetwork.png | Bin 46031 -> 0 bytes docs/static/distributed-emane-network.png | Bin 44011 -> 0 bytes ...figuration.png => emane-configuration.png} | Bin ...ingle-pc-emane.png => emane-single-pc.png} | Bin docs/static/gui/document-properties.gif | Bin 635 -> 0 bytes docs/static/gui/host.gif | Bin 1189 -> 0 bytes docs/static/{pygui => gui}/host.png | Bin docs/static/gui/hub.gif | Bin 719 -> 0 bytes docs/static/{pygui => gui}/hub.png | Bin docs/static/gui/lanswitch.gif | Bin 744 -> 0 bytes docs/static/{pygui => gui}/lanswitch.png | Bin docs/static/gui/link.gif | Bin 86 -> 0 bytes docs/static/{pygui => gui}/link.png | Bin docs/static/gui/marker.gif | Bin 375 -> 0 bytes docs/static/{pygui => gui}/marker.png | Bin docs/static/gui/mdr.gif | Bin 1276 -> 0 bytes docs/static/{pygui => gui}/mdr.png | Bin docs/static/gui/observe.gif | Bin 1149 -> 0 bytes docs/static/gui/oval.gif | Bin 174 -> 0 bytes docs/static/{pygui => gui}/oval.png | Bin docs/static/gui/pc.gif | Bin 1300 -> 0 bytes docs/static/{pygui => gui}/pc.png | Bin docs/static/gui/rectangle.gif | Bin 160 -> 0 bytes docs/static/{pygui => gui}/rectangle.png | Bin docs/static/gui/rj45.gif | Bin 755 -> 0 bytes docs/static/{pygui => gui}/rj45.png | Bin docs/static/gui/router.gif | Bin 1152 -> 0 bytes docs/static/{pygui => gui}/router.png | Bin docs/static/gui/router_green.gif | Bin 753 -> 0 bytes docs/static/gui/run.gif | Bin 324 -> 0 bytes docs/static/{pygui => gui}/run.png | Bin docs/static/gui/select.gif | Bin 925 -> 0 bytes docs/static/{pygui => gui}/select.png | Bin docs/static/gui/start.gif | Bin 1131 -> 0 bytes docs/static/{pygui => gui}/start.png | Bin docs/static/gui/stop.gif | Bin 1204 -> 0 bytes docs/static/{pygui => gui}/stop.png | Bin docs/static/gui/text.gif | Bin 127 -> 0 bytes docs/static/{pygui => gui}/text.png | Bin docs/static/gui/tunnel.gif | Bin 799 -> 0 bytes docs/static/{pygui => gui}/tunnel.png | Bin docs/static/gui/twonode.gif | Bin 220 -> 0 bytes docs/static/gui/wlan.gif | Bin 146 -> 0 bytes docs/static/{pygui => gui}/wlan.png | Bin docs/static/pygui/OVS.gif | Bin 744 -> 0 bytes docs/static/pygui/alert.png | Bin 2019 -> 0 bytes docs/static/pygui/antenna.gif | Bin 230 -> 0 bytes docs/static/pygui/cancel.png | Bin 1322 -> 0 bytes docs/static/pygui/core-icon.png | Bin 2931 -> 0 bytes docs/static/pygui/delete.png | Bin 387 -> 0 bytes docs/static/pygui/docker.png | Bin 1533 -> 0 bytes docs/static/pygui/document-new.gif | Bin 1054 -> 0 bytes docs/static/pygui/document-properties.gif | Bin 635 -> 0 bytes docs/static/pygui/document-save.gif | Bin 1049 -> 0 bytes docs/static/pygui/edit-delete.gif | Bin 1006 -> 0 bytes docs/static/pygui/edit-node.png | Bin 3050 -> 0 bytes docs/static/pygui/emane.png | Bin 3334 -> 0 bytes docs/static/pygui/error.png | Bin 2258 -> 0 bytes docs/static/pygui/fileopen.gif | Bin 1095 -> 0 bytes docs/static/pygui/lxc.png | Bin 1553 -> 0 bytes docs/static/pygui/markerclear.png | Bin 1370 -> 0 bytes docs/static/pygui/observe.gif | Bin 1149 -> 0 bytes docs/static/pygui/pause.png | Bin 2368 -> 0 bytes docs/static/pygui/plot.gif | Bin 265 -> 0 bytes docs/static/pygui/prouter.png | Bin 2590 -> 0 bytes docs/static/pygui/shutdown.png | Bin 1546 -> 0 bytes docs/static/pygui/twonode.png | Bin 2494 -> 0 bytes 83 files changed, 196 insertions(+), 987 deletions(-) delete mode 100644 docs/pygui.md rename docs/static/{core-pygui.png => core-gui.png} (100%) delete mode 100644 docs/static/core_screenshot.png delete mode 100644 docs/static/distributed-controlnetwork.png delete mode 100644 docs/static/distributed-emane-network.png rename docs/static/{distributed-emane-configuration.png => emane-configuration.png} (100%) rename docs/static/{single-pc-emane.png => emane-single-pc.png} (100%) delete mode 100644 docs/static/gui/document-properties.gif delete mode 100644 docs/static/gui/host.gif rename docs/static/{pygui => gui}/host.png (100%) delete mode 100644 docs/static/gui/hub.gif rename docs/static/{pygui => gui}/hub.png (100%) delete mode 100644 docs/static/gui/lanswitch.gif rename docs/static/{pygui => gui}/lanswitch.png (100%) delete mode 100644 docs/static/gui/link.gif rename docs/static/{pygui => gui}/link.png (100%) delete mode 100644 docs/static/gui/marker.gif rename docs/static/{pygui => gui}/marker.png (100%) delete mode 100644 docs/static/gui/mdr.gif rename docs/static/{pygui => gui}/mdr.png (100%) delete mode 100644 docs/static/gui/observe.gif delete mode 100644 docs/static/gui/oval.gif rename docs/static/{pygui => gui}/oval.png (100%) delete mode 100644 docs/static/gui/pc.gif rename docs/static/{pygui => gui}/pc.png (100%) delete mode 100644 docs/static/gui/rectangle.gif rename docs/static/{pygui => gui}/rectangle.png (100%) delete mode 100644 docs/static/gui/rj45.gif rename docs/static/{pygui => gui}/rj45.png (100%) delete mode 100644 docs/static/gui/router.gif rename docs/static/{pygui => gui}/router.png (100%) delete mode 100644 docs/static/gui/router_green.gif delete mode 100644 docs/static/gui/run.gif rename docs/static/{pygui => gui}/run.png (100%) delete mode 100644 docs/static/gui/select.gif rename docs/static/{pygui => gui}/select.png (100%) delete mode 100644 docs/static/gui/start.gif rename docs/static/{pygui => gui}/start.png (100%) delete mode 100644 docs/static/gui/stop.gif rename docs/static/{pygui => gui}/stop.png (100%) delete mode 100644 docs/static/gui/text.gif rename docs/static/{pygui => gui}/text.png (100%) delete mode 100644 docs/static/gui/tunnel.gif rename docs/static/{pygui => gui}/tunnel.png (100%) delete mode 100644 docs/static/gui/twonode.gif delete mode 100644 docs/static/gui/wlan.gif rename docs/static/{pygui => gui}/wlan.png (100%) delete mode 100755 docs/static/pygui/OVS.gif delete mode 100644 docs/static/pygui/alert.png delete mode 100644 docs/static/pygui/antenna.gif delete mode 100644 docs/static/pygui/cancel.png delete mode 100644 docs/static/pygui/core-icon.png delete mode 100644 docs/static/pygui/delete.png delete mode 100644 docs/static/pygui/docker.png delete mode 100644 docs/static/pygui/document-new.gif delete mode 100644 docs/static/pygui/document-properties.gif delete mode 100644 docs/static/pygui/document-save.gif delete mode 100644 docs/static/pygui/edit-delete.gif delete mode 100644 docs/static/pygui/edit-node.png delete mode 100644 docs/static/pygui/emane.png delete mode 100644 docs/static/pygui/error.png delete mode 100644 docs/static/pygui/fileopen.gif delete mode 100644 docs/static/pygui/lxc.png delete mode 100644 docs/static/pygui/markerclear.png delete mode 100644 docs/static/pygui/observe.gif delete mode 100644 docs/static/pygui/pause.png delete mode 100644 docs/static/pygui/plot.gif delete mode 100644 docs/static/pygui/prouter.png delete mode 100644 docs/static/pygui/shutdown.png delete mode 100644 docs/static/pygui/twonode.png diff --git a/docs/architecture.md b/docs/architecture.md index ceaf7cc2..410b37ac 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -10,17 +10,14 @@ * Nodes are created using Linux namespaces * Links are created using Linux bridges and virtual ethernet peers * Packets sent over links are manipulated using traffic control - * Controlled via the CORE GUI - * Provides both a custom TLV API and gRPC API - * Python program that leverages a small C binary for node creation + * Provides gRPC API * core-gui - * GUI and daemon communicate over the custom TLV API + * GUI and daemon communicate over gRPC API * Drag and drop creation for nodes and links * Can launch terminals for emulated nodes in running sessions * Can save/open scenario files to recreate previous sessions - * TCL/TK program -* coresendmsg - * Command line utility for sending TLV API messages to the core-daemon +* vnoded + * Command line utility for creating CORE node namespaces * vcmd * Command line utility for sending shell commands to nodes @@ -55,21 +52,10 @@ Nftables provides Ethernet frame filtering on Linux bridges. Wireless networks a emulated by controlling which interfaces can send and receive with nftables rules. -## Prior Work - -The Tcl/Tk CORE GUI was originally derived from the open source -[IMUNES](http://imunes.net) project from the University of Zagreb as a custom -project within Boeing Research and Technology's Network Technology research -group in 2004. Since then they have developed the CORE framework to use Linux -namespacing, have developed a Python framework, and made numerous user and -kernel-space developments, such as support for wireless networks, IPsec, -distribute emulation, simulation integration, and more. The IMUNES project -also consists of userspace and kernel components. - ## Open Source Project and Resources CORE has been released by Boeing to the open source community under the BSD license. If you find CORE useful for your work, please contribute back to the project. Contributions can be as simple as reporting a bug, dropping a line of -encouragement or technical suggestions to the mailing lists, or can also -include submitting patches or maintaining aspects of the tool. +encouragement, or can also include submitting patches or maintaining aspects +of the tool. diff --git a/docs/devguide.md b/docs/devguide.md index f8524da4..fe25e306 100644 --- a/docs/devguide.md +++ b/docs/devguide.md @@ -5,7 +5,7 @@ ## Repository Overview -The CORE source consists of several different programming languages for +The CORE source consists of several programming languages for historical reasons. Current development focuses on the Python modules and daemon. Here is a brief description of the source directories. @@ -13,7 +13,6 @@ daemon. Here is a brief description of the source directories. |-----------|--------------------------------------------------------------------------------------| | daemon | Python CORE daemon/gui code that handles receiving API calls and creating containers | | docs | Markdown Documentation currently hosted on GitHub | -| gui | Tcl/Tk GUI | | man | Template files for creating man pages for various CORE command line utilities | | netns | C program for creating CORE containers | @@ -58,7 +57,7 @@ sudo core-daemon # run python gui core-pygui -# run tcl gui +# run gui core-gui # run mocked unit tests diff --git a/docs/distributed.md b/docs/distributed.md index 2d46ac96..65429f03 100644 --- a/docs/distributed.md +++ b/docs/distributed.md @@ -124,7 +124,7 @@ connect_kwargs: {"key_filename": "/home/user/.ssh/core"} Within the core-gui navigate to menu option: -**Session -> Emulation servers...** +**Session -> Servers...** Within the dialog box presented, add or modify an existing server if present to use the name, address, and port for the a server you plan to use. @@ -132,12 +132,6 @@ to use the name, address, and port for the a server you plan to use. Server configurations are loaded and written to in a configuration file for the GUI. -**~/.core/servers.conf** -```conf -# name address port -server2 192.168.0.2 4038 -``` - ## Assigning Nodes The user needs to assign nodes to emulation servers in the scenario. Making no diff --git a/docs/emane.md b/docs/emane.md index d4f4e42c..dfa30897 100644 --- a/docs/emane.md +++ b/docs/emane.md @@ -80,7 +80,7 @@ EMANE. An example emane section from the **core.conf** file is shown below: emane_platform_port = 8101 emane_transform_port = 8201 emane_event_monitor = False -#emane_models_dir = /home/username/.core/myemane +#emane_models_dir = /home//.coregui/custom_emane # EMANE log level range [0,4] default: 2 emane_log_level = 2 emane_realtime = True @@ -242,7 +242,7 @@ directory to find the generated EMANE xml files. One easy way to view this information is by double-clicking one of the virtual nodes and listing the files in the shell. -![](static/single-pc-emane.png) +![](static/emane-single-pc.png) ## Distributed EMANE @@ -277,7 +277,7 @@ it will be emulated locally. Using the EMANE node configuration dialog. You can change the EMANE model being used, along with changing any configuration setting from their defaults. -![](static/distributed-emane-configuration.png) +![](static/emane-configuration.png) > **NOTE:** Here is a quick checklist for distributed emulation with EMANE. @@ -304,5 +304,3 @@ Double-clicking on a node during runtime will cause the GUI to attempt to SSH to the emulation server for that node and run an interactive shell. The public key SSH configuration should be tested with all emulation servers prior to starting the emulation. - -![](static/distributed-emane-network.png) diff --git a/docs/emane/antenna.md b/docs/emane/antenna.md index 20c98304..c8a86eaa 100644 --- a/docs/emane/antenna.md +++ b/docs/emane/antenna.md @@ -335,7 +335,7 @@ Create `/tmp/emane/blockageaft.xml` with the following contents. ## Run Demo 1. Select `Open...` within the GUI 1. Load `emane-demo-antenna.xml` -1. Click ![Start Button](../static/gui/start.gif) +1. Click ![Start Button](../static/gui/start.png) 1. After startup completes, double click n1 to bring up the nodes terminal ## Example Demo diff --git a/docs/emane/eel.md b/docs/emane/eel.md index 0f41c357..ca094542 100644 --- a/docs/emane/eel.md +++ b/docs/emane/eel.md @@ -11,7 +11,7 @@ for more specifics. ## Run Demo 1. Select `Open...` within the GUI 1. Load `emane-demo-eel.xml` -1. Click ![Start Button](../static/gui/start.gif) +1. Click ![Start Button](../static/gui/start.png) 1. After startup completes, double click n1 to bring up the nodes terminal ## Example Demo diff --git a/docs/emane/files.md b/docs/emane/files.md index 62729ac8..c9bc35e8 100644 --- a/docs/emane/files.md +++ b/docs/emane/files.md @@ -12,7 +12,7 @@ may provide more helpful details. ## Run Demo 1. Select `Open...` within the GUI 1. Load `emane-demo-files.xml` -1. Click ![Start Button](../static/gui/start.gif) +1. Click ![Start Button](../static/gui/start.png) 1. After startup completes, double click n1 to bring up the nodes terminal ## Example Demo @@ -21,14 +21,14 @@ case we are running the RF Pipe model. ### Generated Files -|Name|Description| -|---|---| -|\-platform.xml|configuration file for the emulator instances| -|\-nem.xml|configuration for creating a NEM| -|\-mac.xml|configuration for defining a NEMs MAC layer| -|\-phy.xml|configuration for defining a NEMs PHY layer| -|\-trans-virtual.xml|configuration when a virtual transport is being used| -|\-trans.xml|configuration when a raw transport is being used| +| Name | Description | +|-------------------------------------|------------------------------------------------------| +| \-platform.xml | configuration file for the emulator instances | +| \-nem.xml | configuration for creating a NEM | +| \-mac.xml | configuration for defining a NEMs MAC layer | +| \-phy.xml | configuration for defining a NEMs PHY layer | +| \-trans-virtual.xml | configuration when a virtual transport is being used | +| \-trans.xml | configuration when a raw transport is being used | ### Listing File Below are the files within n1 after starting the demo session. diff --git a/docs/emane/gpsd.md b/docs/emane/gpsd.md index 06c44198..f20cc8fe 100644 --- a/docs/emane/gpsd.md +++ b/docs/emane/gpsd.md @@ -13,7 +13,7 @@ may provide more helpful details. ## Run Demo 1. Select `Open...` within the GUI 1. Load `emane-demo-gpsd.xml` -1. Click ![Start Button](../static/gui/start.gif) +1. Click ![Start Button](../static/gui/start.png) 1. After startup completes, double click n1 to bring up the nodes terminal ## Example Demo diff --git a/docs/emane/precomputed.md b/docs/emane/precomputed.md index f8064c97..53da75eb 100644 --- a/docs/emane/precomputed.md +++ b/docs/emane/precomputed.md @@ -11,7 +11,7 @@ for more specifics. ## Run Demo 1. Select `Open...` within the GUI 1. Load `emane-demo-precomputed.xml` -1. Click ![Start Button](../static/gui/start.gif) +1. Click ![Start Button](../static/gui/start.png) 1. After startup completes, double click n1 to bring up the nodes terminal ## Example Demo diff --git a/docs/gui.md b/docs/gui.md index d59f30c5..cfd78a58 100644 --- a/docs/gui.md +++ b/docs/gui.md @@ -1,12 +1,10 @@ -# Using the CORE GUI +# CORE GUI * Table of Contents {:toc} -The following image shows the CORE GUI: -![](static/core_screenshot.png) - +![](static/core-gui.png) ## Overview @@ -28,45 +26,54 @@ Beyond installing CORE, you must have the CORE daemon running. This is done on the command line with either systemd or sysv. ```shell -# systemd +# systemd service sudo systemctl daemon-reload sudo systemctl start core-daemon -# sysv -sudo service core-daemon start -``` - -You can also invoke the daemon directly from the command line, which can be -useful if you'd like to see the logging output directly. - -```shell # direct invocation sudo core-daemon ``` +## GUI Files + +The GUI will create a directory in your home directory on first run called +~/.coregui. This directory will help layout various files that the GUI may use. + +* .coregui/ + * backgrounds/ + * place backgrounds used for display in the GUI + * custom_emane/ + * place to keep custom emane models to use with the core-daemon + * custom_services/ + * place to keep custom services to use with the core-daemon + * icons/ + * icons the GUI uses along with customs icons desired + * mobility/ + * place to keep custom mobility files + * scripts/ + * place to keep core related scripts + * xmls/ + * place to keep saved session xml files + * gui.log + * log file when running the gui, look here when issues occur for exceptions etc + * config.yaml + * configuration file used to save/load various gui related settings (custom nodes, layouts, addresses, etc) + ## Modes of Operation The CORE GUI has two primary modes of operation, **Edit** and **Execute** -modes. Running the GUI, by typing **core-gui** with no options, starts in -Edit mode. Nodes are drawn on a blank canvas using the toolbar on the left +modes. Running the GUI, by typing **core-pygui** with no options, starts in +Edit mode. Nodes are drawn on a blank canvas using the toolbar on the left and configured from right-click menus or by double-clicking them. The GUI does not need to be run as root. -Once editing is complete, pressing the green **Start** button (or choosing -**Execute** from the **Session** menu) instantiates the topology within the -Linux kernel and enters Execute mode. In execute mode, the user can interact -with the running emulated machines by double-clicking or right-clicking on -them. The editing toolbar disappears and is replaced by an execute toolbar, -which provides tools while running the emulation. Pressing the red **Stop** -button (or choosing **Terminate** from the **Session** menu) will destroy -the running emulation and return CORE to Edit mode. - -CORE can be started directly in Execute mode by specifying **--start** and a -topology file on the command line: - -```shell -core-gui --start ~/.core/configs/myfile.imn -``` +Once editing is complete, pressing the green **Start** button instantiates +the topology and enters Execute mode. In execute mode, +the user can interact with the running emulated machines by double-clicking or +right-clicking on them. The editing toolbar disappears and is replaced by an +execute toolbar, which provides tools while running the emulation. Pressing +the red **Stop** button will destroy the running emulation and return CORE +to Edit mode. Once the emulation is running, the GUI can be closed, and a prompt will appear asking if the emulation should be terminated. The emulation may be left @@ -74,11 +81,22 @@ running and the GUI can reconnect to an existing session at a later time. The GUI can be run as a normal user on Linux. -The GUI can be connected to a different address or TCP port using the -**--address** and/or **--port** options. The defaults are shown below. +The GUI currently provides the following options on startup. ```shell -core-gui --address 127.0.0.1 --port 4038 +usage: core-gui [-h] [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-p] + [-s SESSION] [--create-dir] + +CORE Python GUI + +optional arguments: + -h, --help show this help message and exit + -l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --level {DEBUG,INFO,WARNING,ERROR,CRITICAL} + logging level + -p, --proxy enable proxy + -s SESSION, --session SESSION + session id to join + --create-dir create gui directory and exit ``` ## Toolbar @@ -95,22 +113,21 @@ sub-menus, which appear when you click on their group icon. | Icon | Name | Description | |----------------------------|----------------|----------------------------------------------------------------------------------------| -| ![](static/gui/select.gif) | Selection Tool | Tool for selecting, moving, configuring nodes. | -| ![](static/gui/start.gif) | Start Button | Starts Execute mode, instantiates the emulation. | -| ![](static/gui/link.gif) | Link | Allows network links to be drawn between two nodes by clicking and dragging the mouse. | +| ![](static/gui/select.png) | Selection Tool | Tool for selecting, moving, configuring nodes. | +| ![](static/gui/start.png) | Start Button | Starts Execute mode, instantiates the emulation. | +| ![](static/gui/link.png) | Link | Allows network links to be drawn between two nodes by clicking and dragging the mouse. | ### CORE Nodes These nodes will create a new node container and run associated services. -| Icon | Name | Description | -|-----------------------------------------|---------|------------------------------------------------------------------------------| -| ![](static/gui/router.gif) | Router | Runs Quagga OSPFv2 and OSPFv3 routing to forward packets. | -| ![](static/gui/host.gif) | Host | Emulated server machine having a default route, runs SSH server. | -| ![](static/gui/pc.gif) | PC | Basic emulated machine having a default route, runs no processes by default. | -| ![](static/gui/mdr.gif) | MDR | Runs Quagga OSPFv3 MDR routing for MANET-optimized routing. | -| ![](static/gui/router_green.gif) | PRouter | Physical router represents a real testbed machine. | -| ![](static/gui/document-properties.gif) | Edit | Bring up the custom node dialog. | +| Icon | Name | Description | +|----------------------------|---------|------------------------------------------------------------------------------| +| ![](static/gui/router.png) | Router | Runs Quagga OSPFv2 and OSPFv3 routing to forward packets. | +| ![](static/gui/host.png) | Host | Emulated server machine having a default route, runs SSH server. | +| ![](static/gui/pc.png) | PC | Basic emulated machine having a default route, runs no processes by default. | +| ![](static/gui/mdr.png) | MDR | Runs Quagga OSPFv3 MDR routing for MANET-optimized routing. | +| ![](static/gui/router.png) | PRouter | Physical router represents a real testbed machine. | ### Network Nodes @@ -119,20 +136,20 @@ purpose described below. | Icon | Name | Description | |-------------------------------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| ![](static/gui/hub.gif) | Hub | Ethernet hub forwards incoming packets to every connected node. | -| ![](static/gui/lanswitch.gif) | Switch | Ethernet switch intelligently forwards incoming packets to attached hosts using an Ethernet address hash table. | -| ![](static/gui/wlan.gif) | Wireless LAN | When routers are connected to this WLAN node, they join a wireless network and an antenna is drawn instead of a connecting line; the WLAN node typically controls connectivity between attached wireless nodes based on the distance between them. | -| ![](static/gui/rj45.gif) | RJ45 | RJ45 Physical Interface Tool, emulated nodes can be linked to real physical interfaces; using this tool, real networks and devices can be physically connected to the live-running emulation. | -| ![](static/gui/tunnel.gif) | Tunnel | Tool allows connecting together more than one CORE emulation using GRE tunnels. | +| ![](static/gui/hub.png) | Hub | Ethernet hub forwards incoming packets to every connected node. | +| ![](static/gui/lanswitch.png) | Switch | Ethernet switch intelligently forwards incoming packets to attached hosts using an Ethernet address hash table. | +| ![](static/gui/wlan.png) | Wireless LAN | When routers are connected to this WLAN node, they join a wireless network and an antenna is drawn instead of a connecting line; the WLAN node typically controls connectivity between attached wireless nodes based on the distance between them. | +| ![](static/gui/rj45.png) | RJ45 | RJ45 Physical Interface Tool, emulated nodes can be linked to real physical interfaces; using this tool, real networks and devices can be physically connected to the live-running emulation. | +| ![](static/gui/tunnel.png) | Tunnel | Tool allows connecting together more than one CORE emulation using GRE tunnels. | ### Annotation Tools | Icon | Name | Description | |-------------------------------|-----------|---------------------------------------------------------------------| -| ![](static/gui/marker.gif) | Marker | For drawing marks on the canvas. | -| ![](static/gui/oval.gif) | Oval | For drawing circles on the canvas that appear in the background. | -| ![](static/gui/rectangle.gif) | Rectangle | For drawing rectangles on the canvas that appear in the background. | -| ![](static/gui/text.gif) | Text | For placing text captions on the canvas. | +| ![](static/gui/marker.png) | Marker | For drawing marks on the canvas. | +| ![](static/gui/oval.png) | Oval | For drawing circles on the canvas that appear in the background. | +| ![](static/gui/rectangle.png) | Rectangle | For drawing rectangles on the canvas that appear in the background. | +| ![](static/gui/text.png) | Text | For placing text captions on the canvas. | ### Execution Toolbar @@ -140,14 +157,12 @@ When the Start button is pressed, CORE switches to Execute mode, and the Edit toolbar on the left of the CORE window is replaced with the Execution toolbar Below are the items on this toolbar, starting from the top. -| Icon | Name | Description | -|-----------------------------|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| ![](static/gui/select.gif) | Selection Tool | In Execute mode, the Selection Tool can be used for moving nodes around the canvas, and double-clicking on a node will open a shell window for that node; right-clicking on a node invokes a pop-up menu of run-time options for that node. | -| ![](static/gui/stop.gif) | Stop Button | Stops Execute mode, terminates the emulation, returns CORE to edit mode. | -| ![](static/gui/observe.gif) | Observer Widgets Tool | Clicking on this magnifying glass icon invokes a menu for easily selecting an Observer Widget. The icon has a darker gray background when an Observer Widget is active, during which time moving the mouse over a node will pop up an information display for that node. | -| ![](static/gui/marker.gif) | Marker | For drawing freehand lines on the canvas, useful during demonstrations; markings are not saved. | -| ![](static/gui/twonode.gif) | Two-node Tool | Click to choose a starting and ending node, and run a one-time *traceroute* between those nodes or a continuous *ping -R* between nodes. The output is displayed in real time in a results box, while the IP addresses are parsed and the complete network path is highlighted on the CORE display. | -| ![](static/gui/run.gif) | Run Tool | This tool allows easily running a command on all or a subset of all nodes. A list box allows selecting any of the nodes. A text entry box allows entering any command. The command should return immediately, otherwise the display will block awaiting response. The *ping* command, for example, with no parameters, is not a good idea. The result of each command is displayed in a results box. The first occurrence of the special text "NODE" will be replaced with the node name. The command will not be attempted to run on nodes that are not routers, PCs, or hosts, even if they are selected. | +| Icon | Name | Description | +|----------------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ![](static/gui/stop.png) | Stop Button | Stops Execute mode, terminates the emulation, returns CORE to edit mode. | +| ![](static/gui/select.png) | Selection Tool | In Execute mode, the Selection Tool can be used for moving nodes around the canvas, and double-clicking on a node will open a shell window for that node; right-clicking on a node invokes a pop-up menu of run-time options for that node. | +| ![](static/gui/marker.png) | Marker | For drawing freehand lines on the canvas, useful during demonstrations; markings are not saved. | +| ![](static/gui/run.png) | Run Tool | This tool allows easily running a command on all or a subset of all nodes. A list box allows selecting any of the nodes. A text entry box allows entering any command. The command should return immediately, otherwise the display will block awaiting response. The *ping* command, for example, with no parameters, is not a good idea. The result of each command is displayed in a results box. The first occurrence of the special text "NODE" will be replaced with the node name. The command will not be attempted to run on nodes that are not routers, PCs, or hosts, even if they are selected. | ## Menu @@ -157,98 +172,61 @@ menu, by clicking the dashed line at the top. ### File Menu -The File menu contains options for manipulating the **.imn** Configuration -Files. Generally, these menu items should not be used in Execute mode. +The File menu contains options for saving and opening saved sessions. -| Option | Description | -|------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| New | This starts a new file with an empty canvas. | -| Open | Invokes the File Open dialog box for selecting a new **.imn** or XML file to open. You can change the default path used for this dialog in the Preferences Dialog. | -| Save | Saves the current topology. If you have not yet specified a file name, the Save As dialog box is invoked. | -| Save As XML | Invokes the Save As dialog box for selecting a new **.xml** file for saving the current configuration in the XML file. | -| Save As imn | Invokes the Save As dialog box for selecting a new **.imn** topology file for saving the current configuration. Files are saved in the *IMUNES network configuration* file. | -| Export Python script | Prints Python snippets to the console, for inclusion in a CORE Python script. | -| Execute XML or Python script | Invokes a File Open dialog box for selecting an XML file to run or a Python script to run and automatically connect to. If a Python script, the script must create a new CORE Session and add this session to the daemon's list of sessions in order for this to work. | -| Execute Python script with options | Invokes a File Open dialog box for selecting a Python script to run and automatically connect to. After a selection is made, a Python Script Options dialog box is invoked to allow for command-line options to be added. The Python script must create a new CORE Session and add this session to the daemon's list of sessions in order for this to work. | -| Open current file in editor | This opens the current topology file in the **vim** text editor. First you need to save the file. Once the file has been edited with a text editor, you will need to reload the file to see your changes. The text editor can be changed from the Preferences Dialog. | -| Print | This uses the Tcl/Tk postscript command to print the current canvas to a printer. A dialog is invoked where you can specify a printing command, the default being **lpr**. The postscript output is piped to the print command. | -| Save screenshot | Saves the current canvas as a postscript graphic file. | -| Recently used files | Above the Quit menu command is a list of recently use files, if any have been opened. You can clear this list in the Preferences dialog box. You can specify the number of files to keep in this list from the Preferences dialog. Click on one of the file names listed to open that configuration file. | -| Quit | The Quit command should be used to exit the CORE GUI. CORE may prompt for termination if you are currently in Execute mode. Preferences and the recently-used files list are saved. | +| Option | Description | +|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| New Session | This starts a new session with an empty canvas. | +| Save | Saves the current topology. If you have not yet specified a file name, the Save As dialog box is invoked. | +| Save As | Invokes the Save As dialog box for selecting a new **.xml** file for saving the current configuration in the XML file. | +| Open | Invokes the File Open dialog box for selecting a new XML file to open. | +| Recently used files | Above the Quit menu command is a list of recently use files, if any have been opened. You can clear this list in the Preferences dialog box. You can specify the number of files to keep in this list from the Preferences dialog. Click on one of the file names listed to open that configuration file. | +| Execute Python Script | Invokes a File Open dialog box for selecting a Python script to run and automatically connect to. After a selection is made, a Python Script Options dialog box is invoked to allow for command-line options to be added. The Python script must create a new CORE Session and add this session to the daemon's list of sessions in order for this to work. | +| Quit | The Quit command should be used to exit the CORE GUI. CORE may prompt for termination if you are currently in Execute mode. Preferences and the recently-used files list are saved. | ### Edit Menu -| Option | Description | -|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Undo | Attempts to undo the last edit in edit mode. | -| Redo | Attempts to redo an edit that has been undone. | -| Cut, Copy, Paste | Used to cut, copy, and paste a selection. When nodes are pasted, their node numbers are automatically incremented, and existing links are preserved with new IP addresses assigned. Services and their customizations are copied to the new node, but care should be taken as node IP addresses have changed with possibly old addresses remaining in any custom service configurations. Annotations may also be copied and pasted. | -| Select All | Selects all items on the canvas. Selected items can be moved as a group. | -| Select Adjacent | Select all nodes that are linked to the already selected node(s). For wireless nodes this simply selects the WLAN node(s) that the wireless node belongs to. You can use this by clicking on a node and pressing CTRL+N to select the adjacent nodes. | -| Find... | Invokes the *Find* dialog box. The Find dialog can be used to search for nodes by name or number. Results are listed in a table that includes the node or link location and details such as IP addresses or link parameters. Clicking on a result will focus the canvas on that node or link, switching canvases if necessary. | -| Clear marker | Clears any annotations drawn with the marker tool. Also clears any markings used to indicate a node's status. | -| Preferences... | Invokes the Preferences dialog box. | +| Option | Description | +|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Preferences | Invokes the Preferences dialog box. | +| Custom Nodes | Custom node creation dialog box. | +| Undo | (Disabled) Attempts to undo the last edit in edit mode. | +| Redo | (Disabled) Attempts to redo an edit that has been undone. | +| Cut, Copy, Paste, Delete | Used to cut, copy, paste, and delete a selection. When nodes are pasted, their node numbers are automatically incremented, and existing links are preserved with new IP addresses assigned. Services and their customizations are copied to the new node, but care should be taken as node IP addresses have changed with possibly old addresses remaining in any custom service configurations. Annotations may also be copied and pasted. | ### Canvas Menu -The canvas menu provides commands for adding, removing, changing, and switching -to different editing canvases. +The canvas menu provides commands related to the editing canvas. -| Option | Description | -|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| New | Creates a new empty canvas at the right of all existing canvases. | -| Manage... | Invokes the *Manage Canvases* dialog box, where canvases may be renamed and reordered, and you can easily switch to one of the canvases by selecting it. | -| Delete | Deletes the current canvas and all items that it contains. | -| Size/scale... | Invokes a Canvas Size and Scale dialog that allows configuring the canvas size, scale, and geographic reference point. The size controls allow changing the width and height of the current canvas, in pixels or meters. The scale allows specifying how many meters are equivalent to 100 pixels. The reference point controls specify the latitude, longitude, and altitude reference point used to convert between geographic and Cartesian coordinate systems. By clicking the *Save as default* option, all new canvases will be created with these properties. The default canvas size can also be changed in the Preferences dialog box. | -| Wallpaper... | Used for setting the canvas background image. | -| Previous, Next, First, Last | Used for switching the active canvas to the first, last, or adjacent canvas. | +| Option | Description | +|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Size/scale | Invokes a Canvas Size and Scale dialog that allows configuring the canvas size, scale, and geographic reference point. The size controls allow changing the width and height of the current canvas, in pixels or meters. The scale allows specifying how many meters are equivalent to 100 pixels. The reference point controls specify the latitude, longitude, and altitude reference point used to convert between geographic and Cartesian coordinate systems. By clicking the *Save as default* option, all new canvases will be created with these properties. The default canvas size can also be changed in the Preferences dialog box. | +| Wallpaper | Used for setting the canvas background image. | ### View Menu -The View menu features items for controlling what is displayed on the drawing -canvas. +The View menu features items for toggling on and off their display on the canvas. -| Option | Description | -|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Show | Opens a submenu of items that can be displayed or hidden, such as interface names, addresses, and labels. Use these options to help declutter the display. These options are generally saved in the topology files, so scenarios have a more consistent look when copied from one computer to another. | -| Show hidden nodes | Reveal nodes that have been hidden. Nodes are hidden by selecting one or more nodes, right-clicking one and choosing *hide*. | -| Locked | Toggles locked view; when the view is locked, nodes cannot be moved around on the canvas with the mouse. This could be useful when sharing the topology with someone and you do not expect them to change things. | -| 3D GUI... | Launches a 3D GUI by running the command defined under Preferences, *3D GUI command*. This is typically a script that runs the SDT3D display. SDT is the Scripted Display Tool from NRL that is based on NASA's Java-based WorldWind virtual globe software. | -| Zoom In | Magnifies the display. You can also zoom in by clicking *zoom 100%* label in the status bar, or by pressing the **+** (plus) key. | -| Zoom Out | Reduces the size of the display. You can also zoom out by right-clicking *zoom 100%* label in the status bar or by pressing the **-** (minus) key. | +| Option | Description | +|-----------------|-----------------------------------| +| Interface Names | Display interface names on links. | +| IPv4 Addresses | Display IPv4 addresses on links. | +| IPv6 Addresses | Display IPv6 addresses on links. | +| Node Labels | Display node names. | +| Link Labels | Display link labels. | +| Annotations | Display annotations. | +| Canvas Grid | Display the canvas grid. | ### Tools Menu The tools menu lists different utility functions. -| Option | Description | -|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Autorearrange all | Automatically arranges all nodes on the canvas. Nodes having a greater number of links are moved to the center. This mode can continue to run while placing nodes. To turn off this autorearrange mode, click on a blank area of the canvas with the select tool, or choose this menu option again. | -| Autorearrange selected | Automatically arranges the selected nodes on the canvas. | -| Align to grid | Moves nodes into a grid formation, starting with the smallest-numbered node in the upper-left corner of the canvas, arranging nodes in vertical columns. | -| Traffic... | Invokes the CORE Traffic Flows dialog box, which allows configuring, starting, and stopping MGEN traffic flows for the emulation. | -| IP addresses... | Invokes the IP Addresses dialog box for configuring which IPv4/IPv6 prefixes are used when automatically addressing new interfaces. | -| MAC addresses... | Invokes the MAC Addresses dialog box for configuring the starting number used as the lowest byte when generating each interface MAC address. This value should be changed when tunneling between CORE emulations to prevent MAC address conflicts. | -| Build hosts file... | Invokes the Build hosts File dialog box for generating **/etc/hosts** file entries based on IP addresses used in the emulation. | -| Renumber nodes... | Invokes the Renumber Nodes dialog box, which allows swapping one node number with another in a few clicks. | -| Experimental... | Menu of experimental options, such as a tool to convert ns-2 scripts to IMUNES imn topologies, supporting only basic ns-2 functionality, and a tool for automatically dividing up a topology into partitions. | -| Topology generator | Opens a submenu of topologies to generate. You can first select the type of node that the topology should consist of, or routers will be chosen by default. Nodes may be randomly placed, aligned in grids, or various other topology patterns. All of the supported patterns are listed in the table below. | -| Debugger... | Opens the CORE Debugger window for executing arbitrary Tcl/Tk commands. | - -#### Topology Generator - -| Pattern | Description | -|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Random | Nodes are randomly placed about the canvas, but are not linked together. This can be used in conjunction with a WLAN node to quickly create a wireless network. | -| Grid | Nodes are placed in horizontal rows starting in the upper-left corner, evenly spaced to the right; nodes are not linked to each other. | -| Connected Grid | Nodes are placed in an N x M (width and height) rectangular grid, and each node is linked to the node above, below, left and right of itself. | -| Chain | Nodes are linked together one after the other in a chain. | -| Star | One node is placed in the center with N nodes surrounding it in a circular pattern, with each node linked to the center node. | -| Cycle | Nodes are arranged in a circular pattern with every node connected to its neighbor to form a closed circular path. | -| Wheel | The wheel pattern links nodes in a combination of both Star and Cycle patterns. | -| Cube | Generate a cube graph of nodes. | -| Clique | Creates a clique graph of nodes, where every node is connected to every other node. | -| Bipartite | Creates a bipartite graph of nodes, having two disjoint sets of vertices. | +| Option | Description | +|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Find | Display find dialog used for highlighting a node on the canvas. | +| Auto Grid | Automatically layout nodes in a grid. | +| IP addresses | Invokes the IP Addresses dialog box for configuring which IPv4/IPv6 prefixes are used when automatically addressing new interfaces. | +| MAC addresses | Invokes the MAC Addresses dialog box for configuring the starting number used as the lowest byte when generating each interface MAC address. This value should be changed when tunneling between CORE emulations to prevent MAC address conflicts. | ### Widgets Menu @@ -283,22 +261,22 @@ Here are some standard widgets: #### Observer Widgets -These Widgets are available from the *Observer Widgets* submenu of the -*Widgets* menu, and from the Widgets Tool on the toolbar. Only one Observer Widget may +These Widgets are available from the **Observer Widgets** submenu of the +**Widgets** menu, and from the Widgets Tool on the toolbar. Only one Observer Widget may be used at a time. Mouse over a node while the session is running to pop up an informational display about that node. Available Observer Widgets include IPv4 and IPv6 routing tables, socket information, list of running processes, and OSPFv2/v3 neighbor information. -Observer Widgets may be edited by the user and rearranged. Choosing *Edit...* -from the Observer Widget menu will invoke the Observer Widgets dialog. A list -of Observer Widgets is displayed along with up and down arrows for rearranging -the list. Controls are available for renaming each widget, for changing the -command that is run during mouse over, and for adding and deleting items from -the list. Note that specified commands should return immediately to avoid -delays in the GUI display. Changes are saved to a **widgets.conf** file in -the CORE configuration directory. +Observer Widgets may be edited by the user and rearranged. Choosing +**Widgets->Observer Widgets->Edit Observers** from the Observer Widget menu will +invoke the Observer Widgets dialog. A list of Observer Widgets is displayed along +with up and down arrows for rearranging the list. Controls are available for +renaming each widget, for changing the command that is run during mouse over, and +for adding and deleting items from the list. Note that specified commands should +return immediately to avoid delays in the GUI display. Changes are saved to a +**config.yaml** file in the CORE configuration directory. ### Session Menu @@ -306,28 +284,23 @@ The Session Menu has entries for starting, stopping, and managing sessions, in addition to global options such as node types, comments, hooks, servers, and options. -| Option | Description | -|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Start or Stop | This starts or stops the emulation, performing the same function as the green Start or red Stop button. | -| Change sessions... | Invokes the CORE Sessions dialog box containing a list of active CORE sessions in the daemon. Basic session information such as name, node count, start time, and a thumbnail are displayed. This dialog allows connecting to different sessions, shutting them down, or starting a new session. | -| Node types... | Invokes the CORE Node Types dialog, performing the same function as the Edit button on the Network-Layer Nodes toolbar. | -| Comments... | Invokes the CORE Session Comments window where optional text comments may be specified. These comments are saved at the top of the configuration file, and can be useful for describing the topology or how to use the network. | -| Hooks... | Invokes the CORE Session Hooks window where scripts may be configured for a particular session state. The session states are defined in the [table](#session-states) below. The top of the window has a list of configured hooks, and buttons on the bottom left allow adding, editing, and removing hook scripts. The new or edit button will open a hook script editing window. A hook script is a shell script invoked on the host (not within a virtual node). | -| Reset node positions | If you have moved nodes around using the mouse or by using a mobility module, choosing this item will reset all nodes to their original position on the canvas. The node locations are remembered when you first press the Start button. | -| Emulation servers... | Invokes the CORE emulation servers dialog for configuring. | -| Change Sessions... | Invokes the Sessions dialog for switching between different running sessions. This dialog is presented during startup when one or more sessions are already running. | -| Options... | Presents per-session options, such as the IPv4 prefix to be used, if any, for a control network the ability to preserve the session directory; and an on/off switch for SDT3D support. | +| Option | Description | +|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Sessions | Invokes the CORE Sessions dialog box containing a list of active CORE sessions in the daemon. Basic session information such as name, node count, start time, and a thumbnail are displayed. This dialog allows connecting to different sessions, shutting them down, or starting a new session. | +| Servers | Invokes the CORE emulation servers dialog for configuring. | +| Options | Presents per-session options, such as the IPv4 prefix to be used, if any, for a control network the ability to preserve the session directory; and an on/off switch for SDT3D support. | +| Hooks | Invokes the CORE Session Hooks window where scripts may be configured for a particular session state. The session states are defined in the [table](#session-states) below. The top of the window has a list of configured hooks, and buttons on the bottom left allow adding, editing, and removing hook scripts. The new or edit button will open a hook script editing window. A hook script is a shell script invoked on the host (not within a virtual node). | #### Session States | State | Description | |---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| definition | Used by the GUI to tell the backend to clear any state. | -| configuration | When the user presses the *Start* button, node, link, and other configuration data is sent to the backend. This state is also reached when the user customizes a service. | -| instantiation | After configuration data has been sent, just before the nodes are created. | -| runtime | All nodes and networks have been built and are running. (This is the same state at which the previously-named *global experiment script* was run.) | -| datacollect | The user has pressed the *Stop* button, but before services have been stopped and nodes have been shut down. This is a good time to collect log files and other data from the nodes. | -| shutdown | All nodes and networks have been shut down and destroyed. | +| Definition | Used by the GUI to tell the backend to clear any state. | +| Configuration | When the user presses the *Start* button, node, link, and other configuration data is sent to the backend. This state is also reached when the user customizes a service. | +| Instantiation | After configuration data has been sent, just before the nodes are created. | +| Runtime | All nodes and networks have been built and are running. (This is the same state at which the previously-named *global experiment script* was run.) | +| Datacollect | The user has pressed the *Stop* button, but before services have been stopped and nodes have been shut down. This is a good time to collect log files and other data from the nodes. | +| Shutdown | All nodes and networks have been shut down and destroyed. | ### Help Menu @@ -341,13 +314,13 @@ and options. CORE's emulated networks run in real time, so they can be connected to live physical networks. The RJ45 tool and the Tunnel tool help with connecting to -the real world. These tools are available from the *Link-layer nodes* menu. +the real world. These tools are available from the **Link-layer nodes** menu. When connecting two or more CORE emulations together, MAC address collisions should be avoided. CORE automatically assigns MAC addresses to interfaces when the emulation is started, starting with **00:00:00:aa:00:00** and incrementing the bottom byte. The starting byte should be changed on the second CORE machine -using the *MAC addresses...* option from the *Tools* menu. +using the **Tools->MAC Addresses** option the menu. ### RJ45 Tool @@ -360,8 +333,8 @@ connection. When the physical interface is assigned to CORE, it may not be used for anything else. Another consideration is that the computer or network that you are connecting to must be co-located with the CORE machine. -To place an RJ45 connection, click on the *Link-layer nodes* toolbar and select -the *RJ45 Tool* from the submenu. Click on the canvas near the node you want to +To place an RJ45 connection, click on the **Link-layer nodes** toolbar and select +the **RJ45 Tool** from the submenu. Click on the canvas near the node you want to connect to. This could be a router, hub, switch, or WLAN, for example. Now click on the *Link Tool* and draw a link between the RJ45 and the other node. The RJ45 node will display "UNASSIGNED". Double-click the RJ45 node to assign a @@ -509,11 +482,11 @@ the node linked to the RJ45 may have the address **10.0.1.1**. ### Wired Networks -Wired networks are created using the *Link Tool* to draw a link between two +Wired networks are created using the **Link Tool** to draw a link between two nodes. This automatically draws a red line representing an Ethernet link and creates new interfaces on network-layer nodes. -Double-click on the link to invoke the *link configuration* dialog box. Here +Double-click on the link to invoke the **link configuration** dialog box. Here you can change the Bandwidth, Delay, Loss, and Duplicate rate parameters for that link. You can also modify the color and width of the link, affecting its display. @@ -550,11 +523,10 @@ on platform. See the table below for a brief overview of wireless model types. To quickly build a wireless network, you can first place several router nodes onto the canvas. If you have the Quagga MDR software installed, it is -recommended that you use the *mdr* node type for reduced routing overhead. Next -choose the *wireless LAN* from the *Link-layer nodes* submenu. First set the +recommended that you use the **mdr** node type for reduced routing overhead. Next +choose the **WLAN** from the **Link-layer nodes** submenu. First set the desired WLAN parameters by double-clicking the cloud icon. Then you can link -all of the routers by right-clicking on the WLAN and choosing *Link to all -routers*. +all selected right-clicking on the WLAN and choosing **Link to Selected**. Linking a router to the WLAN causes a small antenna to appear, but no red link line is drawn. Routers can have multiple wireless links and both wireless and @@ -564,17 +536,16 @@ enables OSPFv3 with MANET extensions. This is a Boeing-developed extension to Quagga's OSPFv3 that reduces flooding overhead and optimizes the flooding procedure for mobile ad-hoc (MANET) networks. -The default configuration of the WLAN is set to use the basic range model, -using the *Basic* tab in the WLAN configuration dialog. Having this model +The default configuration of the WLAN is set to use the basic range model. Having this model selected causes **core-daemon** to calculate the distance between nodes based on screen pixels. A numeric range in screen pixels is set for the wireless -network using the *Range* slider. When two wireless nodes are within range of +network using the **Range** slider. When two wireless nodes are within range of each other, a green line is drawn between them and they are linked. Two wireless nodes that are farther than the range pixels apart are not linked. During Execute mode, users may move wireless nodes around by clicking and dragging them, and wireless links will be dynamically made or broken. -The *EMANE* tab lists available EMANE models to use for wireless networking. +The **EMANE Nodes** leverage available EMANE models to use for wireless networking. See the [EMANE](emane.md) chapter for details on using EMANE. ### Mobility Scripting @@ -604,7 +575,7 @@ bm NSFile -f sample When the Execute mode is started and one of the WLAN nodes has a mobility script, a mobility script window will appear. This window contains controls for starting, stopping, and resetting the running time for the mobility script. The -*loop* checkbox causes the script to play continuously. The *resolution* text +**loop** checkbox causes the script to play continuously. The **resolution** text box contains the number of milliseconds between each timer event; lower values cause the mobility to appear smoother but consumes greater CPU time. @@ -628,79 +599,28 @@ accurate. Examples mobility scripts (and their associated topology files) can be found in the **configs/** directory. -## Multiple Canvases +## Alerts -CORE supports multiple canvases for organizing emulated nodes. Nodes running on -different canvases may be linked together. +The alerts button is located in the bottom right-hand corner +of the status bar in the CORE GUI. This will change colors to indicate one or +more problems with the running emulation. Clicking on the alerts button will invoke the +alerts dialog. -To create a new canvas, choose *New* from the *Canvas* menu. A new canvas tab -appears in the bottom left corner. Clicking on a canvas tab switches to that -canvas. Double-click on one of the tabs to invoke the *Manage Canvases* dialog -box. Here, canvases may be renamed and reordered, and you can easily switch to -one of the canvases by selecting it. - -Each canvas maintains its own set of nodes and annotations. To link between -canvases, select a node and right-click on it, choose *Create link to*, choose -the target canvas from the list, and from that submenu the desired node. A -pseudo-link will be drawn, representing the link between the two nodes on -different canvases. Double-clicking on the label at the end of the arrow will -jump to the canvas that it links. - -## Check Emulation Light (CEL) - -The |cel| Check Emulation Light, or CEL, is located in the bottom right-hand corner -of the status bar in the CORE GUI. This is a yellow icon that indicates one or -more problems with the running emulation. Clicking on the CEL will invoke the -CEL dialog. - -The Check Emulation Light dialog contains a list of exceptions received from -the CORE daemon. An exception has a time, severity level, optional node number, -and source. When the CEL is blinking, this indicates one or more fatal -exceptions. An exception with a fatal severity level indicates that one or more +The alerts dialog contains a list of alerts received from +the CORE daemon. An alert has a time, severity level, optional node number, +and source. When the alerts button is red, this indicates one or more fatal +exceptions. An alert with a fatal severity level indicates that one or more of the basic pieces of emulation could not be created, such as failure to create a bridge or namespace, or the failure to launch EMANE processes for an EMANE-based network. -Clicking on an exception displays details for that -exception. If a node number is specified, that node is highlighted on the -canvas when the exception is selected. The exception source is a text string +Clicking on an alert displays details for that +exceptio. The exception source is a text string to help trace where the exception occurred; "service:UserDefined" for example, would appear for a failed validation command with the UserDefined service. -Buttons are available at the bottom of the dialog for clearing the exception -list and for viewing the CORE daemon and node log files. - -> **NOTE:** In batch mode, exceptions received from the CORE daemon are displayed on - the console. - -## Configuration Files - -Configurations are saved to **xml** or **.imn** topology files using -the *File* menu. You -can easily edit these files with a text editor. -Any time you edit the topology -file, you will need to stop the emulation if it were running and reload the -file. - -The **.imn** file format comes from IMUNES, and is -basically Tcl lists of nodes, links, etc. -Tabs and spacing in the topology files are important. The file starts by -listing every node, then links, annotations, canvases, and options. Each entity -has a block contained in braces. The first block is indented by four spaces. -Within the **network-config** block (and any *custom-*-config* block), the -indentation is one tab character. - -> **NOTE:** There are several topology examples included with CORE in - the **configs/** directory. - This directory can be found in **~/.core/configs**, or - installed to the filesystem - under **/usr[/local]/share/examples/configs**. - -> **NOTE:** When using the **.imn** file format, file paths for things like custom - icons may contain the special variables **$CORE_DATA_DIR** or **$CONFDIR** which - will be substituted with **/usr/share/core** or **~/.core/configs**. - -> **NOTE:** Feel free to edit the files directly using your favorite text editor. +A button is available at the bottom of the dialog for clearing the exception +list. ## Customizing your Topology's Look @@ -723,12 +643,3 @@ A background image for the canvas may be set using the *Wallpaper...* option from the *Canvas* menu. The image may be centered, tiled, or scaled to fit the canvas size. An existing terrain, map, or network diagram could be used as a background, for example, with CORE nodes drawn on top. - -## Preferences - -The *Preferences* Dialog can be accessed from the **Edit_Menu**. There are -numerous defaults that can be set with this dialog, which are stored in the -**~/.core/prefs.conf** preferences file. - - - diff --git a/docs/index.md b/docs/index.md index 2321fa54..e17a2e3b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,8 +23,7 @@ networking scenarios, security studies, and increasing the size of physical test | [Installation](install.md) | How to install CORE and its requirements | | [Architecture](architecture.md) | Overview of the architecture | | [Node Types](nodetypes.md) | Overview of node types supported within CORE | -| [Python GUI](pygui.md) | How to use the default python based GUI | -| [Legacy GUI (deprecated)](gui.md) | How to use the deprecated Tcl based GUI | +| [GUI](gui.md) | How to use the GUI | | [Python API](python.md) | Covers how to control core directly using python | | [gRPC API](grpc.md) | Covers how control core using gRPC | | [Distributed](distributed.md) | Details for running CORE across multiple servers | @@ -34,17 +33,3 @@ networking scenarios, security studies, and increasing the size of physical test | [EMANE](emane.md) | Overview of EMANE integration and integrating custom EMANE models | | [Performance](performance.md) | Notes on performance when using CORE | | [Developers Guide](devguide.md) | Overview on how to contribute to CORE | - -## Credits - -The CORE project was derived from the open source IMUNES project from the University of Zagreb in 2004. In 2006, -changes for CORE were released back to that project, some items of which were adopted. Marko Zec is the -primary developer from the University of Zagreb responsible for the IMUNES (GUI) and VirtNet (kernel) projects. Ana -Kukec and Miljenko Mikuc are known contributors. - -Jeff Ahrenholz has been the primary Boeing developer of CORE, and has written this manual. Tom Goff designed the -Python framework and has made significant contributions. Claudiu Danilov, Rod Santiago, Kevin Larson, Gary Pei, -Phil Spagnolo, and Ian Chakeres have contributed code to CORE. Dan Mackley helped develop the CORE API, originally to -interface with a simulator. Jae Kim and Tom Henderson have supervised the project and provided direction. - -Copyright (c) 2005-2020, the Boeing Company. diff --git a/docs/install.md b/docs/install.md index 2f6dbce3..715869fa 100644 --- a/docs/install.md +++ b/docs/install.md @@ -51,11 +51,6 @@ The following is a list of files that would be installed after running the autom * executable files * `/bin/{core-daemon, core-gui, vcmd, vnoded, etc}` -* tcl/tk gui files - * `/lib/core` - * `/share/core/icons` -* example imn files - * `/share/core/examples` * python files * poetry virtual env * `cd /daemon && poetry env info` @@ -77,15 +72,12 @@ After the installation complete it will have installed the following scripts. |---------------------|------------------------------------------------------------------------------| | core-cleanup | tool to help removed lingering core created containers, bridges, directories | | core-cli | tool to query, open xml files, and send commands using gRPC | -| core-daemon | runs the backed core server providing TLV and gRPC APIs | -| core-gui | runs the legacy tcl/tk based GUI | -| core-imn-to-xml | tool to help automate converting a .imn file to .xml format | +| core-daemon | runs the backed core server providing a gRPC API | +| core-gui | starts GUI | | core-manage | tool to add, remove, or check for services, models, and node types | -| core-pygui | runs the new python/tk based GUI | | core-python | provides a convenience for running the core python virtual environment | | core-route-monitor | tool to help monitor traffic across nodes and feed that to SDT | | core-service-update | tool to update automate modifying a legacy service to match current naming | -| coresendmsg | tool to send TLV API commands from command line | ## Upgrading from Older Release Please make sure to uninstall any previous installations of CORE cleanly @@ -237,7 +229,7 @@ sudo docker exec -it core core-gui ``` ## Running User Scripts -If you create your own python scripts to run CORE directly or using the gRPC/TLV +If you create your own python scripts to run CORE directly or using the gRPC APIs you will need to make sure you are running them within context of the installed virtual environment. To help support this CORE provides the `core-python` executable. This executable will allow you to enter CORE's python virtual diff --git a/docs/pygui.md b/docs/pygui.md deleted file mode 100644 index 1d495834..00000000 --- a/docs/pygui.md +++ /dev/null @@ -1,649 +0,0 @@ - -# (BETA) Python GUI - -* Table of Contents -{:toc} - -![](static/core-pygui.png) - -## Overview - -The GUI is used to draw nodes and network devices on a canvas, linking them -together to create an emulated network session. - -After pressing the start button, CORE will proceed through these phases, -staying in the **runtime** phase. After the session is stopped, CORE will -proceed to the **data collection** phase before tearing down the emulated -state. - -CORE can be customized to perform any action at each state. See the -**Hooks...** entry on the [Session Menu](#session-menu) for details about -when these session states are reached. - -## Prerequisites - -Beyond installing CORE, you must have the CORE daemon running. This is done -on the command line with either systemd or sysv. - -```shell -# systemd service -sudo systemctl daemon-reload -sudo systemctl start core-daemon - -# sysv service -sudo service core-daemon start - -# direct invocation -sudo core-daemon -``` - -## GUI Files - -> **NOTE:** Previously the BETA GUI placed files under ~/.coretk, this has been -> updated to be ~/.coregui. The prior config file named ~/.coretk/gui.yaml is -> also now known as ~/.coregui/config.yaml and has a slightly different format - -The GUI will create a directory in your home directory on first run called -~/.coregui. This directory will help layout various files that the GUI may use. - -* .coregui/ - * backgrounds/ - * place backgrounds used for display in the GUI - * custom_emane/ - * place to keep custom emane models to use with the core-daemon - * custom_services/ - * place to keep custom services to use with the core-daemon - * icons/ - * icons the GUI uses along with customs icons desired - * mobility/ - * place to keep custom mobility files - * scripts/ - * place to keep core related scripts - * xmls/ - * place to keep saved session xml files - * gui.log - * log file when running the gui, look here when issues occur for exceptions etc - * config.yaml - * configuration file used to save/load various gui related settings (custom nodes, layouts, addresses, etc) - -## Modes of Operation - -The CORE GUI has two primary modes of operation, **Edit** and **Execute** -modes. Running the GUI, by typing **core-pygui** with no options, starts in -Edit mode. Nodes are drawn on a blank canvas using the toolbar on the left -and configured from right-click menus or by double-clicking them. The GUI -does not need to be run as root. - -Once editing is complete, pressing the green **Start** button instantiates -the topology and enters Execute mode. In execute mode, -the user can interact with the running emulated machines by double-clicking or -right-clicking on them. The editing toolbar disappears and is replaced by an -execute toolbar, which provides tools while running the emulation. Pressing -the red **Stop** button will destroy the running emulation and return CORE -to Edit mode. - -Once the emulation is running, the GUI can be closed, and a prompt will appear -asking if the emulation should be terminated. The emulation may be left -running and the GUI can reconnect to an existing session at a later time. - -The GUI can be run as a normal user on Linux. - -The python GUI currently provides the following options on startup. - -```shell -usage: core-pygui [-h] [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-p] - -CORE Python GUI - -optional arguments: - -h, --help show this help message and exit - -l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --level {DEBUG,INFO,WARNING,ERROR,CRITICAL} - logging level - -p, --proxy enable proxy -``` - -## Toolbar - -The toolbar is a row of buttons that runs vertically along the left side of the -CORE GUI window. The toolbar changes depending on the mode of operation. - -### Editing Toolbar - -When CORE is in Edit mode (the default), the vertical Editing Toolbar exists on -the left side of the CORE window. Below are brief descriptions for each toolbar -item, starting from the top. Most of the tools are grouped into related -sub-menus, which appear when you click on their group icon. - -| Icon | Name | Description | -|------------------------------|----------------|----------------------------------------------------------------------------------------| -| ![](static/pygui/select.png) | Selection Tool | Tool for selecting, moving, configuring nodes. | -| ![](static/pygui/start.png) | Start Button | Starts Execute mode, instantiates the emulation. | -| ![](static/pygui/link.png) | Link | Allows network links to be drawn between two nodes by clicking and dragging the mouse. | - -### CORE Nodes - -These nodes will create a new node container and run associated services. - -| Icon | Name | Description | -|------------------------------|---------|------------------------------------------------------------------------------| -| ![](static/pygui/router.png) | Router | Runs Quagga OSPFv2 and OSPFv3 routing to forward packets. | -| ![](static/pygui/host.png) | Host | Emulated server machine having a default route, runs SSH server. | -| ![](static/pygui/pc.png) | PC | Basic emulated machine having a default route, runs no processes by default. | -| ![](static/pygui/mdr.png) | MDR | Runs Quagga OSPFv3 MDR routing for MANET-optimized routing. | -| ![](static/pygui/router.png) | PRouter | Physical router represents a real testbed machine. | - -### Network Nodes - -These nodes are mostly used to create a Linux bridge that serves the -purpose described below. - -| Icon | Name | Description | -|---------------------------------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| ![](static/pygui/hub.png) | Hub | Ethernet hub forwards incoming packets to every connected node. | -| ![](static/pygui/lanswitch.png) | Switch | Ethernet switch intelligently forwards incoming packets to attached hosts using an Ethernet address hash table. | -| ![](static/pygui/wlan.png) | Wireless LAN | When routers are connected to this WLAN node, they join a wireless network and an antenna is drawn instead of a connecting line; the WLAN node typically controls connectivity between attached wireless nodes based on the distance between them. | -| ![](static/pygui/rj45.png) | RJ45 | RJ45 Physical Interface Tool, emulated nodes can be linked to real physical interfaces; using this tool, real networks and devices can be physically connected to the live-running emulation. | -| ![](static/pygui/tunnel.png) | Tunnel | Tool allows connecting together more than one CORE emulation using GRE tunnels. | - -### Annotation Tools - -| Icon | Name | Description | -|---------------------------------|-----------|---------------------------------------------------------------------| -| ![](static/pygui/marker.png) | Marker | For drawing marks on the canvas. | -| ![](static/pygui/oval.png) | Oval | For drawing circles on the canvas that appear in the background. | -| ![](static/pygui/rectangle.png) | Rectangle | For drawing rectangles on the canvas that appear in the background. | -| ![](static/pygui/text.png) | Text | For placing text captions on the canvas. | - -### Execution Toolbar - -When the Start button is pressed, CORE switches to Execute mode, and the Edit -toolbar on the left of the CORE window is replaced with the Execution toolbar -Below are the items on this toolbar, starting from the top. - -| Icon | Name | Description | -|------------------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| ![](static/pygui/stop.png) | Stop Button | Stops Execute mode, terminates the emulation, returns CORE to edit mode. | -| ![](static/pygui/select.png) | Selection Tool | In Execute mode, the Selection Tool can be used for moving nodes around the canvas, and double-clicking on a node will open a shell window for that node; right-clicking on a node invokes a pop-up menu of run-time options for that node. | -| ![](static/pygui/marker.png) | Marker | For drawing freehand lines on the canvas, useful during demonstrations; markings are not saved. | -| ![](static/pygui/run.png) | Run Tool | This tool allows easily running a command on all or a subset of all nodes. A list box allows selecting any of the nodes. A text entry box allows entering any command. The command should return immediately, otherwise the display will block awaiting response. The *ping* command, for example, with no parameters, is not a good idea. The result of each command is displayed in a results box. The first occurrence of the special text "NODE" will be replaced with the node name. The command will not be attempted to run on nodes that are not routers, PCs, or hosts, even if they are selected. | - -## Menu - -The menubar runs along the top of the CORE GUI window and provides access to a -variety of features. Some of the menus are detachable, such as the *Widgets* -menu, by clicking the dashed line at the top. - -### File Menu - -The File menu contains options for manipulating the **.imn** Configuration -Files. Generally, these menu items should not be used in Execute mode. - -| Option | Description | -|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| New Session | This starts a new session with an empty canvas. | -| Save | Saves the current topology. If you have not yet specified a file name, the Save As dialog box is invoked. | -| Save As | Invokes the Save As dialog box for selecting a new **.xml** file for saving the current configuration in the XML file. | -| Open | Invokes the File Open dialog box for selecting a new XML file to open. | -| Recently used files | Above the Quit menu command is a list of recently use files, if any have been opened. You can clear this list in the Preferences dialog box. You can specify the number of files to keep in this list from the Preferences dialog. Click on one of the file names listed to open that configuration file. | -| Execute Python Script | Invokes a File Open dialog box for selecting a Python script to run and automatically connect to. After a selection is made, a Python Script Options dialog box is invoked to allow for command-line options to be added. The Python script must create a new CORE Session and add this session to the daemon's list of sessions in order for this to work. | -| Quit | The Quit command should be used to exit the CORE GUI. CORE may prompt for termination if you are currently in Execute mode. Preferences and the recently-used files list are saved. | - -### Edit Menu - -| Option | Description | -|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Preferences | Invokes the Preferences dialog box. | -| Custom Nodes | Custom node creation dialog box. | -| Undo | (Disabled) Attempts to undo the last edit in edit mode. | -| Redo | (Disabled) Attempts to redo an edit that has been undone. | -| Cut, Copy, Paste, Delete | Used to cut, copy, paste, and delete a selection. When nodes are pasted, their node numbers are automatically incremented, and existing links are preserved with new IP addresses assigned. Services and their customizations are copied to the new node, but care should be taken as node IP addresses have changed with possibly old addresses remaining in any custom service configurations. Annotations may also be copied and pasted. | - -### Canvas Menu - -The canvas menu provides commands related to the editing canvas. - -| Option | Description | -|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Size/scale | Invokes a Canvas Size and Scale dialog that allows configuring the canvas size, scale, and geographic reference point. The size controls allow changing the width and height of the current canvas, in pixels or meters. The scale allows specifying how many meters are equivalent to 100 pixels. The reference point controls specify the latitude, longitude, and altitude reference point used to convert between geographic and Cartesian coordinate systems. By clicking the *Save as default* option, all new canvases will be created with these properties. The default canvas size can also be changed in the Preferences dialog box. | -| Wallpaper | Used for setting the canvas background image. | - -### View Menu - -The View menu features items for toggling on and off their display on the canvas. - -| Option | Description | -|-----------------|-----------------------------------| -| Interface Names | Display interface names on links. | -| IPv4 Addresses | Display IPv4 addresses on links. | -| IPv6 Addresses | Display IPv6 addresses on links. | -| Node Labels | Display node names. | -| Link Labels | Display link labels. | -| Annotations | Display annotations. | -| Canvas Grid | Display the canvas grid. | - -### Tools Menu - -The tools menu lists different utility functions. - -| Option | Description | -|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Find | Display find dialog used for highlighting a node on the canvas. | -| Auto Grid | Automatically layout nodes in a grid. | -| IP addresses | Invokes the IP Addresses dialog box for configuring which IPv4/IPv6 prefixes are used when automatically addressing new interfaces. | -| MAC addresses | Invokes the MAC Addresses dialog box for configuring the starting number used as the lowest byte when generating each interface MAC address. This value should be changed when tunneling between CORE emulations to prevent MAC address conflicts. | - -### Widgets Menu - -Widgets are GUI elements that allow interaction with a running emulation. -Widgets typically automate the running of commands on emulated nodes to report -status information of some type and display this on screen. - -#### Periodic Widgets - -These Widgets are those available from the main *Widgets* menu. More than one -of these Widgets may be run concurrently. An event loop fires once every second -that the emulation is running. If one of these Widgets is enabled, its periodic -routine will be invoked at this time. Each Widget may have a configuration -dialog box which is also accessible from the *Widgets* menu. - -Here are some standard widgets: - -* **Adjacency** - displays router adjacency states for Quagga's OSPFv2 and OSPFv3 - routing protocols. A line is drawn from each router halfway to the router ID - of an adjacent router. The color of the line is based on the OSPF adjacency - state such as Two-way or Full. To learn about the different colors, see the - *Configure Adjacency...* menu item. The **vtysh** command is used to - dump OSPF neighbor information. - Only half of the line is drawn because each - router may be in a different adjacency state with respect to the other. -* **Throughput** - displays the kilobits-per-second throughput above each link, - using statistics gathered from the ng_pipe Netgraph node that implements each - link. If the throughput exceeds a certain threshold, the link will become - highlighted. For wireless nodes which broadcast data to all nodes in range, - the throughput rate is displayed next to the node and the node will become - circled if the threshold is exceeded. - -#### Observer Widgets - -These Widgets are available from the **Observer Widgets** submenu of the -**Widgets** menu, and from the Widgets Tool on the toolbar. Only one Observer Widget may -be used at a time. Mouse over a node while the session is running to pop up -an informational display about that node. - -Available Observer Widgets include IPv4 and IPv6 routing tables, socket -information, list of running processes, and OSPFv2/v3 neighbor information. - -Observer Widgets may be edited by the user and rearranged. Choosing -**Widgets->Observer Widgets->Edit Observers** from the Observer Widget menu will -invoke the Observer Widgets dialog. A list of Observer Widgets is displayed along -with up and down arrows for rearranging the list. Controls are available for -renaming each widget, for changing the command that is run during mouse over, and -for adding and deleting items from the list. Note that specified commands should -return immediately to avoid delays in the GUI display. Changes are saved to a -**config.yaml** file in the CORE configuration directory. - -### Session Menu - -The Session Menu has entries for starting, stopping, and managing sessions, -in addition to global options such as node types, comments, hooks, servers, -and options. - -| Option | Description | -|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Sessions | Invokes the CORE Sessions dialog box containing a list of active CORE sessions in the daemon. Basic session information such as name, node count, start time, and a thumbnail are displayed. This dialog allows connecting to different sessions, shutting them down, or starting a new session. | -| Servers | Invokes the CORE emulation servers dialog for configuring. | -| Options | Presents per-session options, such as the IPv4 prefix to be used, if any, for a control network the ability to preserve the session directory; and an on/off switch for SDT3D support. | -| Hooks | Invokes the CORE Session Hooks window where scripts may be configured for a particular session state. The session states are defined in the [table](#session-states) below. The top of the window has a list of configured hooks, and buttons on the bottom left allow adding, editing, and removing hook scripts. The new or edit button will open a hook script editing window. A hook script is a shell script invoked on the host (not within a virtual node). | - -#### Session States - -| State | Description | -|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Definition | Used by the GUI to tell the backend to clear any state. | -| Configuration | When the user presses the *Start* button, node, link, and other configuration data is sent to the backend. This state is also reached when the user customizes a service. | -| Instantiation | After configuration data has been sent, just before the nodes are created. | -| Runtime | All nodes and networks have been built and are running. (This is the same state at which the previously-named *global experiment script* was run.) | -| Datacollect | The user has pressed the *Stop* button, but before services have been stopped and nodes have been shut down. This is a good time to collect log files and other data from the nodes. | -| Shutdown | All nodes and networks have been shut down and destroyed. | - -### Help Menu - -| Option | Description | -|--------------------------|---------------------------------------------------------------| -| CORE Github (www) | Link to the CORE GitHub page. | -| CORE Documentation (www) | Lnk to the CORE Documentation page. | -| About | Invokes the About dialog box for viewing version information. | - -## Connecting with Physical Networks - -CORE's emulated networks run in real time, so they can be connected to live -physical networks. The RJ45 tool and the Tunnel tool help with connecting to -the real world. These tools are available from the **Link-layer nodes** menu. - -When connecting two or more CORE emulations together, MAC address collisions -should be avoided. CORE automatically assigns MAC addresses to interfaces when -the emulation is started, starting with **00:00:00:aa:00:00** and incrementing -the bottom byte. The starting byte should be changed on the second CORE machine -using the **Tools->MAC Addresses** option the menu. - -### RJ45 Tool - -The RJ45 node in CORE represents a physical interface on the real CORE machine. -Any real-world network device can be connected to the interface and communicate -with the CORE nodes in real time. - -The main drawback is that one physical interface is required for each -connection. When the physical interface is assigned to CORE, it may not be used -for anything else. Another consideration is that the computer or network that -you are connecting to must be co-located with the CORE machine. - -To place an RJ45 connection, click on the **Link-layer nodes** toolbar and select -the **RJ45 Tool** from the submenu. Click on the canvas near the node you want to -connect to. This could be a router, hub, switch, or WLAN, for example. Now -click on the *Link Tool* and draw a link between the RJ45 and the other node. -The RJ45 node will display "UNASSIGNED". Double-click the RJ45 node to assign a -physical interface. A list of available interfaces will be shown, and one may -be selected by double-clicking its name in the list, or an interface name may -be entered into the text box. - -> **NOTE:** When you press the Start button to instantiate your topology, the - interface assigned to the RJ45 will be connected to the CORE topology. The - interface can no longer be used by the system. - -Multiple RJ45 nodes can be used within CORE and assigned to the same physical -interface if 802.1x VLANs are used. This allows for more RJ45 nodes than -physical ports are available, but the (e.g. switching) hardware connected to -the physical port must support the VLAN tagging, and the available bandwidth -will be shared. - -You need to create separate VLAN virtual devices on the Linux host, -and then assign these devices to RJ45 nodes inside of CORE. The VLANning is -actually performed outside of CORE, so when the CORE emulated node receives a -packet, the VLAN tag will already be removed. - -Here are example commands for creating VLAN devices under Linux: - -```shell -ip link add link eth0 name eth0.1 type vlan id 1 -ip link add link eth0 name eth0.2 type vlan id 2 -ip link add link eth0 name eth0.3 type vlan id 3 -``` - -### Tunnel Tool - -The tunnel tool builds GRE tunnels between CORE emulations or other hosts. -Tunneling can be helpful when the number of physical interfaces is limited or -when the peer is located on a different network. Also a physical interface does -not need to be dedicated to CORE as with the RJ45 tool. - -The peer GRE tunnel endpoint may be another CORE machine or another -host that supports GRE tunneling. When placing a Tunnel node, initially -the node will display "UNASSIGNED". This text should be replaced with the IP -address of the tunnel peer. This is the IP address of the other CORE machine or -physical machine, not an IP address of another virtual node. - -> **NOTE:** Be aware of possible MTU (Maximum Transmission Unit) issues with GRE devices. The *gretap* device - has an interface MTU of 1,458 bytes; when joined to a Linux bridge, the - bridge's MTU - becomes 1,458 bytes. The Linux bridge will not perform fragmentation for - large packets if other bridge ports have a higher MTU such as 1,500 bytes. - -The GRE key is used to identify flows with GRE tunneling. This allows multiple -GRE tunnels to exist between that same pair of tunnel peers. A unique number -should be used when multiple tunnels are used with the same peer. When -configuring the peer side of the tunnel, ensure that the matching keys are -used. - -Here are example commands for building the other end of a tunnel on a Linux -machine. In this example, a router in CORE has the virtual address -**10.0.0.1/24** and the CORE host machine has the (real) address -**198.51.100.34/24**. The Linux box -that will connect with the CORE machine is reachable over the (real) network -at **198.51.100.76/24**. -The emulated router is linked with the Tunnel Node. In the -Tunnel Node configuration dialog, the address **198.51.100.76** is entered, with -the key set to **1**. The gretap interface on the Linux box will be assigned -an address from the subnet of the virtual router node, -**10.0.0.2/24**. - -```shell -# these commands are run on the tunnel peer -sudo ip link add gt0 type gretap remote 198.51.100.34 local 198.51.100.76 key 1 -sudo ip addr add 10.0.0.2/24 dev gt0 -sudo ip link set dev gt0 up -``` - -Now the virtual router should be able to ping the Linux machine: - -```shell -# from the CORE router node -ping 10.0.0.2 -``` - -And the Linux machine should be able to ping inside the CORE emulation: - -```shell -# from the tunnel peer -ping 10.0.0.1 -``` - -To debug this configuration, **tcpdump** can be run on the gretap devices, or -on the physical interfaces on the CORE or Linux machines. Make sure that a -firewall is not blocking the GRE traffic. - -### Communicating with the Host Machine - -The host machine that runs the CORE GUI and/or daemon is not necessarily -accessible from a node. Running an X11 application on a node, for example, -requires some channel of communication for the application to connect with -the X server for graphical display. There are several different ways to -connect from the node to the host and vice versa. - -#### Control Network - -The quickest way to connect with the host machine through the primary control -network. - -With a control network, the host can launch an X11 application on a node. -To run an X11 application on the node, the **SSH** service can be enabled on -the node, and SSH with X11 forwarding can be used from the host to the node. - -```shell -# SSH from host to node n5 to run an X11 app -ssh -X 172.16.0.5 xclock -``` - -Note that the **coresendmsg** utility can be used for a node to send -messages to the CORE daemon running on the host (if the **listenaddr = 0.0.0.0** -is set in the **/etc/core/core.conf** file) to interact with the running -emulation. For example, a node may move itself or other nodes, or change -its icon based on some node state. - -#### Other Methods - -There are still other ways to connect a host with a node. The RJ45 Tool -can be used in conjunction with a dummy interface to access a node: - -```shell -sudo modprobe dummy numdummies=1 -``` - -A **dummy0** interface should appear on the host. Use the RJ45 tool assigned -to **dummy0**, and link this to a node in your scenario. After starting the -session, configure an address on the host. - -```shell -sudo ip link show type bridge -# determine bridge name from the above command -# assign an IP address on the same network as the linked node -sudo ip addr add 10.0.1.2/24 dev b.48304.34658 -``` - -In the example shown above, the host will have the address **10.0.1.2** and -the node linked to the RJ45 may have the address **10.0.1.1**. - -## Building Sample Networks - -### Wired Networks - -Wired networks are created using the **Link Tool** to draw a link between two -nodes. This automatically draws a red line representing an Ethernet link and -creates new interfaces on network-layer nodes. - -Double-click on the link to invoke the **link configuration** dialog box. Here -you can change the Bandwidth, Delay, Loss, and Duplicate -rate parameters for that link. You can also modify the color and width of the -link, affecting its display. - -Link-layer nodes are provided for modeling wired networks. These do not create -a separate network stack when instantiated, but are implemented using Linux bridging. -These are the hub, switch, and wireless LAN nodes. The hub copies each packet from -the incoming link to every connected link, while the switch behaves more like an -Ethernet switch and keeps track of the Ethernet address of the connected peer, -forwarding unicast traffic only to the appropriate ports. - -The wireless LAN (WLAN) is covered in the next section. - -### Wireless Networks - -The wireless LAN node allows you to build wireless networks where moving nodes -around affects the connectivity between them. Connection between a pair of nodes is stronger -when the nodes are closer while connection is weaker when the nodes are further away. -The wireless LAN, or WLAN, node appears as a small cloud. The WLAN offers -several levels of wireless emulation fidelity, depending on your modeling needs. - -The WLAN tool can be extended with plug-ins for different levels of wireless -fidelity. The basic on/off range is the default setting available on all -platforms. Other plug-ins offer higher fidelity at the expense of greater -complexity and CPU usage. The availability of certain plug-ins varies depending -on platform. See the table below for a brief overview of wireless model types. - - -| Model | Type | Supported Platform(s) | Fidelity | Description | -|-------|---------|-----------------------|----------|-------------------------------------------------------------------------------| -| Basic | on/off | Linux | Low | Ethernet bridging with nftables | -| EMANE | Plug-in | Linux | High | TAP device connected to EMANE emulator with pluggable MAC and PHY radio types | - -To quickly build a wireless network, you can first place several router nodes -onto the canvas. If you have the -Quagga MDR software installed, it is -recommended that you use the **mdr** node type for reduced routing overhead. Next -choose the **WLAN** from the **Link-layer nodes** submenu. First set the -desired WLAN parameters by double-clicking the cloud icon. Then you can link -all selected right-clicking on the WLAN and choosing **Link to Selected**. - -Linking a router to the WLAN causes a small antenna to appear, but no red link -line is drawn. Routers can have multiple wireless links and both wireless and -wired links (however, you will need to manually configure route -redistribution.) The mdr node type will generate a routing configuration that -enables OSPFv3 with MANET extensions. This is a Boeing-developed extension to -Quagga's OSPFv3 that reduces flooding overhead and optimizes the flooding -procedure for mobile ad-hoc (MANET) networks. - -The default configuration of the WLAN is set to use the basic range model. Having this model -selected causes **core-daemon** to calculate the distance between nodes based -on screen pixels. A numeric range in screen pixels is set for the wireless -network using the **Range** slider. When two wireless nodes are within range of -each other, a green line is drawn between them and they are linked. Two -wireless nodes that are farther than the range pixels apart are not linked. -During Execute mode, users may move wireless nodes around by clicking and -dragging them, and wireless links will be dynamically made or broken. - -The **EMANE Nodes** leverage available EMANE models to use for wireless networking. -See the [EMANE](emane.md) chapter for details on using EMANE. - -### Mobility Scripting - -CORE has a few ways to script mobility. - -| Option | Description | -|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| ns-2 script | The script specifies either absolute positions or waypoints with a velocity. Locations are given with Cartesian coordinates. | -| CORE API | An external entity can move nodes by sending CORE API Node messages with updated X,Y coordinates; the **coresendmsg** utility allows a shell script to generate these messages. | -| EMANE events | See [EMANE](emane.md) for details on using EMANE scripts to move nodes around. Location information is typically given as latitude, longitude, and altitude. | - -For the first method, you can create a mobility script using a text -editor, or using a tool such as [BonnMotion](http://net.cs.uni-bonn.de/wg/cs/applications/bonnmotion/), and associate the script with one of the wireless -using the WLAN configuration dialog box. Click the *ns-2 mobility script...* -button, and set the *mobility script file* field in the resulting *ns2script* -configuration dialog. - -Here is an example for creating a BonnMotion script for 10 nodes: - -```shell -bm -f sample RandomWaypoint -n 10 -d 60 -x 1000 -y 750 -bm NSFile -f sample -# use the resulting 'sample.ns_movements' file in CORE -``` - -When the Execute mode is started and one of the WLAN nodes has a mobility -script, a mobility script window will appear. This window contains controls for -starting, stopping, and resetting the running time for the mobility script. The -**loop** checkbox causes the script to play continuously. The **resolution** text -box contains the number of milliseconds between each timer event; lower values -cause the mobility to appear smoother but consumes greater CPU time. - -The format of an ns-2 mobility script looks like: - -```shell -# nodes: 3, max time: 35.000000, max x: 600.00, max y: 600.00 -$node_(2) set X_ 144.0 -$node_(2) set Y_ 240.0 -$node_(2) set Z_ 0.00 -$ns_ at 1.00 "$node_(2) setdest 130.0 280.0 15.0" -``` - -The first three lines set an initial position for node 2. The last line in the -above example causes node 2 to move towards the destination **(130, 280)** at -speed **15**. All units are screen coordinates, with speed in units per second. -The total script time is learned after all nodes have reached their waypoints. -Initially, the time slider in the mobility script dialog will not be -accurate. - -Examples mobility scripts (and their associated topology files) can be found -in the **configs/** directory. - -## Alerts - -The alerts button is located in the bottom right-hand corner -of the status bar in the CORE GUI. This will change colors to indicate one or -more problems with the running emulation. Clicking on the alerts button will invoke the -alerts dialog. - -The alerts dialog contains a list of alerts received from -the CORE daemon. An alert has a time, severity level, optional node number, -and source. When the alerts button is red, this indicates one or more fatal -exceptions. An alert with a fatal severity level indicates that one or more -of the basic pieces of emulation could not be created, such as failure to -create a bridge or namespace, or the failure to launch EMANE processes for an -EMANE-based network. - -Clicking on an alert displays details for that -exceptio. The exception source is a text string -to help trace where the exception occurred; "service:UserDefined" for example, -would appear for a failed validation command with the UserDefined service. - -A button is available at the bottom of the dialog for clearing the exception -list. - -## Customizing your Topology's Look - -Several annotation tools are provided for changing the way your topology is -presented. Captions may be added with the Text tool. Ovals and rectangles may -be drawn in the background, helpful for visually grouping nodes together. - -During live demonstrations the marker tool may be helpful for drawing temporary -annotations on the canvas that may be quickly erased. A size and color palette -appears at the bottom of the toolbar when the marker tool is selected. Markings -are only temporary and are not saved in the topology file. - -The basic node icons can be replaced with a custom image of your choice. Icons -appear best when they use the GIF or PNG format with a transparent background. -To change a node's icon, double-click the node to invoke its configuration -dialog and click on the button to the right of the node name that shows the -node's current icon. - -A background image for the canvas may be set using the *Wallpaper...* option -from the *Canvas* menu. The image may be centered, tiled, or scaled to fit the -canvas size. An existing terrain, map, or network diagram could be used as a -background, for example, with CORE nodes drawn on top. diff --git a/docs/services.md b/docs/services.md index f92e5df1..7ff50c0e 100644 --- a/docs/services.md +++ b/docs/services.md @@ -63,13 +63,6 @@ toolbar, or choose *Node types...* from the *Session* menu. Note that any new services selected are not applied to existing nodes if the nodes have been customized. -The node types are saved in a **~/.core/nodes.conf** file, not with the -**.imn** file. Keep this in mind when changing the default services for -existing node types; it may be better to simply create a new node type. It is -recommended that you do not change the default built-in node types. The -**nodes.conf** file can be copied between CORE machines to save your custom -types. - ## Customizing a Service A service can be fully customized for a particular node. From the node's @@ -151,11 +144,11 @@ ideas for a service before adding a new service type. defines one or more classes to be imported. You can create multiple Python files that will be imported. -2. Put these files in a directory such as /home/username/.core/myservices - Note that the last component of this directory name **myservices** should not - be named something like **services** which conflicts with an existing module. +2. Put these files in a directory such as `/home//.coregui/custom_services` + Note that the last component of this directory name **custom_services** should not + be named the same as any python module, due to naming conflicts. -3. Add a **custom_services_dir = /home/username/.core/myservices** entry to the +3. Add a **custom_services_dir = `/home//.coregui/custom_services`** entry to the /etc/core/core.conf file. **NOTE:** @@ -165,7 +158,7 @@ ideas for a service before adding a new service type. or **services**. 4. Restart the CORE daemon (core-daemon). Any import errors (Python syntax) - should be displayed in the /var/log/core-daemon.log log file (or on screen). + should be displayed in the daemon output. 5. Start using your custom service on your nodes. You can create a new node type that uses your service, or change the default services for an existing diff --git a/docs/static/core-pygui.png b/docs/static/core-gui.png similarity index 100% rename from docs/static/core-pygui.png rename to docs/static/core-gui.png diff --git a/docs/static/core_screenshot.png b/docs/static/core_screenshot.png deleted file mode 100644 index 410754e969d46512d567698f04711c2ef988e65c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 771398 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

T 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

lDiKESqyRxu#yG>Bac<5!=;+`IxG*ZefYlhE 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

}^pM=B(+$!U7(8 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

yYOp{DGxe{i( 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

66tnZISX)0%7x3$JalV8npFU3D`po$cu5=-N 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 z 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 GNAm$yNg&Vu#}4s?B;C)rN!G3C!RAmwS= zE;?|UK$OdPIjjCXXyxe$?oJc9{++<}uLQ2OG(7{W5}8h0AbzhXEi3z8JN}KbzGeZ} z8FR;pC>4uVDeGzJkxg~ozJFC;Yi}W5t6dgnCYJkBSrxcZY zr+Z%v^tNd6g5@eA?uC_7;%4@Vbx7H8L%U5furY3hD{+TWKDhg;FwH(wIq58HTYFM&PwKUlRY;sdLBU@u&LYzWeXN z@qoRs6vs=sEk8uAZYiYeUKcL>p##+&IWQN*AeF$vNP~737AmOI6CmpebW_D^_u3HP zlQP>R@00jc=}wz&vM zFN9Be8GQ5=IF(q4FQ+fTqmMm-K9BXoij~Vy+svSDKyHIxM38P4v}%gNoK0l-%%No{ znMEag${?!Q-f;P_mR+?t!8K99m8auOEe8W8Pj4pR<&3MH_ML!jc?KL6w490*6jT~S z&?{LVk2FgP9S;*s1yQgT>G1B6H}Kq^{&-~l!x-iM2{wkW#Id+Nv>*Rp_Rc#@j_OML z&)Noq!y1ee&Neo9F*XihG6rJ|m}tP{oHHVbCM-Vu! z*Wp`x-|w7rZ}s#D34{>Aw*I(J_jIVPuCA%Nzk1Jk-<2>$^Q27GnDC1!k>rNv38*rp z=2k98v16rxY?(VBFD_pWlb6A%0523T#8~sF=zovF&y}vk3(JUb z1&0w#<_KIc^tcIloKem!twx2T5aC+87!%EAZmJ$v>5bH?osp5MB5tx=X~R0EC!l(H zSNfjAbB-r)@cjo#4(sRVe@>!`s!|0AHCZ!mvxY0Mq0$igBi2pVZ0`vs6>w4_u;r8j5SVGC$IaW<^$n4S&~4?G(-1*4RHv zb!1JoE-jX_X$`LiBr6x|T)9}l%D+QLLm8R4d_ln2hHBr)%_!cyeBRbp9qVM2Xmi}s zbDZNk@J|4)A9QHV2G@r&rNY-EHR#R6%FHUNmP|ftNP}qRH9M%OhGHtfIR{$R2x;fv z>}VVHoK@U{xsO$PS=*~rDR7I0MvWLOMO*Cxs|rzf1PDo* z#MjaZGtus*0|qU(*&*-Y5pHoI!lh6xbV6x%O8ByXYflJ`gE0yBW=G#yaGfoi-3O@e zJ*2){p!#;el~1(Xdv)|NMr3+5?w+{3fBpJySS-0X?X(j`shuG(z44|iaPNb+VSH_e^wstZ z*J9DL^Kr&6ekz7ceWUdRt&4Ec#pmF=M;(E)&iN^7968e8$%^Za{jTqw(mI=^`bKcw z4PafH^|}nW*3q)su$~=pw+>5I=_cCd>(+PC_ie)D>NLT8T#Sj{dc<~b7|_b)$K7^J z(aG!2hkqS^`^>@k@1J}R({v&mqVFW&`cDF_yEUfXI0p7`3=*_W5xD-1!1cEbuA8#K z^)1Ha?3kkW-EhmLqQtfhxV4%aei!0y_CB;Kr)8f~N3$G(2k3Yt<-cPo$>kjwkBFJm z=u87WUx&8di1fdP>3kR<|I$aGGArIk5HONX$L&!CD6ajTQY z8(*K4(KB6-Mut`bxR#+1dS^ICwu!c5jKI-Hkm*68bs5gR^cVQfQQwyG-&4*wfuQvX z#5$`bGK@i#{Uy4F8?kZw1V%UZNOhEld+TUo$8Z}b=xXTaNIHTRdOb&s)$SBr-2$#D z8fhIxmg;pOP9xS6q{(FvCBY=}{jCJ4?I?6Hyb{DZTafQCB9k$vMy0u^Bpa? z_sKk5f7@etWWjRu3=E-nvJ0)FDFW9}#tdoifvcC68$iQw2z5ijjH;*{f?d+v$t9r- ztK9#|7wB2#k<4(O|LFc!etlA}7sFkG0I;5oqzsj^UZp0~({EQxbENixB3osFYRK^QLvE$N6aa#>5 zwW^xl_u|XTQ0nHg*?c(a$|Nc!w|o`KeYtos3taDc{1%DKDKO^~yjDvVx&h%Y=dF^Q zQf?vR$GG=5P4F7iAa9sfvAWEq%r>ot8fBk``Hoq;+A6SAhCyF?^iX_!-p8=Q` z_ZTwp*a)KiwUuy333{Ry>FZ|YUx7=30HwGJ>(b+l8IuN8BhQmdl4}UQ90c-3{$;qf z;4*x7;dgMrtslif_kIeOK)U5Ja zq(qoLH%#CcWLIK>>S(U?zRm&HAVH?DK%n0mGn|77Orx}p(N(g2q(79)ulZsD!Cy6h zrx-0Ov{Dq+ns5o6;R;b)?SXPpT)9-ZDxNFgS{csO;94x}#-+ME%vo@4)<#RJr*;-T zja=L8`#cy_jqS-Qy;4eNRdciM&1F#L3I+yyV;#8k*Vx7;4Xj2fGcU{7-n?CTA5z9* zvw6DD(Y$MSz%`Xhy_ewHp}}>D0@qFdoZx!%8l6+4UEp)U^uTYing)dBU;y z<;U=?BfcS~1nevw>+|D@<&WXI%g=-Bj;ryz%g;sbCqIEx2ws0jw|~9hER0?JODw$M zGTeImwP@;y;5WaY6mT_SZ?eJF;fEf%+aVJh-E{j+i$;4f$Ml93X5LE zkAD1pq-ny*?;jjYql94gyz_pJ#wH(uYdfyG`eIym)vwUjm%y5>eTdb&@YsU;@awBC z6mupvaN&Mij&P}Mbm00MFU55?T#9J25*xO5Xpnpl!F6pmv>M==dRq#ssH|Dw%E~F1 z`i{+TA8WIe2CpY*-SX-Lwrm}eJlyHEExMQWt>E?T0joeO{XI^{wHZ2@Nj~uBK8-(~ za5N^GDlxQfFP8?t>(Cl~PoZ^Z;M%*Xc8|c72dkEYy2QBu{e;%Zw+F4NWI4E#EY^sW z3=fVa&^r>AoZo>Nb`Xw8N$|*2EiI=WeWSH#?~95G>kgNrp)(*xOk6%ZFxezPYx5PM zXS@aNgZ0u%(?8LU&A*vK7ab$&dIJKktpr&;lL_<@xV8)@2pWR~NNA02nxbt*@c%VHTy7-Sd{QyLUgJ?>e6)exKP z@#r#Jx7<&4^WQG|d^>#>%^7HYVg&4t`XtJNDHMAfX@c5Hu-b}Mtibx(Q0T3PJ=u=l z)mzXoxRwB502RJIl)HLR=IMYp-iqeIezcFa5FAGc47tbEyH}uBfk%W zYwKVgEUrofVzjJAH$3T5f~`Es%9KctKmndI&&Ry-J8;Bf-@+je9*m=&`VKBH_?1B4 za_2Kr;wnzNI+{fK1nGUt^Ow_Y9&B_@+gfRuZ(%Efg{e{0xq zLhjV1&^qde%cdDz4HGIJQbwIF&%kP>HZWpnU=>Vdz!KcVigD_aD6Sw>J!-M?uVEb;S(;?3~Nz{TG)Qw~fJ z%iC3YUVSP%v|5)gi>t1GRi^(^m01_+Y|?yj!sW7Ko1v(4pKXM;UsUz9^6M)@w4MRl zt_-0O23K01Z8=;qlR&E_RDwz$fp(bIH>d!zn)VYbK_}`bgEq1hqd3_(uvePSy%m zbF~V;N?p{@<>j*fL<=)Yt6^lt-`%Zab$CDETj{CQebt7ttDKxyX;ZVj%ta6GSvF#T z7@~{0oLJUHMdmEoO~v)S2UpL(0=V9g1+F^`0?%lV6EPZmYXEGv`kLuOrPm7BW`VBp zIs+Xa71Wlk5(bnNC)oT5E|%Y z6KQe6TUQN#g9V{xg4C8Ocv~vrqg(Em4YyPy+FT{h!wk2HPCwiPuAydSM#23p&4Xcd z>6}#Vb#0qauEOsrp#Gac>iY(&I}FKZrIVv0S&r-OxB_QibOv53T8w6zj7jz@y{0Ny zh@YJBL)?7lm2igXB<9N}7(5?$KX4-&dIH!w9E0!4d+@XWIvmdsyiR}ULulLYBe?XC zgHdtV*RamC65BToVC(B+*!t=)w!Nyr)#)k`2V%Zmx4s)q&3j+l2y*f@~RLX{@*L8@|jp|QL?E+rkrpn6q3G~M4IJ3s`0{-78KaRg1`WgI@;EPL! zXHA&i9bnzN&`PjJqklS1x3TvOTHg`4PVRd2PrlFKI`Q_wb=QM|H6$+7s*HHnHMnym ztN}JH{jKZ{&CxbIG4#f5XzEE4zywh3E<|mc4UepoHan5O~*OTepROP&MJ|>`KuoM8Lb8OpS8k>GM zgJ{JnO9#&J;7^Lv>&CuZWO!QkngUeiFb;Cy$i{1 z0{NZU?$AjjS4 zK36_ZG1MArWP(kdxDt(18febM;L3goj7doMfYSPh8mmQd zb%e{{idrN;lyh9|I@8pyV}K0TUNL;qJ)+`HtMg&!SKfh7KXed2e9wom|K0oJdyBt| z0`3(JsXkT7NUc+Dz{W75b@*b1Q7SCGrnF4{f3PK0KB<(06F?bGxm;eHZ+lVov=U$y z5x6l>@xEfxW=bmGwpeGoYDf(i>;QNL;`A)NudMFUcjfQNfXmy-#*WL6irX;0C1NigWq z??T_%l{8CUtUXM>N2pw4cBY5olg6@lS?&EAc|1Ty64{qn)^C z%dzG2Xr0(Cn%C?3l~3ztm| zY?akeTEo((YL%W!g!ZR{+U2FCz5>rb#=TQ9Agf z2{t?Yas@cv?o}nhEgXwulW3fGs;2FGZy*2g7R{Fte=#BkNjVw&dXAGfu|&M;wOB z{_ER#`O^ns>qkF||NG+S@eg|JkBc6{w&_l6+dhJ=+lK{IFTCh1xILxPi^*y%1FceI z`?2`xhsAApYPwajUe7-JXIQ#)0nR%6bewYXad_at+eN8;jevM$v;nu=auu$<_7W^u za6bX@NjU$)vye}~yXm!IOmFByfc|%`y5?e>e#S{Syyvd)S%8(ZHeg*7`n zb?GWYm%o7DoqaO>E`cni^@FOiDo`EBJg%UXGpqZv!IgVVcQW=CwC*vu{@Xz7 zTZ}1=cH_R%07j;h=pRc++|4inYP`t{ySE$`PZ=6ILbRP5qzAUX-H);Lz1Z@bb?6#v zCTNWjphnR?mPFr79ok1C1hHN;_Il-3dQo*hYFePuo7IQPrL0zg+6FFHrE_X)e*)`X z9jA3@MMzAD%!qWVzRiU0{ba>)4#4Wc@T+bW2&V{8V+5`lKxAdH+oQ^hyBTZ~2(+eY zq8mk7I7TqhfK}cOmmHt{AOs+}hIqb_)2Rj|bfAd>lFYQxLt zi8|kR8jiiGax8T%#*qt;z*ipo54FTLR_HQi1B?Y&1G(D#Ntryc!Yvnca-P{U zaQ)tU1g=B>)Zlsp>P7;yO6d;pDfheVb5zz@bEcZP{jWO?0oED;OCC{yR0|Reo2?33 z8CVnTe8td@rmi4T&2EHJH4;+HnXAzzHe5;~P0ulGGPH_8Q>#OORPtbDRMBTuz(>&P zZ7Zh}fk{e`1DrEUkR9n@Qzwrou8~$3Qgo8y5-2W>>gK%Fu?RZGqG+Ai2dVE0q`r@! zy5r!h-xa=GJhSQvJWGSkMV`-Jh`j2TWD=nwfTGf$#1{7)onvyXLa4q<_LttNq~wUs zZ0W@GrXF?- zxX6H39z6l1d;N33wU)p&(On~bt9(99(>c1SCx)p_gBV!bO6OpjC$w5J&bb1vTt3_H z+bOtamfNLDhq>342g7TaK0nzTR3=b;ypHsF-JE$EAh?UdO7L17NTa~hLZcl8?oQ;p zT4|!*gu1>_jBMIY@VbFs*G@o2uOX-{bTts%*2CA(fLKRZVsQ+3mCt5S*KjJ}E&ZuZ z0!md<%+DpYddli5mr^sV@-6qavbt)3DwoWr2mKkaWhiAePMI?)SY>GA(&1FU+QtmA zL9MvPy7_{;lc3Ko7gqVPK#K!`1`EL%&2^HMh&K38iN#$52%!F0!^H z0YJJ`83J){r#7+))!T5t>2{p6{0w~Up|9Ye2R?v&x?7FJxP$~ zqe;9gN0d!o#!ID7;VT+k=PkU0=4Li&_3|Z52-jKUx8%Rs9Xilh1s@Hy9bE_zOh-E$ znG#{{@#XK&raa>8N<+$T#j!Ofqhj)Sw&n?Z@qsVk(iIn=Jdz_2qLjX}jH#8Ez}%fE zC&(&;FKLI}R{~$E0v=v|ok`$N#p@^qnZb!OZy%_<6W>{II6ivY{`l1WpTx<}A1}_q zoYPtv%FASq8YRGNp2h2^N{({`rquFP*)Cr!sL~~;Moue(lj@07u{8{iZ1%(EO$<+l zvdHh_*Ksc^gEcGX7VQSi&x^~gR{V_8Vj~Nce_JEwhhN7oxD3HY|7f*#)-@cQYmz0I z@@)BhzEBV|(OjIqpN~M(U5pxkg@CI&T1DHo5}s7G+Q#%ftfIU!&~txood|s_(g6mnSpanziDrl;0d#Pswo| z*axofUa9b~f7V3l4W+$v`%?`E;9a^7Yr`f(VGR&mMw(TWO@yx~(%=kMWxT{dODDw6 zko3lcYpwLpV4?$y4e5>u+K21WGMJ{sQ-+hy0gKmYRBr-?3hW) zV@9cP^LQj<;v^AC9RD*$`{YPi_Lbggf>#2s8G@truMUba(#F>aI0-g4uj#jFucI@x?2TR6xTO!gw_#1Ch9A&ZQix`-;W=N|2g98*mnQb$~Bmcn05-Fu^q@(3Izo^-st3dB$fUZzcNEv~+XL4RGPF*M+@ zSiw%CZ>$c!m>IP#K8d{<8cU*w-rGQ6*49tI-DI=$y0-MyqHVZNpp{44a7>gi9*qQD zQYPGO^r3pR;yOF{B4DCdfgQi5j=-|9J17pf4Fr^21{>wP&R(yA!9LGy?2J}Wvq4x) znYy`;lMR`i(nFi*b0ga0r$NB0*F}t^dYlB^Tt4g;c#U+%X#$);IrqJK*jcz$`d#xp zjVSfk(Yg;~>ebiLG`tp7@otp(+G!%+iXwLl$^t2ZizwnW7l}(xEq!*k@ts)t<AdhnY#{K;?PyNeFTQs^dh z?!^SJ#ZsQh>ZY64gL_=R_RTK~xIVo29wge8y2@_SEKIPf$|K2YGROKfRV(u;`dh%Y zQ{~d~Hd3Y2Rt4}aHL8SGD`tktP?dHXzNO$AeDeNJ;Lg$;MEPa7VX!b@L^4_lrXo!> z1X?BV#A$vRF~O58r)^Q5F*_17o~Vk!;YghmmK=)%?>GP-yZu01mU9v2neI@TsPU3a z$*BQCd;x$aI?Ku}Lz|(_8j7zfjaHwVDW}zau&f;N zdRGVY;UnmD$4#&ka5`dqTOj~i?j}f#R=}Mim=1AnZW#?jh2}nJTE`$Q&$UWCYAWdU z46QuO0cCn+iL4Z7VxxbR*Ud-!4#y+$cD2g)%9o20wk+3R)q|R&0WwGSV4zY1hcKXHj*Ta!E;YvBMB-=u$?TsKoV99_PY_b!$60|a~ z(!o8*z}jw+^IWQDcW*>wG#O)Tb{K{v+y~pn7db|w=$;_p+R%yVjon!H$^bSHz;4L~Oae(Bzbjda zzkl}#{NEu51N-kM5c_{$_#A#~$;0-xAhxY;$5vKgS!va3>st+@w79fvIm*gkmVQ|y zD|W}RnZR}ZwtlSH)RxI^eSd**?QYFJ% z2C#O0FD7SNCD(OqO&x~mvxn9sF}Ql}7+Rf}3#=MiM+ZHaOqYqe`u{%l3H<51-@>M6 z@5Ru%q>j6Z?h;%_rnwg}C1ZGZ;Pw4>4&Fsi>&V`O*0%$$lkYdUhTi8AVHJ_Hb7*Bn zHjM5u?z?V8Lq`~aWDQ#TV(1@D()LNAla5)eqH;fLYhRQAHjbvjIJzbqFtD}_Z6gT* zR#7rJW0MV;#KG39dRqHDZ>o|SrM?1u-0Ml_{A9Z}6CyCF9}3JWm$b|XfnU6r69Ifu zYAh;i56uxeEl9Dl*zH#8XQtm(mE`g|rKRUqubc7N1dx%A2*FtjrNIOW1GOmhH6q`~ z>S_~;{fz`mQyAa!Isxb!n(((H-_z4D@;6@XXjrVy)NJTB7U8F0lxakm++|vK8b@LItWi&AHz!D z66Cv|hdWV5z+8frrBCDQ8eAV+e6RGXis=-AXOPQ(2^?8%<^3Vmu6lG6oEE_X1jB6$ z!L2ss;&R)tHl$+6b?6>ciLcS{%H_>>mEMGp-EkmJUGfw9-Bu}MBOP($(D5k@81_gZ zB8>#D{vx;{)zah2@i;ZwcuAm@K>nSO>mHbo5 zTP={DS7R6%tYTypEzBrx3_1DM7gRir?uo1t2V;{iUsXzAiFN}P$6NoZjPhF{PPWT4 zd8J(1%Mi@NaMU$QX%%>@-c6;*=E!;(WvfO!4nJp>vf?s5N;9fqWtMuJxj3LparrgX zvKHb$^8!(uv z-%BaVRT}myGBHT`a*@Drg|5=EKbf9cHhyA7RV%LjG@^cn=|bL*S7}O zTXl|Wc0OzNn5(2R%o6yumeWDBT+~bhTv>hf>nv6obigvMxN#4Iua2Itw-UU1#aJoU z>V_>w2i9mAJhcS3oXyI;tpt=2R#uzn;ND`F5bcnL)(``0hlLJod==89VsuztZ8s6X z($KfQw#r#(ZBbV!Rgdc%71uTb*PiJl+6i3RwX5(O`djxw>c0o5?f|RV(3%adEp(sv zn~w1~dRI4NWPJx#Z|N1~mErXbp!wP;w)|lVuQhn^zb77xe;j@o@bQlU`w_%``e6KV z!92VkFyYnyB(`qu7uemx5V{L!W%Y22R%(Cq+i|>3Lp?sQYjAy~AM3VuV(sQutlp^M zb$!!2huA#?)^`f7%0;+#4zL<(si>~gX^gLK!kUfU*i75tl~+b+n~r1smQk!($MD*W z(KU@2q0b*#Q%|s3D{ig*w9J9kX$;OJc7WCdM*Cb6ck{b5Pmqk(KmFi4SXcU#g4We@ zL3CJ;+4~xTr)k|7T&Lszl+Ze`*G703;QE7|gX`qJzSg%IDn2KL!SN=d7?vLfJuATztI*tO|G;RFj=G1i6+>KkRI8>sybQtZS0y1$A)LrKRV! zD40Sa0c)}aG(=^)B|1g!Q32;>bmZL6Z$p(R?XupqO*ng&!8P6Clx>xezE=9aG`Hg@pJWH^E8O!;;I1Nq z_yU1bzHg26kSc|kL55)=P+x;XAO1W({op}()O-i5arHa{1j9LlxS`To39`H?Gr=l7 z<}HPX;K>;+mSt8DG`++mZqi)dtId=QwNT1|wYif~{;bTCmZQ+IR9?@p#gD6e+j1F3 z|F2n_52*_f%5aDkN?rzouYhb&Wtj3U_rHoWF+*WO<<=T~!x=NGaK0|d)$kWwC0VVe zz%o>YSHK?6muy^i4zBX&p(a!;CBUq}R=V@yB0zP;%&Hg)n)KERAY8?{VGuPX?|JbE&Wf*TjH31Fi;u?rH?vs-%B3sNt23kOHk{4X_FpLsAxOl{{5; z@MZVk7(rvW$%#NMeNLhp!6Yp!#bE1^e$#k6J>N{QDnr308!H6`R%_&z4VOY~X8L?H zL2PAau=*>brGf@K7@9KR%FBs1?HpX|j8fsL#2X;Bc_R8R52^otpt}38nys=L_t_(eJ9{L%xWt`>rDC$(3*kQnIy&tUMJT!6R2~^FkcWDr|mg~4V#BC zv$hLks|j9LvkP&fEN_U81N~DBpz${-tz+E|Oa=?_r=yQh8Lh`2CGj^yYZGsPR%47! z#{^nO>2_R?2^ynQyl(Lf*uHnp!5=_q-3#El4_b8&EP?CDR2@3{lJF;NsPClhGnSU@ zS2l5KC1@R3T`$H>46U7m-22)<`&|oqXPOCWBdBM^v`>L5!=xDK^u9f4l|k?Ap>>&g zWe{BxjRdb@0y>v0YqsB2I|+9w5ah?XOjz};&MK{m-5uSm#6}VAh=}s)u8$ITPW zqtM%gLO1ulcA?1Kh9XZZ^1RIis|_d#cAzBCO3$YWaMLhFYH41PLWHy78QOb10^zk? zUin`21XV5lUNrYJ*n1EsFbmXjd2R)gZFYnh+&G6`=aVwHNEA@FI};DX!vNc;D6Vz^ zSpL2OseGZn%_cpc3@yr4mH@1_L?G1}D~2OhEHO76d1Ix?bRb?0ht~qLoxruh14lyl z2GS&)p^D3H**M8X@3Z&`T)E$mfJLdA1rmwkt}PUhDD%EZf3Kv!E8vOKyee6R^Itv- zCqI82zC7=XIQiLQaq)_C@S^oeJX87vKJ(Q>6u3Tpk17x6SRYngStV|_NwppS{(M0s z$tF#$E~%tb0zv?>4i~JoR#?&&*y?PkPFYY&5R^wSl`#!% zW>V!0RMC8Gj#HF@It3!RN+FDtz?Y~*rIP?KY@%f>!;7v(_}XJ%!AI`+2>$bdPvVG$ z-@;SYM_^Bs3qTohI@#cwt+pyx+hWyonPt+%AY%ZG(L-s~<*f`mVva;mDd0-C3OE%g zDR<+%Og5|hCba&3non~nw?wwomS-TB0n>2B<%cwoR1kK4aa_OW#{LEa%Vm!G_g#HI{4F-``M6Gm$#%$ZYibCWenm3}V^?|(6M@x*W+ej(>+3=H;v@W3@V2V6J*lPRtbWr3?l6xBc$ zyasj{8F+22)TP4ZnPGsdp>DG2QmoY>Wx!k#oazn|yt?5{RKXpg_t(?Ouq}+*&L{z^ zkCsP(+hV2H&;h==O5B0H>=4YxO0;Z$OPLriiPFnps{2-XeSCanj|TtE>)>mt6mSh@ z)Yht5aBX#qITPo&rr1@uH-MJGAUek9f@*WNv+%zNpuTNL{Z|InH-XiiDXmWQVb2(VcTm2tn404 zV-t_)XJ=pOSvq|2_Ih{NeF?@tfiov6YRSUY`rF zToTOvtUL@OCj(eF5u|R|VXWsK*H;w0uHQyLysaM_>2~ARK5W?1idNrCam$D(uT!hr2rQdv!e387 zna1!GL-B0fO(vt&^)mkQ%VPZ>)TgcM`s$)&>0dVnpOhX!O1#W#|V1qT+v47y3N0x#QN_86v2E@eQ}`}P&ro{6-WKn+i~p}v=nsr^CeVa--ucV}6<3$Cdi z7Xc7wocg36Hr*GK(q9w7YmuiO1zZ;F?iAyuRUU@cdN}I`5N#iYInqjC)JkC6MDSXV z>O>mB_Ap`utO<$9p>?Nu49Cti_Bhbk=Rk9xOTfN?;I@IYZhI8SvJnxN|1yZO(GV+e zTsmtg&KwJ*a%|m7aizZvRhHFQ<37K~DdsdKnG#c5k^qIvVIxK2m}`x59%mjZeJc>J zcM`Z(qsCp0P_09OtHg_x$vSx1O_=-tIKCvH${ZyRmCGWzWR^h3og|1N5UljCpylR^ z0;~ET^I@jRdTDS4o~XGO$G`9+eEESxas0E#;G6e+9UuAJhZVR!bvw<|Y9wP;Da1A@ zhh_+8n2m|b?1G!%)EurPh_K-$y9K8{T885vF2(T=mEyPuOYsvL$3CFOF+Ap#;s^JZ z;@e*!*s+kyDRT_4BU%g?}VrPoU|9vd$i<-bO`tx>)!5IIM2Rj=Xg!V0MKCU z`K9q<9n+%vAK4U%A+pH5OqCW3D6Pz>wW87mRTgN0<0aJ>OMg4EjGT--Q3hL!R%bbW zMMcJxX!D_5ol#n>-HnS>`Km4pR;sT8Vt$|M3jJJt^*ZtN3Afs2u|tNovebL_FdlJta18&X=Mh*-;vc& zzCgp~U3^<*^m? zdgM|6h1&ebFGZR>(!pFXrjv;ikyf{qHSle^TV>SoRb~d)CT+%JsI4DN#r0i; z)PFHh-BVcI*O1doGQO907(L2_hmJ0=NU$2JXNy6|~yzV}A_ z_h~2Kub=reUOV6bZ2IgWc;%Xl@!t>Kj#tJTrG%K(+_CW{0^)iawGx}dy{_5dYAio{ ztbav4w|OVZ?1ruVSWOVSW=l8LY--I!<)|{^=63~H_ZVDPE5((;b!eC1s^E1*;59{% zScma7Em*Um8=JPU0zHZ?+X-H`j?wn)7kC|>YQ)%7t-$Np6uoCgDWc=87ObgSg8%)* zfs)bshm(JVks;46Rn|8ju{SRb)~_+ZTVB5tFwI^T1NN*EtsdJMyvl3!GCxqz`c~lj zF95CY9k@nmTh=2=028hEpl76k9#2Z|>mbLy5twd$jrRN3$IvlUi>|R&aTaE9?Hs8^ z1Dy}&xCk5Ix(AADia@S$AVJ5J2~5-fSTo&k9w7K@cc{|ZK96<`-aF80j5vL6T=Hg} zbbb#IfYb52Ax@L;6pFl!1g))D2S(0VqHXWecx8Xp> zZCFZ)J5>Y@zlO_)8T43n@bCmQ9X;xJ1Sb2ixttDZwkjC(Y5MR83xc~Rx4fX!ogGjSelEX3et<=#Jn9_~xDh50@~EP<~(P45$hDj$W87X@Gf z4YZsXP4B9D86vm=Wy^r2V>#Vc_@v(1S?i2(t3FVF+Kdo=_HAW1;+RE0!v1&ehy8Ec4`(ht4UbyxQ)WQAEY(m~ z4Tw|FT9_$K&4yM>T&aHy_Np{lfss4QtynHJaCx@A_#jGf#sn!}xzuX+TsF#5J(vZV z5>&p=%VO2t04CLIsq;ytq_tFonu5_v4V@Afq|KSKotWp87i%?9%3Nd0+1LPg8LLP*^Q zs(TkycN|>S^-|GdRMAPD71)|c34VF;nK<#MKN01X`(A74WO**Z>e82=z$k&z_TLZS zwLcEymER0wBde?gt$e$Y;E~5>`n#nggvS@oLvh72JhSR)Tzk)rcB6%xKogR@;+JsUO;_NT=bed*FZm^Ma-S1`W%YH_wl_kn zfa^}6)d1Ix2JCL@#fEL2Qc64*UiUt*?h&}Io(0zd?n$MwOK6q%BnVh*CH`h?hD(y$ zFulGL>o)gci-yHk20ii_#`3eFwQIyD%i?A7Ya6?4 zXrR$P;La?6F1$u%c@3Rby7j8;)Ts{$w7wa*?t|91S1LRiqx~XGL>tNA-d>iuse{Ex|Rh2SYx)k73e^I+~X-OeQ-SUXw6I(REexH7n=2Yk|ElJ56Qf2;K5b~$yVjYZ&*U&|Nqjh<63dt|jo zm7*GDk~HDx$d^c=2G;`Agt;U(KLf4~zZJfORlt?uhSer1Mq+y=aLOYUIPGy0&VRZFS1)zq!e_1Yd>MW`uSAydiv=aPC$ErxU)p{l z6JByHz!x9+JodZiBiQfm{cz~RUqF#>X$DXYNK<9BMp^Kz8Iy`z$<4S3&v^~qG6WgR zF+hiJmC~&;V)^$}U|b-5mKFLpFl*3JP?{r3s+6D7^W6W+P{+=?nZDStf@kSL)doi5 zMl8@es{qz$cV$DR=k>Aa$QMI>Gz^W5*qhn!RH)60@-m-k$G-*lRU4*Nyga#BBPL9$JeZxMGtj9o8c2z-?t^8B zHF~6F8|yeCqolY(XWfcA8&UnUthknHqb*)9z6inpTTAnnpno5@?isAU8MuCz!1dM# zuSJ3;KT>MjQk`)JRuEf-AOR%zl!m#Nw5>`Gvcbk`F;n6m1@29)>kXrMC?R&&wpfK2 zE;$lr>22ju?{senkv11S&&~P-sO{C#v&wKR3aNGg_GLjSL#paoHOb(={n^mkYCyIz zcsXWTo|$eqzT|;fB+;&Ko=2k zY~v`D_pDs_J%H4I8Bl$1U^RR2XSUBI(LSA!zxj&z{ZHP3pPzdgDgyj%SuU1edRffT&F}S9dg6;xgaHMlXK+lo^eG2jY_QRj|-yh+xe+3tP=}?p{d;r~bE;Q1<+|o`H|LHba z?xwAK3an$zlSIC&Al`^ZmvRos~tUq5v{y7 zV`3eHc|X>yAHu+J3z}P_XrxJBM^_ZX<20ckufud*4K^)%41eG6BlyeLzKGvma2op7 zrwINk;R>xpB~9XNG-0dnux1p^oef?e2Fyf*2`{dgkNncb0-OAO=9CA|(Cg^<;|k^D z$*1qe4Yyo^1<%}rG#%qc*Tyr@%FtFz$L6P=zaM#}PodoM0;l}oOQ zgV{61mCmv40Sr%f;gvtEA)v06C>}1UZRlh5(jmRHTv99!!P*@-@eaXN`eX@;8+z?% z?6Ip@9R}u}FwF;|sEkEW=u0Bs+a&PHQ8@P0AVxO6hW4@5G3#sUw4K_=Vyc9gzE_aol}(zs_mGv}s8&@OTvJ(wObn^~ zI72O~SgbU$Dx{oei!&2;!)S&J zsul0da~ky6=!$8)rC*X^h#icL5@Gdx zsi=@fHmm`eW?iOg(d$#ABXW#9R&iL?S*EkEE!M!6rwyTsGSJPyX1MK&Vw)8)BkDXG zLbZ2dGWfFeMB9@puBJLV8y94amckmQZ5^tl`B9DBw}wik)ZLZh&tvtu z2(GjRPA>C~7V0=0rGS@dU^UcEHfAy+e#99$X*mC?oK=ar;cVPso`%_#nf_E|@}wZO zLh^uhM35e;H#JAa@96Dm`YwV!Iw2&QJ#fY7{b{>ouqHd{ zfZh`nGp2B>6P^}ZRv)S|S&E3kQ-vs_I|J9<8*{-`nKG4$LK~plU^5MxFfzENIzvdd zhT)3V&@J8X2xxE(5Rfpq`q4b8GEBMFgi4lPy@cz6*;NKaBIw{{<>5S7G~Wqi7{Cz3Zkc@Z_(~!Jm#i9Ib~O zj8h3>pa0}1F!I?$u%2GOX`&fhHukDg;XMFXE)`z8O@r%JhSqFw-LXt~FN5ovHv!kx z@m-oPy;<%mzqfZhg#7ZSaqfku<11hNBF;GTBshHqm|4#mu8kO-Y({H)1gr91#4mnv zI==V)BXRO6Cm?s_(^y^a!q$cJ@b?2gioYE8HN1A+uQ2dR3+ic-nP2)e&b#1r{OrsV zaNG$;i8V9>n2Cd>ucb_XOy~IL1!I**&ccr384Dj-|N& z;Ts4-kHb0VodyS;AQfaPxMii)Y+H((@4Os&Ws6Zz{tOlq#M*s1c!9w9q*H#3dmp?G zJp{qLEf~OB`&@YZsXKAZao@+Oryq-w$|acCkp5sm>mGpXzP{F-kHP6UI{5-}(u#)8 zr~=neH^pbgu0WplKi=WyAH|9=T0+&+UEPBXAW6b_lT65nwj;FvL2Q zDH45VfaU<^cmhSfG>YBLC~~#PNOn(P>Xp|KZy!R1zZv+nF#_71vuEGw2 zPXgiIAnN<$NcTsP8Vrfo0Xyb0>@&2cyHsB=gR5U0fotSGL#r4ubvmT?lf4sInKA3Q z6jg>I#vuH z0ToxFapHqJQ4VLKk|5VCqJuMGCWtkoCR7GTga9=}BV3Idp9%J0mGmpxLsb%8$fi5q zgcVh;QrvaVUAXR=>+#Ub^RUFZ06&`lIDRy*Sb9_q06lSjIWAk_#S&i&%nf}oH};{5 zAhamii>GY$C`okVhI~KHeyUm^*LcsF3#;&0RT`eIarnE(U~L(c_b;&43+(O;TzQ=M zP&K|d?`ODb)eW>g9H?}bB9L|pBvoaV{Z?hU`eq;6;)v6Z?fmVu7Jh?mdnHC0se}eNn>2(;Hfv0QsyVD8V`hz+RB1ZHSe1@UQclAqnf+5Pri50& z!ac7VTv>fJN|M#~$*0GQX}_ZVJ7l7L$_i`5M4Uk28ZQ*5Vt!9mgkBRf!5J@;%vat% za`7f!oVjpg7)VKEkd7ZxeW1~Qg8sL2I>?kTwXb^uqu23L0mT+4R=*U(PDHHh}9 zY;cY2MR1Mo1J!p3s_!MN&H+~)dDAjN6My=f0hKS>EGvBmSKfRHZn^JTDHG=3nfqK@ zhJs?s!M8(e8<1$R1{g+(zKq(CEd_e|{>=1gV=g z_tF1oCzdT+gxhYr29ccyR}C{D~&C);Hn_ADeL~; z2G`^p!F3OSH5*(R1if^EDXe$~x7~duF1zYnRJ&frBtg;G>NNU>;#mIjB3yXk*(feq zO25evR=)fUjz8is)LnTI{{D%Nt$K27i33+`* z&5OA8?kfbcFTeU+*(MoqeZQeK1Fp+<3tab=2y1nfK(ud%OxMAwI9hun@WrZWUx*8k zGPw4Q2Qf&u4IO@L-adg%uMA;yrd1SI?s4rKuSYY%SOc988Cp5NwRR^8=-UHVFB*G8 zXzoj39f9)rnoa^qe#|F^h+UI)bbd{vX)s2g7Z$abTX(oDIo0pmV{m0?tj!t>ul0R) zf=nxteQrd%={Vh8i_%aUMP33_cL(yE?I?EEqH}Bw`ertxCe?{TPltk6X9LWU1ReXM zlH1xa7)2dz<5*7^@xBnkdA2*PQekVfSlm_x2GS;) z$d|#HGD|y`zqT4?Z=R^E99vQqESCFLR#7A6qP#leRd7Zu1gCboRRGJ-Y7bSS+FMRA zOY85iK&d64!1YdCebv>l*h_KMl5!mXP}wefRgZn37^ggL!VP%=SHF{RvbZPLq7rQC@N}uu*g=2U%%kMRm(g$n}GJXT|lcbe)>oy z<`8uE`vYiRFD*%HDNLwb+b!;vmzFKnIq)*7!mH-= z(W+ixRUzQ3x1usY>l~&1Cte9hlE6My3|oS}6T3juZ^4GC_Ne+yW8XKjQf+ zU7B6)T~08$Oui30FH3K6qzEPUrO2y(4yANk?jYFo7Qh)Tg)Kf5(Il_y;;4D zusXYfz;t=0+?sy_UZ&wbT%r46MP=2!#;P^Y zp!y!b>dwHmo#St462@g!&*d$^udlxd_db3b{au5O)kzhRL!)lMuj6qN=$%fYsV{)} z3+~3XH(UmrrxcriGa{UON5*RVm;78+}=y%f(L^q;u?fR7@z|9$|0?Em}m_wgD{GG1*BVC%Xr zY+>W3H_Ld{itCzf2DqxYoON#i*LP>U0bF-mWsSY%V5O3wZqbtaa0NkNwR5?E>nQzh zt=$3Kb^lHH)g`~g%$jy=ooPd3O#yEH);ICoL7&3kjy?*%C6HbJKkKn}eJ=*b8cAG0j^@6#O1vN zuBl#!lrX1y60p!@vB+18JWng~y&WiY)FIkBjPWhMp}ENbiv8?7+<{y#8#bk3O(f7f z+==e-b~LcsN^_pNp`bu^terhRECQ`5nj3xIFZIlkCbZ{;$4F) zf6f&z(DsZu>Hnez?wD0dqif>Xpqg#CG`AGEdX5@fm~j}kB$P1{|0V{ovJ%QA-~5=- z56MP98An_Vyj;p^l>9RMuwutBE2>{OFOz3#^pf)O+}d^5p|fHor&c=!8>O__#!05Y zY)_^Ezr1cnf2NUFYOJeK_G*|i849hT#2WA`uMOvD!=#m>^3H))UJiXfOSo86d`GMj zRe=)8b#-Z@FT)^7AXS{NRcUh-E!UYUl6~D!tJ#E!p`6!&zn|f*EZa7oN3dvykN)?Z z9Hqm##{ zNiGg>dA*c)=VZ2{(RW*^Ra$=B5>x%OMo+Lq_clL6bGd&TaNXOmx-)oH;QFwbGu`^Y zm2|+bk%*gcdzJK_vQsaEp;v$a#y~m0kZc>Ca5HESl71+J{5bqjF2K91vhE(l zvf{`J=E7(15%sd#rNEV+OEy&Dx*IOR?y;**{9>t0}j9)$Nmt1t|`Xm zzih>pS0}M)+c+ktyYTYLXK>W_{tM%iZJ3yDLw3cS`gdy1 zRBMzTvni7c=a~;F_q9 zNbF!uSSfeDx@y#RM&OCt3Epfdw-?em%|>$}3o1FXBwC?Hq(u5=B|?NFTUdqTGDwM) zDS|guE~U_6I(E7l5+byGc8K-lV$tF!@yt^Tap9x6IR1emFDzImTvrB*U* z8Je{_a<*cr%$t;|uX?9*w8F1rj`VZ0YIC8A(9u9@l;#So28~kVqD-0XT*X?0eW*-I z$t!*Iega8Pg2A<1z?HYLI0)1JWQi7uaT1s0R@1&$6XR$m0&gF|xOb)Gy;kV5Tw|LV z%5n|u`!2(cm;pFk0#B-1Dh4<`#2v4ciU6(*a0Dt4NLIrZE|ZHff!a!yW$amrnh1R- z-!gG779*@+PNq+|EUVX7dSrD^tVz2N8^&q8UaWxg|2eDTT-MEs>+ZS=zxUu;_|C!g z-G%M)`>R**L|S6 zS9??qK>UEg>dwHmbtovtODCRkEWUo&SMkH+zApfK{He#_;;YX`v15hwxH^&*IQQaT z;FuGBfTMqW6izz*INbH%O%mSTzq%g1Gffy+*Mh;dEd*yR1gUN47);`#U!R8(0@vZ0 z76IGx>Q#93$@>sa+i8M1LX-AJ*Sh7Oc1!T0y-kFxqE;rfIE|z9b(e7`{2r|X1ci=*I#=Pt~mRr*ly3kAAWcg#tu9H z^FMnCZocIzy!MxklJ~lG`;@@zx=kY}C|Q9ck30h7Q=M3|wo}0MiG_FLyz|dMSAS44 zV!I*q>JD5`BMapK88Mt;#EB-0gm@Sz)U>Q9eFjeR*Lc)h3TJ5AEMPo^+DrJ#2t z8(g_mIFKvKu~8<>-{pb%HzG;LHQr`iitM5j>>c-BML>HQVhtutZdBmsq7&^o=l@jt ze7VQbZqLU zb6ej;07I+OXzBCOepfHY8df~}ry9}NA10vlX551ldkI|Gc&Wah;njt7r&C;tQ#6lg z?TgaqwqR_-046pK(|+HMrhyne??v4XWy*V`xU$k}Kr4Y|vQL>sah`md<}3}}ae~Px z%#k4S{Ryn}G$Y5;iF`*h^65TD<*;#6p|4TkHP79NqM9buc1#fHkD;L}ipE|C>iU$y zR9!#KBZk8QuT2B=Ih!U(e9OZr(J7@0VB$p?2Vm8AsWMji z)+krBB?z*@xl-aNeTO{gc~8oWDE;mxYZ+>rLUi7#fiGQ!NJBNE%}#<uJ&OmDdry6N6aZ)vCNGNm)N8aRve0VG-;w`+*aa8k&__CT|wY( zrSDplDHYBhJ7%|Lmkrm%atX3>Wt$i=F_}_ftsbg49Fz1=vQlW)nV_PE>WCM^+(^08 zu9WR9J()?v7)hBf$v%=U&qUNPobhAa1FKZtaxr^irM6nT7}sQ?UQ~apq2L=4IT?7> zz-d6IQg8D!pk1Q@K069XDZ?vu?2H0e)n{6uN}{ta0PuZQ>{-Dtb*zLpRS92;=H@A- zxN^jjD_%wrSt=08%70~`M9iBk!7@?!Ex{sK0)=7##>P-w_AcK=n@({*ESpAEdRNKC z7CX(+`12wyZc$s!{vw#1xd_!-;SN`z%0=7V#r@%`r`t^s%TC$Nr1_Q>%m|`1T0QV+KRxeXDYNMIa^e&C0(Wv*{ zE!lDd(l*)rUcYDC=Q-!xdq*Q#Hikgr?86`DHSNyrbMN;(pL0G(XCW{xRq9`*Ue!jA z&Rybotf|?Gu~Vw5T&KiMt~94%%@B)KcWXp1e-vcWaoUpd;Ry(?^@-rx^qIl+&k3u? z0@vpWTz#EIu&ZWCP6kUhP$FpcL<``qF~dvX>aKIb9<{?-SpsuVPZw>sI0`!n3f)nP z8YKmofz?&3hr2dUoPC{KYg&^nsk?S@{mnm$xzbGFnt#lg1lRndf~z}fguA*3q57kN ztAoJRA+EyJiRMgkaQ!oa>i-L>s(_(e+RAX8NU(Y|aE;I)sL+uHoh?ONgpDq`zSDbpXHp!w`P=hhhANp0jJQsHnf9Y5q8Z zL){Vl{`H0Ux2GP$fBoQ8fPn13zx^$O+PV0{E6?I%Z@%(HkUa2w``|2e_8N^|C82#6_2!htp3# z4L>~nR9rLbGC1gl+|?gMRm_Z7qm8~xAWPqAq4Oo$WX9X8UKG&e`c%zLm>rB4yf~k> z=QY{Bx^^3K@;74M{JD7K@w-q&H*(%C2499zu5;aJxA+V+*&dfbX@TW^4ls}=srGWtAv$K9ef+2)K;>H9nohcpwL4JR zW=A#MFBq8Z)%mLVQn928b1=A?32GQDcmS@M(6FMGuL6Ri_$f-DL9Kb!41o-)i4KEn zVSqmKBuV>`Lav7-==6q5#gr+(gvMqBuFhZ)Y+hQPjpkR9N}!;FgOxa@@@~ zU#+86QdJd5l76M^ZY%vu)0Gx1Wl7>tT&$+w7O8z?O)7Y6^`cr!7iqzx!mM6}PEE;G z&NU^?I4@xxBo$bLws@^<>ZG%Ec#v6bN-!7f3%=hErdijV{I(Ix$L67FJA{{PZ3d`EzR= zr?j{!P?Xi`9D!ALy$-HAT^wE&a5YS}yHQhyr>ds;p9-rp!>g*~&IqoY>s~k`xbnZu zv2J!1R^T;8H}`593@~^xxYm9OxPAqypCkSE1XEUzCskN#UFkipVNE<{Je>yM#|o_u zmV*ITf}ZndQF>n2OXnLskMVN4-87gCpmQvO-u*H3ABbV#K>dtP!DHMLcBZ=3kGe4N z`#~I-Xu)q%*5hB-EysWU?8o@8@B9P)n;`bzFF7Co-<`MMH)$KOf2;+2KkmYwk2+|c zeu9;;9IRil5OeOl2`(Ds^$k}d5Glo`ZL4WOXvCg_t!VEo z$D@xwfO!wzg&YANc zy>2PyJ#+``?mXHLQM3?1Y~1n=-e3O)s_RNct#t=<*tYXs+|TO$)feHJ=jVx;5*slw zm_A3~nxXp;g9LZ%7R(^~<1nIjcpO>BReqBiT=IK1lSQ-kMc$fDyF0iTc)U~<vU--m3wkKnWh$)z!5ltyV_8iO^`ggjS0(yTS2zNT7Z z^gK#~QG)!A8rohzZI54Sb1Pe&iUTume_NTTtCmWGD6Je$scSV!nlJ+n2RjKTh6aM7 zn)xTyJ_RZ>MTs@2&cmi4fmD!{pB*szY4Fa@srD?mLN-{OB}mIog4tn!$wJUjmVr`_ z5#ES}pdn9GR90|{Md{6x=LQu*OlsPw=0Ys(NK{v2Hof8X)__)Aj@8s=fih=0Y!2Gz z!2ljvz7s#cX9doBk^uJA-MESXmD7O*SeH+#t*nr4chn%oTZ=7@DAp8LU}?4&4{R!l zI|@%Xbh>ZqiJs|uymy}DB3HI&*iH2BrPmECPQSW)F^dH$N4Er&r>Q47>RJMyI$ zX{OS4hrg$$Ei-s2>BV{RRCKM*Rj0Pq$x{ub6f>%{BTcJ3yTw`9X1oFko^E@+wq&bbCau+g+ zc8X~jtEgtb0hT}>!7JC!>LdlZER+v-WfA=b=(y4OUc{=cOGz6x(|z3Jq;0b9Mpp4o zam(g9?VQpS0p4Pd0Y-bK)OZ`p*x)P!B>_4ft|ZB7;MCzf^$(>2|KvX6UauLY+vT`u z=3H7E9xWA`e>)p?uKnu;*AoF&j|#3AoQs98KZZbSfnt=Tnj^VbZ6(< zzgN}kJ}y{|E6VEp5}#`jI~{KMANwdTi(WSnyta)K*zK>uAc3nWq6yHthoE)rU>kvJ z+Z1T!Ry&6dcPc>ud*F8i1hSp@*lonGOey&PufGcadFuD@-+%YN@SmrB5C4AQx%l0Z z7cf3hi@k?iDU?30M*~+$?m;=H4Ogh(8vIP=OEZD10Dn>ROyMO%x7q z9#+2hDwe+SygaUa_f_o9S|WS{Xt+di~SD)q|$45FPshgrXKvTiXY` z%I9>RD2l5SZNp(YH^QQD?)}XGMhtqhAC1g))hrFOJkd1P?q zR9xxD%2_26HhGWDmjVejvJArfor*Rmsycj___!ZEqjjk5h#*=YKu1rEep4+3t}XPt zrr%bJR~&`|YJF;$|9F}Lu2VrZtVSZZ`c-h|_p6#qXuZtRi&jg6_BV4Hv4f!24@-p? zdWR3Y%Q!{27U?C`w4S4A9zG0%uLUWVsMNadw#1N9T8+YRgto67K2~iT?eIkl;jby8 z#{w~9VrXTRm0RH0RX1U0tU!7@vf9dkQ%cV{rI6p}X&4%ES=m(EmgK8ytJ1eMEx{Z} zH437EwIPrKy*CL3p){%Orr98;@DD|=ouUaT+ zq-t%WCoSHBMM+Q1P}+~Es-n`PQ%j{ykJo{+`ecik&_C3Rj}ITj3u|+57J=&-x4(t6 z=C8vAFYLgji&JqW!RA#eRI-wK%X#H~9$xH~I?2l8qJT$h%FpeIma=jCEuA*|=lw{Ke*+(VeoOrz?1F6=dRMNpk1yxm8H5FXz;mZ4&r)7|2 zxYW#@l=R}%c)ONTQSlWJmUcHP^a^x2l4Tubod~uxXjN)eQ{rjSk_Ig8mv$x8Y%1%P z2&;v@RHYBFPXSa0RxOJBDe+)vW)B>LEd#c2Apt9aCcz>1{^fI(p^?*db4pTC=%jPj zUm&eCE!=yUrsFhYNg)mzq*acIz*T2W6(B9ED1;@%?$!jq9vz+c#W0no!s;`~G8jzt z)?_#<4B{YM5)e&XM&`sadT(xfQU8+W}=;M)4v1+FI=upR-fZ!9NpJx>MK zLZ#&mfupmQjhc$#iJApaeRWnj3CrjN^w-+OkcolS%@^jVV#K7m0XwA6s{*bL?$KJW zSC!m6RSh*vrUQQla6JN4+3A?3PmC$4!Ya7BX8>1rl`C)XBGl-l8=93sf#9|G=-~Pl ztR5Xy|Hr}VQR7Hp)znjVmYfcuM~m_fdt6DV=yV)84FfKNEziHlCDTMYoQSp40JT@C zOB?%$fK}Adb}@KLR9yE>&>(Oiiq5VIw0981byr9&rqr^2(k~u_uY(F$j$4r(O;lPV z1ez5}909JM?iSolP3(*2K*<&fdlQ5(*4P=dc_oL&)y~s?`y(19nZZVcVKv; zkzlqSqx+kbKM+1@qerekZp6q$4SEPT(zDhh$GAzLPU{h?wg1uf9k25gU>)?FIPSsI zq4gNx`W3VuTWy^Vt{r_rG!l$@2vj0;pKk37OhPN0GY!}jcpdQ3{w8p2_7E_3VBaT$ z^j;Lz^t-QYD&dJ(;l;B;O(lgLSLK< zbD06oP$3QC>A5cxr2(DP^Knfir;&0Erny{EUlqkqO_5cXrKKxt>Y<{*W+$|MNvr`? z(od~)UG44f#zzPCJrjw?op> zbQvad9SRU>^W{G+SdGnobF!rLS^`EfaN@LIR%ID91vZ^&0<3yls;Hs1 zumZK&r77Z6>yTfTsiglBwB}lNOZ}|Tks`-J(xTbr*p(`-!zNcIfoTfC zvI&I_ov6GfN45a6-o{SDG%f8P6T?0Kaig^>Qk86Rf_ChZ{VB&$QomC~ahHAWoixJw zaQg|^4o3r5Ljt&-sIYoeaOG6t*Pn#H#T-xJ^~AVlwFur?i-4=G!X%BUSz!$}l!<$= zlRlqXn>q=fjvA%5RUTtHxM~dvZEK8E>R8KWtZ|(gT&IKTr-7^EDBvoo!nH2=YHje> zm7ucSf@qIbYFxiCaQ%N3RR79hHPYph8dY;B5BYAo7>4sCRc^X+%7c^QKrUTGcOkua zJM@lJNei11SXIDf2jYBBCN`$6#yjhm;@!>5k?+coI@sxoEI$vo+o89o;jMMA;kg$d z#iLKo!@`%JhQ+1B;J!uy9tPKm1aKW2Zxq+zR~J7g=1sF^U5?vsy9xQG-PkkMApK*x zHO}}%GwQ3XSibNHZ2RetQT6>(@Z>kXfoo4b8Rwt;HQeyS?;~g9n;0ZW9U>qcB-ms? zZSL?Ozi1b(yy{|{f5Fe8%ik{QY+Oy9qN*yv-yKK{R$2vG%T;(SS5tgH9au$8WiX{+ zNS!GdSUVF!zPE?I)9FA@#DtF@zX$*Et#9Iw=lu)^Ry>dPkE*7@>d~WjXfnD6gXpAv z(>F+iZyNXy3=_bQL@_c}tHe0>!fl~wlXgSA-wz(@#QuX_bj-Twcy-XD^2fu31VO~1 zZj9~k!X6sP@7doek7N5zf$Bg=Qlqt@K~m>P6Au1v z6odQQQQP5FU4N|tu#r|Lfua%>Qm^l#YnfYA%?PWlEex;@RJ9SnwbM0>9xIxZ`cyV7 z3aRRBK$KH1%i(pY#QskP(9$16O&hNR9q0a9^o+HjcTXd_M`F^4wt}uZ#{ySQ8P?2~ zG!>XXlT=||HiNT3Hi4@=x61W5nBY8IURMTx%ufIpLAJe`2BI~hxQ1Kzp#RYCVG1^4 z7lAAHa!oCzL8ZBxfGXP(l{!_7%wz;O$NAoF?EH%D&@cqI^>*63_Ra)Q_3A{SF zZ>yvQXHKd&Dllkn!je8JN}Qr@76dZmFcJUUn?m49-=W|%O*W>n22A1-oLi6uXV@aj z61U3X`d4d&#!nRm0znMST(7DruF@~lm6DJqJDHj+sl#fjDW?{fsA!;{yLoX=!f|E6Ps}Mf*m-YAokM5yK%*m zbOG3_UeCZa%Q7(QjZBGa6XLq%SrXU3N%3|zfod*pT*ve02bZXumJ?jl%x^cyI*z#c3i zD9w{PQ$9x>kwU3OWwWe8H?5DFcFf?&0Lfvr?Lv_!2iA~LN*C>sVtOwddJFwFYy|A8 z;gU{jR#TKVHx8vukfub7<1?qdv*Jx-FryRUb8#0UedC661aZ8b~u-Q1+Jg2xW2ILDZ1E}iV+j{ zUgg#{V#pLDaILipv}(1ko|+Ok2?Dt{t6h{<(hY!m zPgQ1T4hB~{0c%-p?okz223PK7=8f_86e8SQjOuQy0MGTy8ta$~q=Uj`+ zuD%EtU4A}ZSo)LxC;2PCC9LXTm39YXJDn1Y~dIFz84h9&h^a|`CW%&Fmv_jv6Y35c0fFMWSX+ni~z zIwja$xXpq=y0QG`t{d_1|L`sR+eJUezD=*A?UR~#4d~|z23U3mRzq<)4oV7iAMb}T z+9%`n6b%@eXvW@&7VOgiMVsn|0hFhhuVrq+oqXPh$oe3U%YSZv7t4gKkfACW@vNM+Ur1H@mBotuY148VH5*m&wEP%tENRQUzhSw7XTs!-Nk}B*77zzHoD!9_;vd`?aKOBnsI^ajUKyDC?-PPE0 zxE~WA4=Vjs+uf4(D=l4`7&h5_D1e@QP1y5ExAdkCHLx1%Lf4*JH1tIX481fRU9Vc` zyYxMA25uy{ZR9#ri=-HrtBPwCO*2H-DNaw0(mGZ&_~;mNd#ZZ$?QKQhcq45?SRhwx zjS~mgX~s*_p*Ezp@`;11)Zr?oP*UTns;PcM94zcV#{-1R89@#AZ|;)ls-C zs;H|DRdrSRY-XsvT9sN;#SljsB%6F02@bDHt*OzY^mo-#b~Tq+PF-blCKC?lBSwPpvpCvN?om1&uH>ZrUPp!r;}}7GF5m(7uvf9e?{1~7jhoI{XBwQ9#mFzsL#WCJojHpjR*xd5 z0ojGDo@Ofbt*XINJ}aDjuG74<6y&_Jtx{)NKoH1T17%@07Aufm#0IhB^((+~sY{r$({3&Ycbj5T!%pM(7 zr+%j_cI>cg;9ASzs;IsixVol;YmC6P#wxHLY@h*tTamzPOa)g4IRV!m&sU)O8DTZ5 z2D|A-6QNY*?L}3W7h$fO;=xC&Mfr|ubo7@@1J^*+wM=xnUp`3?=5%4B=AI#!;4kOogHKU|8N zZo3{EQr|-@0f(M0j@(k`<+m2V6)Th)>glP-49wPu0g(;|VjV7I8nt5{t-5|y*Xn^>mAL90J{vE>K{uci08{feH`R;en@y<)wylerMy!<4V zy!I>}dvYGKjk_>+3oqicQdxr^Tc^U@M zksx~a_|Q5?`?!nFhfX>coo{v-Zy>A4uoSpBC%>okC!439u88!h!n`f>%j2CHfNYiK)T zwB0d+PkyY4$KXgUhDYlphDJE*<#BYZ5hDZ*gA+{{Inazf`xSMY=gW@79fQ6<4O(eh zh8_*F8R z*Dd#|E!puFYQFY0gwOdYTy-YduTvD%K?O#+)|XAHHg10tA8cL*GYu#h%=q&}XkE8y zDQq+tV714rgfQW`hE>tj2Qsu#!%!m^ZO| zf3Ti`*Ma7NDvbTAm-cTpA`NcDT6rC-1zh|0Hlc%_$J)H2^2YnHHe2E~tbyiFX^F!o zQ*HKmx^PHK;Z@aN2G|I#Ta31^y|(8(h06c8cQ4N|iHGf)aN=@~t@tM4giM$bCm`m02{9&Q&a_lb=wL^OXfgz_kTOEpN5x>l_vj{vl?J{s7X)bwQyekEPfpNhMeu03vWJ&VBg z90J#?UfhZ|wq_%>*h%vVVY|K<+YKd1w|S8tjKUD8LaNz`G>aR>RgKX3BFJsrO{>ri~zRh>_oODNll|oj{}@Q3B9Ltq$D^EPjwj< zFePy1?bEu&5cb-n`AFHT%+hso7Hi^MY zrz&?kRY}cP)5tYPTg@?;Yg8GeMBVi(PS0$_q}8oXD*LI5N+`!UML<=nd)7>(Oe#=o zY3kDYMRm_rww1QgzgucqOG9ZW3DJJ=aP2VHkY>VNWhNlagxOmNTc8B~8VA8_p0r`& zlyy#BH#$>A{p2WM5O%ZDO6x`Ew9%a;&b~zf&UjP$zS?LEWRDn8;>(uyH-)Y=r3DUw zGQ%pr&LwcysXbr0We#Tu$Zw3kpKE8(+@>nayI~3C60oKtvv>!sbC&dd<+NpfWCJJz zfpESnUHZxDJ(K-#IizI{?Ne69d3n6QwN^MvPv#ueJZl#=dv(?cu4b?`iG#3B6xCdUPW_}YQf$(6Nx+pGZchVOD=V_B*2Xxc zSXE_@qlQ%!)lUOg)m7LLI|{hgC4#Gqz|{g*RX)75E}@n}0xAoty7{K$Qrh8gOb6E! z89;kKV|;aM#noqSHx`=2C#R$Ngu8 z)tTy6HHhY8%}$B;J$k45`%u7@KQ9gI@xbGEK$VQA{c1B|-b-y~I1xPh*l|He_IqT8b zPcXQ*3WIy27~L1c`2I$zqm(u`6s+Pk6XcmpyK&=9v)~I9()$ervvsJa-}Hh74`a)= z)%b*gmD5xw+A%QPfN<1J0RBGizTp}SKK&4WfA<_5{MO&2`s9=G20i-kxfN-5-hxMG zUyZ!nZP@d12l~ciqPPx>Mnz@q71Jd(hRQLpr;-Mym7<_Ze^q*H>Z9|62HLUqAZjS0 z1k;r?DBftc;Kp~2n6t)+U#>Rb7w;Ny6UFRR2HdbxkLy?HaV^I?ddzxTkE`C&(fbDI zLw34WIAN}K&_KoxQ^X<03oZJs`1NHM;18$#Gk$;lWf(2qiuO;UDzy5J868KBqd}`z ztuIxccMlMx4}_11&VfpaE_od~B02{uXaHX+Elaux3VMd4=pU_;bnT(>YT2(H^jm80 z_x?%g!MvWV#4!lI`ubD2?T*=a@s-B}IHgsN3aw$f9>4qktGMZwt8p=b|Kep&qr9#_ zwlNV{d3uIE8x4#efBGI=c=6dd``n+<^iK)!w#@*pP8t+ndF2JT=%2rX+X-CnJmYjM zdgE#7T{}JXmtm33sNR0}MOxPzq_xk6ZOdgHwG?1Jzj&Iv?!6fWG`M(k)eCrk)9Xmf z{Xkj*U3&R>$TDsaSl8wopnKZwci)6duQ(6SFM623yYy4RweK zu7K;1PufB8pAihMoMPYF$L(+k?t8+hYI37qpW?99pZ1V`X zjvVSl9WAG}jnoX_J$v%5pHcibC5^O2BMZ zTjeNF%j#=2ty@!9kbYO~bf4;?>u)U$L}N%VDo5MsKC}$(h0a~0sIca00onpjHQWtB z$xaKm79-GDAoKRcN(EfYD)nN<#6Ti|OzX?aD?_ui#i4r$*SKo!M>O*rshJap*UUH! z7N~7zG(}GXS4j<34T17K$)W<9{aNr-TSU<+aj_YbRg7;+XgOt7tb+3QvQ$^#oOqoo z&qq^t6^GbVwZCXe99%_ZqmbUSti-8+#vu?M%89FUibHKCf$O@@1g>W<*p4|%wj;+8 zfwye{bLY*+89)Cyo>}@P3M2K%D)Zs2^UlW){`ZgY!R~B4vhWprhpy#c|J%RCznpnC z?tSBybcBiVfqG?m=R<+dbEY%cAQBAkWF=xe&AvL{ZivZ{D z;>}1a*(&?GRCOrkdGR!wdo4p)iL@e8jvYVO44<+rict`ofbluP&v{$L^vkWm^e%x` zg9>8&d6C*X))-fuCtZcL6k+3(+Gkoefjfh1X*eC0a3<`u9^9X`(3L@t1t<#?Am5S> zN2pNhS=m9jteo4`uXPr*G?N)RTY(0QHu>~oh}ChD=W|ZoRv)823~*ut#FUk z;&8UQeY=rbyh-4h!JhY1fog1J6cu|1?c=Sq@3#=#ZkOfq{4!{tXBBOc^kVM+DvrYz zTCR)saT#r|Jx$VnHHT@VYM`b4$&kZ;3=k~yzR`{g{~n5i*=kyGs^Thq;(=@JUpKf) zjq3$iwEP8B^1r36VT9|w@K%?>UQvXyNCBMDV)$8U<+eAKbWx-qhC8Y!K+J(PmP6o~ zlaLaeShvc+X(CW9n5wwOQ;7{S52wJdK~j#VgXpJ%>kPHA&RPS3Lmu5g^2Ej16$jTM z1nVYUh07Z}0_cv2kw83;ZY=sZylUXeN?Hv;Nn*r~7QNHM6OS5+FArR6L>YD~(XB+C zgzKnL+pRd)evv7_3IHoWSkp@blHPLKeu5GjFxB)qM9r+~q4TW0oQ{o)j+Gr%+{dy< z>6<&*LQqgvPOQnbu0@(ZZ!q zA+=031HLKqED7e~k!K&kEqC0Ax?yFTU9lo8S@jZbzWoN|yE83m^TekG|K1uKosi0#>a1U=`-gzaNFA28{e_facwV@MH7v#P`34 zf|I|7p_5KR9s$Nf|L|?(-*7d4owh*+n;kUp?A+5pP#UACA*imUK`{*k2Ll9pVbt|i zAW8$EpKzgd*m%WiEj~ti2 zp~vORaTlO5fgc@4(J(qj2%PBk%n^#i=}gc% z1zraUUI#-;B*3XsBdaK;U9^uB$kif%9trg|{Z3fH?Hi6@K+>_J=pCw*d9bSdd23p= zl;2_+OsxKJF&>yd7x&JagA%$y_lyMu%o#XWtbU2!|0VPU{iQUxxbB9_zBR3-qR2|S7=pO#XJ0|!`%*j|nAKtK z^E>b1xp;w~^@W!omNrAj0@v0P1YFw$T%7`={6_{uC#MRtky{&`Gp)3J&1z~j@B2;y zSx&WX@A0FF?)hxc)G=I-y&nx=XuK7*tv)mo(2XDJ!q`XM=p2b5)aZ~jUx80CIx3U2 z;L0W!s%Uw&ZC+7q$3E^7DCJb+FhQEqk5!2f0baSd4%-E68|Ydv`f)e9Mrvpt4m5Of zdVK>%$2%}W(KQ$oFy@qF&3K8It@WBcn$qfzgRA0h9G35K8nG2#0&YJ)r}t`G%Fx*t zp=EZUxxb$V;0?&NMzPymfsXP0sOuR*wzHN7#1UjzE0ARi!WOBac?98WD5l7Vw=SQ? z5HvoDnGxdN-E~C*rtD4NCpflN83kDR-XRc6&pCxuGrdvL50zR)Q8d+>LoIzZUo}iB zRN+EvxuLajVIv$i8!GZEF1q<Mv8C>Vw_aI(hw+TNv>ug*<=XUHav|)FCDuGL~>_6V0Io2%% zAKR4Uq4qhQ?kYT8aphEDQJkl#)_iQV+F!*HT1kJ^6hH=@-D-+(DgjfDJxL%;K#cZr z8UZXnm)cuTx)}eY(tBxYy)46+<}%FtnqipR?Jx-Qw7fj+j|MFzSW6L>KNnaPS8G_c zlyvPFYpJkWUstV`GqJ{3`vXO33zH_`T1@9&X($60cC~iwhS{fsJy-}mjVWwiZdXJ5 z#l=QSO4a}?ymB7X`s*A7-xW1aJ}Hd^Rf7ySJ61qfX1OZH1*ZM5jKl^7n?J2dY&s<1PA|{SfvDm z9s?n}2eScFnSiTtDsZaxuJQM4Cc$+|J*t=~8IL1X_-NpIq$9Db)+p=8>*k2jb8ZG+ zT{sD@38}(L4_c+ytgq2X0MDtbE)~KUN<9h$a(j{DYbF!&7L<83dK~Ob8 zO+5yNYf<0mf!?qS4?l7*Hf?`TdXSDCYLR+W?xXnT%EkC#!wS^5hq33Qe)?_;?A}r= zUA`0#Kk+z<9aii)ypJGY01e$OSf9QN=g_s{@zYMj^WQrKH+=isIQJXh!2GX&9sVDj zivPIga*V(HBC6_Z5NeMSY*(UbxEfu1t5M$NL9l}WrNM`LHx}UL)dqr83W8N`U2y$M z1Fm0TAQ&|qAF!&yDk}%iy#ka9-*Me)+0VsV~8VoOlUp+m{d!<)aa(@A#my?C{^G! zBuZ^R?bG3L8sP73!QfaUdWWmjI#>7SHe%xMG7K@mt^Q!K^nxv+fe(W#f4`irskh&C zBUY|`Mc{|)Bw59r_wa3ShqFcD)aqIpMjbS0V5QYmxy9}_Ta>@GV3Tz!=~ z+;sERm^bSZy#2M4@ZryYOxJ9~5vjsj@IK>obCYEU9(wdhaP6h_X0>%|@``whvR1F^ zqyaa#MbgutPfMTW_Ceg^*G7XiPAOItSBqlObOM8GSAR%Sf5kDlk5h$1^!szbTTw*s zSBc`vK&!b5x2oIA@3j%Q*0=jn-Nc_)VdPLZMi2GS@vgz>;V$g^xL0am8BC?twZ$d1 zs|=&8xH8C=H#o%LsADLK{l6VT^H8-IIWf2@PQzA&>r2GMDWV!HacXUl-s9TYTDlih z(eyRVtkTmt+)L;7SUbihx-l@)LhHwA%LL7hHUd}Gxp;=!)AuQvKp5@ zvI0N7^Z3E_HUih21aSTS4^GEf=U{z6cOAa}!_%=LQ;z_=KtsQRiaG(;M_zatE4QcOlv7W`{AXW)IaG}_Q<|jI z8r44xczrd~B28_bTHiYPTDCi0rt&GZv&jOz>?oXM_&^>RUX>cxjJWcu^?Q|VV@3@l@d=ULG46Int%&O};f##@EHpY#3>tB_ZwwyN$+7 z+mU1A)OH0@6_8a8qEu&V3&Cn>NJp@m2YbYTVtH?0v&C(gosElJ z^!u=<5R`61k&hl}n;2mEnCR&DSK#B!20d*v0W3joj%^ohcM>-4T=Tiw;r!Xawd1ce zRrtK~&%=waJ&#I)2w$}wWx-;&BUbogHmPg%)s@O1!XfpnN*b;+mZJjeR99h5O^v^v z!S#1KXikC8&syi2(1s^5oC2{`k7tz19L%X;>uM-i$kK{d^nYt3R^ZW#bNBE|4jnQ8DBKy!CFT){%Tzi9>L-gyhw zZFn0!BQXr^iD7Ji9Y*%WP+jN16Hh&az@jxD;Ft5}d~FK2@@Ezr09=3L6-Y{7jlS`qq@8Xf zDCAV#Qu<8knd^=#lz9c4aPIkM!bbypo-Zq;?|twJelcg37%EK%*V@)nyuV>7cDytn z`oH-bJoD|p$IW-nMn!$0?588#f@wM3djbNS4^2~C8KTQ*AjeQ`EZG)Ucp3J%x9v^0 zT!S~>S%5}XVCnrJ-6I&NHz&Of4-JN%eD;1kwcr6-c7g1VnGBj*PgHOvPz~2uq#X{| zjK*Ds6Tp?#`R0Bf8oCu&tZZQ8svyCBBf9o9V{m^54*qVK_GdZm13RKEZUI*<)i>H^ z7bjgdPl~j8rRIG6a1T1i>J|5423!?fIaQdy$7#dtGR)UdzP3rwHIkt+)L=)1)}e-$ z)6pBn;AkuM?Cm6QZ5GwIl9mx<#kbKe^HOSDEk{ie)@oQe_&KY+V&>GypRsaG+e7fm zeQf!+G_-Gke#e7wSG6F+T1|s@g43oUWH@TEySNgm)+n;=K7ut5{0-$a4<}ut3nbk* zNb_~k_1VqkM%6T?;8b9ORaP`vSq;Sd#wzQ@;K)5(8ALepRS+$t=VBV;QQP6Db*>r| z^1QUvN><#oI#~v(e0E_a2w`w##g$7VD(d};O5Q;GprJ_Clh-#aDzsHj`PoO$0$oPO_T0M`}< z*Q;^Pg%@MaJ@atp`RC)@OE1Sm3l`ywv(8e$bpe6vsXstcA)QwQu5WGHfm6PJDmG^4 z#}(JV{k#8#e>&w9oJY?Mo*-P|2r>%@aBSO@I!bTqRHG)fcc})UiLG)Jl~GZ+i-PHK zRkARoIo2xBufd{GHB3rWWmz@UscEJflqLeQ-nBb!^2Cq)X9YV7Gt?DwpI?GLhBj6W zQvh1( zig`O7O4}X&EpeNioI=_z7Xh?KC+1B$S{E^XBKXcD5Z6iFa*`ZdHe}-9^%PfU`2!#s z8+NY#3S7UG8rKWY$AU#q!(C~WG~u@4dQn{?EnawIbRn){H$0uxvzFE6!dj=3`cVN_ zhR0g9rZq99r3_Dro(itcm|jUq*1)xD5?syGz|~c)leA?wZJVz# zpKds20V&N)=!C0hJxY!0v1(S8x>NU&;QFPc;TMlt^66oHv{GJwTp4h>?`rc znpX)f_1KiQ2G`wuHMV4|rR{S_o$Hp2b=XGG$!WfP>{5)IalBFED} z7ydddd2bsHEFQs%6sQv?OEJ~&%PXkL3z(YFufz57sD+lR+?+9icJF{N0GS@izZZ|X$(T~}mA|CoQ$ zRhQsZfz;5EF*G&WKDX-XneqMhX`gow`c((v3iJ)dFt)D^`w#VD;&4Cq?(f3TcrAMO zgaz3Cl$JMB!S$|5#g*2B&5y3T;WF&XAaLCq5=h*Ux(c`6euJb9OD$~No!A3i(N>&u z?oSDza%H};Rx{px{}s%cdp&_`*`zv~V5ZbaaNAe31%Ev0BvgL)A92&YHw#SiI>h^_ z&IGQH-l2eNk76jrV7+?%Yj}Cd6Yy5##T|or8*aP(dMqPoRRB&gEJ~(ry5Qoov1IwP zcz)3%xZTpaBV%Iz%{6(3ajAChD*MRBKRW3Xz#0}_kvTvRZ@kA z{b-_VZC#gJ%-$;M%Mj&S)xIhM+88}ni>ogKZB?63QCl0;_BU-xnr~QAZ_5Zg>2-?} zy%SBSY;}uC5yPsa_Odb?H)c}ImHeu!ui^k)O7C&nt_{(4u9L1o&rk#Uhngf^n4@c` z2GLG}Fj|K&FRRHqGr01+rvWQ3iqfP~X*s zvWiw@+NuduE0A1TfwYoJf`EGLwp2ss@zD6d2XCWCt&uIHd6{K2qNS&-nhvbA zoY5&R#_Vw1W|I~<9u-^_civ1z;ZpmxvRkZ{nyDBvDUX_QPM(_L$pC4ld7Gt&(b%QVhw^&bUyU|VnnS$(E&PXpRWgV8-sEji(wDhS539ghjjO13 z-bt5KE$vcLl;iccS#f7%gXVaw_H~uiSc>9c8lHS_11@>&J^bXs_wb_!J{!1Rbj4MY z>U-|Rm*KUw8}R({RSLK!Dd76gr=EswhGH>hy7BhAaQeUe7@2mz)VQ8ausV0%qj>h! zWjN>j3-I)U1;{HXLb86Rq?+b?Ql|8Aom5UUra-G!(;2Vf73DD_ew^exzKltg(xsX^ z9Z@4YnSQH9Vl8c=$(8n6V9UA<*;azk(k%q6n^hC1j47>%G%(hjfwNUW%cjU6h~+v= zK8E6GtSXJt@<(+O*0xPkR}Y4PcHK9 zsft^$S~shiLmA?!*ouJ^|2e|yDF0Tp;Iw9`vsO*17{nPmHDxth-432tuG-Q^b3_(r zW_slFSsG4kRRa84h#lqOv+u zUF&pJSE+M7Hn>ijGg;xPGD*#@E0(9!+}7&o22~``P<>n~spmMS`{E3kwDezb?M+lw z)f&@SKdXGsnN61%VAcB9FAH47QJBHCCm_l+*SE&hRN?Y&8Vq%m!yWU%UhP7pn-y2T zfGelJezqFdF924jDXk2r#RQFSu3L;d?w^BmFFYIPU350?dhk~1yXuS;p=Q7@s_UEU zUX#?{8-6(px6wfR&9$$}fQjeB?HFEt`vpAp;v@3!Bdf{$k9T^}4$Qsxmjt8d;rd&y z!P*_~$Y73vm{r^_oO3PKZg~^# zdK#GZ_^>5wJ>LFc846ulsBCv4vtS#ZeqladTJkhrTKp7Vf8%+qT=P1dJ`)<6Ls+?L z8CI`bg>b9_jlErPMylwhZo={pci`RanOM0!7pr!eur}R{oh1=udYUD&C^9^4$a1zL z+tP^a(ptI+G}4Wv8G2`vgzx>`82-_juwQyJE?r$R4O$g&y?&)0cdakR^8~M}OQP8A zZxzt=5x|xcc-mWrp|9?NxnTgsb^Ulb+pnY)uizA8lc=*VW%{t$UJqk+H#{AqaJ7vf zud)m8m&UNkUWYgIVNq~r9RaSoDZyZS1Fh5RImPH6(csfFS-(2PfXNq+E{gU(k31%} z!%@<9k5_5+68QQFR({z>giPWc>X)wU)xLveQ0@ZrV{>4@D884@{)q?jvSShGtF%n6alQNgTf{xMs-Z}rnAdmy<9Fi2 zEz86tijSS4WE*a{@k%Uu?Q!_4^x`NSsVkIqD0QWZxzmPiZ((U5PmG#`~pm4^(pwxKsbLru#f+a%|UkAk< zxKRO0Q6T9W$-$qo`pMurysr)82f8t|rxl|kUD&g?3;kmasPBsqbg}B|B2X@ix4cPo z7EXj#rR9wRisf2;Yy&$B^E%i?C2s7G5U@64bYCZi#)nbW*a3s17U`BMf}bj6+4*@L zGE3@_QC0(6RXMG%M-*FsQxW_P`7|$vZo5*m%Ro*0iECWh4VD#B9(*&vvRRY1z1$v$ zTjD6DND7>4ZEv(1$r9DsRjY9=QdK=Rtl?U?c$cR28Gxk&oiC z0#w#`QQhPws3v$XG=dys+({reSg{N zb?DkRfq9QUO!w~#uxZ;)q~x)3r$V-GGOafeRHuS##uRYX9F`4gt*8=7bX-#709>f5 z=~}y*NkBfj>C^O>bURLqL-2HkHgUS6%{x&^))Z9@noUPIC#NUW>Sn7TosbUgR@GIm zZ4PH4Kd87X=X38>b`mZxg3g+TB5$66E4%y})n3I~Z(MEJat;Nu;|i_@nVizgF1|Xa z(!z&flA$$EHDHdM4Yaq5EHD5D$d*C zO2LMtwO@hjm(|DhMQ(@FSVn-yuEIs4vf8T%TB8Z|sZoPC)H$lN;fU#!wBYE}npG_( zYgvy1qQ`>QnUvdUDZxj;ZUPt|54c)*CX!e46@S78lY*=WkfwXt<3_**QJ&dES? zETCil9U$p>=>Dalk$q05t|yi6fAQcN?QzHFU)#li z&CqI>8du(~aF-uWIu5ofJMC{5-ORZjwi1;cyf3}S4Xa-yuqG<599;XeOTQ7T2@W^z zeh-^7)=Ijr(UmTPE$z<=9xxRLb5Y>Ul9XOa@lBW?rwVK7!ZSG+D>buT)qqI}PDj>K zrnS1?=J5(NkCmfs4?)dXNS@bm4K2@)K)Z%Or*=3b_1M+jPWf*0NC@qt<>=fKK_5HO zPBdfWU^lu3Td{im``Dh&7u<4`_{(YV6QqlKB@DhguW`hw-wnG>7I6^yW1qv zC~^o+4W1Sl{Ou?RcETL)LTPyy?T0qn4^7CU&z9#`ps217rHzBIHVvVSAU2=gdnLy&DaH(~Yt1z%AkcLZtd=zoBiYx2 zm$Ur1XG4jA?Jw7uq~7)V75ZaBs}>BmoR<7%UJ3dLd|1V5>*IP&uhL&ujqahK(uRf} z*(sTyAK@507#5=?Ev725(^G-H0;?^Wf;$)@=v4c&_Or7v9mBqIbo5tYV5AOXd)u+^ zU@!I)v>rG#guN5J7#xiWFn0{PKNqy}^b9g}?F1sV1$b-KLfmoBFOX$eFR-Sx%W+EG zCqtsXXsgt)-v8jO;_S<{ptS^uyR+9Kw_uaNBO3ud@$7w47h7PV!GmctuAX%<@(MP~ zvKT^Ft$PJIrj0Uhu9IE0dJzm8m%?+>Nm%~9?_$oqzaY3Q5Kv{cbjh2~puml9f*a*HFD3O+8^zAsc(j>9Y{32=EwuxSfr^sYKK|tv4zwrJ9;4HLr~p zsbdw0ZB&3%1ImyJxLSYJxZ+CB%jwz}Zf4c83{7+o7(djDeH3G3Js8{9g@K6TUwWpEAD7SrIB2Gcai zwuEzGi|ED8mlYV^J}*O}3f6pI;WXk&kWq|~SV3YSVD(9>In7s%eZ+xSP1DutB#V5x zDDh=U%A(%6T^`+)MJRI8yv;gP*Owzy>yd3{#Wm2RD$+4Fs4N!94zp5B5uo?DKG#O~ zu~Gt8-WDE^b88chc)wS#;+$(yQ=JO~3_~di%3Wr>U#8X?hf{}(JhUy2RLpy46J{;k zfa_k|j4Kyz#+lD-!PyJ8;k*}i;%tJ~TVLCbEPDj5re4f_U_PFBX)($gx)A8ugHZ1{ zJ|uvBe9>YU1JziQl8L8YTZSiIS%O#I{QxN?PK0Q>#<4?a*|QINvze|-?Kt$?-_mcq z8-ZvIT|>M`*6oa^n#N(xpAl~rH^fvVh$C|5XDtV6;@i{l+txaU&ifZ^60$Dk`^_JanWS$EuXtedayoz zzDtTV!>wJZ>6R8g1d#llOmSmQj{i}hDZ+{M!CHNa>P(93RB-hOAjW10R$!}p zzua~+TJKi=H@}wln>_Y71ze+j3b;mk0`N3?=?3pWS(TFp9YIufMNmIb{%2KJKTUb% z)->$?TSpMdAj!r_tcq&JO_R#7H{SpCb1koX5?ZysuQNpz?Z;>@L33}}QKoUyezc>i zi|b?UN^l?44j*c|0%+*2Ms05s4FFqVas`lM^V7wJmEjszI*-$E ziPL}?O7Gohmh@hZr*=6do%rSK0NylKV3|IQTh|p3nC4^tHXD}e!g!wsmM^CJaQ~)K z+_tU|w-B)2BG77_2Cced2CJ?&t}VX* z`S?U9`iGrByK?a!YFPE3ZF^S=V2NbIv;xH_w@cx8Hk_Ajl}Gz^tM!TJnU{ zh_aE=i?2Qkf2C5x${@tRw`BPy6h=<%5&6yt`2cEW(ApRb?r1bbkk?-l-xQ)?W&j;oq%Rc zQ-b#+fh&gsuDp&O0asVZgsKLo3a0F1yjNMIMEYedsP z721ZPsOwTdv9iUE3RYX2&2eyLNDL4pvOyDnr+chU9=WcS)!C40isYqf;tsz}N-G*o zZPmb4(t5e4YBK>=%tDY_gYl30u$Rv5k$oK)oamx+pbc$(F~r(v8Qe;T;5EXj%M=2! zYOSeH6kS$$X&u@WXs&3sNjh`5mbR53uC|+gQ-gKbceo#86C)TMA3?0WpP(~HgWX27 zj~ym(-AmWT8mVo~u=wDJR>IfpROa1MNRK7rO3V-}233t#fkAt@4rXtLxV;y;Qfavs zY3JjPnq(hv?JEbDplC3ov>-`|*N~Q|F27o97KT7gwKJ${nbbZ8@?Z(%3a}RXcS>5W zC6otu#0-Nu7r{y|?N2u<>gd=JoW{XkAhifSg6%+k3H%JMY}iE4owS|;CJa9eOsd+a z)!?#2veptu+;hE39c~=%RD&j^UuiP!!>vjRF{c!>>oI+g>&dM_9UgywHy&M|iRZRv z%-Xl$wBP-Xg@|N`uC5+S>d4loE7iinh1P} zDZz;ftLD1PkX4|zrx6uXHBnM(m6d+1+C1W|a;BI&O{Voq|63JEHT7ESm8v*8b2_Zj zdsU~_y~=)Nkh5?L9i@g-n=b>IwNg)GDFRLcPwpkk^`hJ}m>>Ck0ZJ6fbXt_rnAsdR-^voBq>_+Q+iVJCC^fFUFTJ$At}Ia_xescAJ6FI}UzQwC zk&Z(>&xf-KRCQG#Uj=T1s?KJsEoS%_$hpL>)(Ne8L-}Rx4@1b_T$@e1buv(z1qoq)M8w{>Zx4+UcM<4P0k{*0^eW zl)BaFDZw+3l-4&|s&9>!t{jI~uj=gUQqzXj{;9o_wXQX)>KgrmK{hIF zfH*xkNP`4#99%h7n3rF{slzm|uk5U#0fC!tmToa$qYn zxH@O}oCbAWG+62^rD^P{itD4-5rkVSXn=(ZHrz;I=qWkE+%l42+Fo{Lnat4(&x& zupSq@mZ`b~AD=rgPs??y46tmZ#1P9M`gF1jn;rF{u9|9kvD4cmX~V3hK9S^*y4ZYr zpHqZ0!tF@$w_rPg^}5n1o*?-BzwEttoE!Ib?tNn?xk=u8^PKY>hFo5E4q^`iuJro(Z`9%SMl-=+RNBo9Pcf`UFg_K< z#B>akbG?|H?ZMb&7e=R4jOjsOIXo7j2ulo(hX`1MGL=58qq;Jyx59BreIlFdENYLV z^>waQhuhG!BG}U)sk@x=tLjbj!uPOQRR7=X=m0Y zc#NL!ra{Jk{N?BIyI=eq{R@EuT!cBDSyzF1eLQc7*1_vxpdFfZNgXb4KdY&#zSX?M z49c8~kt2&wm)dGtl>RIAtpu%{PM#QaNgIk#4}I5R4}q*@(Q^HxPEldIIZI>6EH#;2 zgX(0(wBLp}AG1?2^rb!YzozS4(nRMDgHkXVS{XzMf*4vk?UoIh7JfI0u3?{~^ZHpm z)l-4>I@G=cYf^Q1mDFQyS<|OnirEY@Ht56T-ZXaqb{w+{6LgFZ(|;^UAReM)kG4B* zg}+;+IJ>(!9oQ&v%H~Thf=lkN>Q3#d;{3k7C}+F4`pUMjU}wG_Oky#BOE=oaM74RT#mW+S88ureQuSu zJ@!bwwDG8=!7taovKnjfRfwZ656)T9VxZ7dZ}mFSI;}m64D|Er7kj31O90`c{ZrRg1(UrUfgUG?QTojCZ^kvPPF7nPWNE+Hdel4#+CD?LM!>XA zYk^ZPeMobLJlVE6nqrw#yb81MprCbYRw=G?YBiJ$WUU(o=&b}$L!%CiPq;BX0Mj33TfTwyjvbeJdVb`3mlRW)<#w`eoel)QhCpRV(nwGiwp(bkVWx zrsI^(DKw@?4Y|}b<3LZwCaQlcZF2>;K%vhqHEbr3EYP-lhbX}eHHFO^vn^wC(3*o- z-tTMu;-=l()TZDdJpduzJj+4UcsjF zHS)Ro@4BJvEo`b>gLmoN^{Z76;-RPS#`CLxg-sP}1jN=AzmD421OsHHlLa(y+YqceDl0hiW0m`%ZWp6VyuB$0#E26@iQ@RXO~$GkpHdFSJnj|o;> zbwyXqne5xe-M898$El$JZJs)mweCctjg`oqlG?7rr+#ywK{NAe($voeO?6dJzA2Y} z&G1RbTX~0S>7yTS73Lk;_A`3FVF6l8fd-}9&yhpb~+wtnR+Wt%_V4|`Rg~ojsE`&t{)9n4-Kxz(x2f@IO6p%MoVGl9;liDQyamY z>b08dx7rrgTHQ!pYxO~0fER)5GU{o5s_|my;boxp2;o)_BWQ`qWM$3C+wnSvXM&}Js7NpmVjwD zE#IXno6?qt>qCdM?b5+oi|~j&3))$eCIY6eLFI(}Nh_{Vx}dNrQ;eV~Mt~I^)WMZ5 zD0E@*(M2XegA+^C27{L%Ea63TnBbKzJmJhi(t!Vrfpsys8ff3-z%`indMMLDueZ^( zT|w+1?e8@0>wyprQX*&#g;C}RW0$oT1=b{rq-M2;;I$J~_AWZv_relMpff#*k@@#A zv;Wr;v->~9!uua!9|ccG=l9cZItOcL0FCwts*Mh`dwg^prjeN$#ZHqS$NqA=w75Ak zwY5S(lvPx&TjjdfC(B(Za`#KEt1&T&_TF)n_)>VH%!vzMuM-GmxV>+u1#Nv3*&0_i zXL4s|Y556p7UuNfTQ;^!JuO45awJ{?t_;rf`Im3#zy@awdlvdIL6AB&-Ax1LZcNQ2 zMD3j0lfvBYlsul9qv?Du<_I8XXZt7!Zs|P}Q=JrD(r$y{lR-4e?TQ3oRd9VG_tH#{ zs{X7hyaK!#df(_o6yxKa0MEFi3#ik4bKaGftp8_VK_~DX%u92@Dwy zbLq|2C184(7(H|(4-x$YWTP~=V{rXf0@wI%?;)38b{$-6J7iQamk+4R#b*RsInt6+ z?ngWmL^BPhxXn#6ufA1OWIBfqjJPDdI5uFGbG6i&CJi(t$cr1%J>;d|Jxs@GNcy|_ z2}a#oeXH({E48C>Gu*xOxwGBay98W)Jqm6ehiqHZy7)0W{}Q;mx{YF>6y+DcY#(nhJv`xOaL6leiK9U~WqiRbzow=8w zew6;xv-86k93G_Obp|b-PL#GdY2X<^dS)-WhNft+8$>~?8wD*E8n}CD9d25OQBspV z@kWBwCIKU#z-zmvzP3rKw7B>(G=%F25NYtwDj0z)r!O<$Fc5IMaf8-ZQ(Su8B{Hz) zfpk`R)m>HD;DrX;y1K{88mB!rILoBhWfK8wi?>h|*9J!keZCp3)+W?8R|>eY;_B*F zYP5}iYl2o6Z-b^#ONg13Y9rL1SAWYbZ*riPOKq;v)J8pRQ|}vEq4f?`EoNAeE0jK; zQcEc+VsqpAL5i# z7x40HX&9|^y@^|qOw+kapw*F$uC!Hd7;GwfgCO@FJn_;)*j~Rb*MpR%kFRSZ7pI(cA|8C|E>Rr0WgdUdo9yI%&3Uxlw_!`w+gX=sz8RvRvn30jIe1HDG;C&*WLC)fwvli=B{j0hEG*m<^V^j zW`@MaIN!+OTJ16|HMl}c->rA4|Acbq)zX6XT3HQX`Ma}mQx;~m_whRQp0!fPDsID@ zvcHLbbEQ-RSWXcx@7P43y_L3Oqa45TxgA^3$SQ2Z+bB0|K$USTstCxN92GS7X+fK} z1x=P()SD_%WuW!8?L@ICvs+MDzZsQH+t6Sv!@5nYKc#(KTR&akdN5!;6uAEKnLFU_ z=TzGYw8q#uxE$?W6%rjZkJE$MahH`>9V89QwWnFuaA`5L9u2S_$~kzsFzBB{AleZw z6Ugp}90;y@jjNqgg#!v)B?UTKE~&z85vA4|X?>QS2D(_cBA8Ye`>6DGRT1MUfniKs zbd{2+x4wx z2b~0336^LeH5@~PE<#Z@49R@PVD)1H>r!~-(4jRnKrlOCq+@`lgB_yC1_@yOgI0l7 zUn)cwqzGC9VN}_|C^ki~%R=C4NuY?Pm5yFCc;m2k4${DO8nbiz2vFb0zWw{~{{DH2 zIqcs*Loti}@6Xe84*T}aVbA{kn3~&9QqO8lO~Xb2>KvSbrGHwShwtBE6;NI3415-?`}R#8*lO#;%32>@ zZU|wAGlAMjMxfW7nS-Hk9GeN&8Hmq+tp;bTEXOZaDrn{HJLlC}T(r)BTgt=O9!_EZ zf(EGb{RFK^=_$#<3a1W^Dst+l3QpZk)3PZV9LMQeKp;y1JWc>A082o?<~Nzin8eUj z3?ow^0^}eCD?wob<|roSyXo`e*u5tq4#Ly(1DM}CNI*SE(*XhKDPAwVe`q`?b+7}U z0J!GD^3mdBKvI)haV5eQlguF4qUy< zfU7GnmIGNf3G&i=rH)mMnCLSJVq+;kQsZ58Yy<_UQv|PF1h0va0D1@9h|%|rCVdDe z+{(O(0MIhxq}9iENd;C8vMPm<-Gf{Fm7=1l^hZ@g%Io3azNuoEVHA4K?joBI=csL= zRk-E8>#(C?y#VTkSDu4+3SX6d#tQ7M4_=SWm2WG!B0wx?+<;?$_Cq}W;zQ~tf}WmD z>wB8E|LR*W!`7O$N^$j;spCphO+RW_yK`Whh1XcU<|e%hjdpGaqr!xym?cL&2d>pHh05tdRBHe;;e+RmT?dTnK zqDKpPJmy3nP5Z`N67jK|*-HPkAN^B4#3wxH8g(3?xQ324v~=ZeT2~h0)Hu6g>l#7d$UMg92~_{>-|*Yten4P4O~5*h5BE*tgMH%^Ljn!Lg4anbER16Rz6pB12YWyKHOBUQNXOs^U2sDvF}U#9+6w&RrK|9RJJ;gm6@{8X z)4{=&Q-rTy*NScSKA8Kb(AqO5PQsPJL2Mx)<#spx`su5dYipy7mDuFz)aT1^@^fW4 z?S%?l^>z~;F0zSZ@dk6Zqz*r@(;|R;h6b!>5eT36Ruit+YQs&HG2Gppz~(@LfH8&1 z*`%mE9FsKIo!&hl!OG_}!|6Of&I|4No`rsbR|T%K1ggb zK7^7s0!y>Nn80nkRTNksx4t2m>m2l9;lnX>XZ#0%Yd*BPHA5xWL3*!xxNT0CYA?f( z$f>>TXzcAInC+tLZrV-PTiULfE==v~r|pYji2j?Y$sY7i^q_Yrg3f^;I@5k>btCZG zqg;ifNfSZ5U;f9l^AiNW6KL~xqOik_opiox_H<%s&%Yu%FoUYrAWB+2C~oJpWx6J1 zxE+rZv7`f00^%UIkfI)%=L!ct5WaV zS(Dd}gpFu;KEo*w?3E+zj;sr-ZrD^~FA(*s-mbuiQ#QGmYqOiiFu?{yQ(o!k+GMFg zpojKF7yWkKE!p-rQtPTY46E%_5UXz|e|EOrjb5`!pUI%XJvMp1^lEkO5*4*VdYA6h zQl6EH+(1ChU{mj6bx!*Z)9)M145(ta)60%@ppsXAGBLF^#gy zPV^*Qcw==EPd<}IYljyV)e&5F1712p&9FNCVJ|J-Y=GIlx4Pb52YgwgPcYFTP&whYa?>vcSe;J;6 z<1tZa-z!@!CPvcEi1yK&TVIs-v!Yt>E*6FKmiwDcYg3KTz11n*iibW^g-1PpZJ)$;>L^d z$n*C~S}gB#23JlM{%GK;jsu=%6Z&AbV=UQ8aR0hgMttMEn(`99wRpo-_4bo3lQg}5$)qAk&Df4;_ ztZu9%##NGXT&(&Ui&DE&)KpemceTDJ>Z!^OD9E**YTdX<&6OUp+-ir_*_Ms64pxC1 z>3FW7&G8whh;6sAzp`daJxaQZxE_&@Cao{?aaWh^7u2su`t4WzNby{JMDsa_P zg&ADi1Y8yHnj&<8qLV@}(Jr9KFq$F|O%af)@JS5J_>rEW3+rq!8=3hKhUUW*A$g7a zLUtaZs=5?bm!{)(aRYe**v=s*LIVys=;Ce)vvZ*Xo}?GPejj`(8h8xS#e5`8gA^Y@ zl#`aX(_@BJhRJpUY11d(zg2;&n;_J-2wX$-JUr;4*Mm~m8c2ufq8UV+-v)o&Bdv3? zitGOc)`P;T9$vawhv+wr4A3An)uDl_iT0s|_Pd*o0Y8kLUX)vX1gkL=SW+l7Cs1pN z!sv=1&^w5c*?su+Z-0y5{N@9^zi)~lbrc^g4B`ES3>NkdU}4XIOn2`a6t~a0y@S}j z!1EHc%n*M4!8|_v&A(x6;Wu>A%h2GAOV8K(1n5Hptd!E=E$7D7V z7~j)J@9oCujH3ZoyHwC9C_om$F?Y9%e(seV@L~z_7V9MZXCZM(TwrAVk=y1p|*rA!=Fbr@VDXXar zA)IEZ_q62aJaA{|V<=)}Q?Do0+kogbu{_YOrGYh@DDkrGfl>m>G8hQTOrd&&`(0>v z)T6e&489&a9MN{zVrqNXjERky>)|+DDDDO znKp@`O@m`Qs%bt0s?^!ia}HL3S#4#r8#eG!{ZDrh&=kVxtCUpo#1h3d81>@fi)XRD zpcmuQRy_Mc8c#f#K_KEmq|1eCuOG*8Ki!LyPuYW)UKxPh9Y9~oNuat|b>-;E*hLk$ z(wJ|>$_H`rHRlQ>^8RC$?MFZTK3?CvQWR5GInO-*RIJ(Ya`pxS1L@9&^*ENmb#39R z0=sW*e+ehkIcXz-E8kcUmt|V^h1E|;-6_|ivP%1_7azp6w_Sm4bvbb5^_Cg7;k2_) z#Mi(1HT?9%WAW5$zr^OMw*}trUvURLe^egpb<7NXml6=){n)M8S-)PT>e6q*P<++R zm!Pm|W41P$L6E`lN@cCHZ>Mp@R_Rw-!*!k9`_xc` z76+RY718mc>Yv3ynD!sTD<8{sj-u?15xqv5`xlpMspk4IFRg1jG;r0-oft+LFc~;` z%IoI;l5X-Opsb~>OI@tBAe%C*x6{$l%2 ziH*?shRk-!aHy8ps{Y4Tl|nDAcx>CV83}x2=UsLc?oVLj#*KLM%{Q@n^=iEJ)?3-& z=WEuiktxIM&Ye3yyWsj!fb~#{>qF1pF5s$wRY5D)dm6)>KVPmvY3-r=tsaRQx-7UJ z8MGdGR2>3bjRLN0&g2N2U?bS$RAJ>RT$TmbHdzPFrxUr4PVih0I!M5pAs`)@3t@zS zlw*trpTiU*vufVhd_;mDPiWJTnIHzHyrRT%E$T-F)EfMm6EqUI4hIEX!*r5YHMu%aev;s7QL3)gxT@AH(Gi1$fUBfYd!(K< zJQNbZwsv{w7<0lBGD?l>k%DVzNqm}tHJBGil@@%!`;@yi*D(9&!XHXIC6!NtYk^Yi zBFxUhHu!0fWublB=<}f57C;5N0UHx^Qjep}5kXIXTGD;@fA}F5_V32N{nHeq1ge7q zt9$qKV~&7oYCc9l79|*q(ed0TF-fpBIUmC8o^I^kouT*5W8s4jF*v;!reGY8t|`Y? zE_ng}a@ET?=9*XW?Hk^}_ikH*;~vE2wnxD}? zmeYP&nbHUODQ(IrjSRLN48FWfHpW>k^3qztqpnruNN-kj~3 zdLX=7r9Wyo-bC-~IHc;D{DXq)pC`2DrwTj6Ms&CumBH7DV^OMbTyr8$(!joFm;h|V zlxt5Tu-GE-+D+$`{?Q^?mj1C13?T;q%br-0!M6s&VOCl*&4=HitPpu%#kGer?vJs z%^?~@)A`aw=g&lhu2o?IavvR+6hj2_gFeL5Ui5OBH68!nWRvVaYhQ=JtG!q6PurTE z=HO5%uMDuJSc8Bet4yk%uQ)qU=fSkJGNIRX#Zy;{vTaj%zNG-|e$~2!fu_+@u9@`I z!yTi2-EAh2D2L7025-y+XN|z4#B-NPwI;U z)p+8C`*G>D=Zk3)?^gzzA0Piiyt!qSd^ZNy)6Y9a(slJZUIyA-Et~L@6OI*d<^B8G z#^(fFw^XmqOL;B8%j=)TRkvJ<^(Ak}`q((>x;w5A<&b|by{_`An=h3*S^kaJm%NGd zFFy;fzV{r8nm6KlTAr0(Ny(<)mkozn{N;FH#hs$^@-l45b;I3P;f(W7!H)WMDm_~R zI{scC2V89c@IVj0OHzcn&Q&rA=y{u8L8pM2X{U0TwyT>IHI~h&FcQQ%%2919L4&av z^=3L|Itt~c3fE)n(5eF@Lna?zdaWu4|0WEE0+V{3v<9`6d8xs?4DX*}tv4$Jd!?qB zvg)r)pwxea)l%I^N>^#i_5T~qFD6LcQU7k%G^$*yk>&PJ<^0%_B*zrj8$jr76EzAdSHX6D%*Cg*X&L)THCPmZIqN1qot(Ux)fYhI~+3stX;t%E2^0=T}%UX0dk?$XF`+L zMDW5!NFjp97{YWBjtsfA)-CM_4Yo-=5teKMj*e2?3j6!OChY4CWaOG6taK=U8 z8lcY((23DTCpX&0sFMap4guH5;E_RVga9``!czbF#|GAe18691lC<7X`p~e-?$th8 z&Obo=iy}&oxsExMGSX|RhBcfq(EhV1U`^2e?z4*1X1Jf$LCbp5RydL_`d@iaVRNI@ z8bzhC4>g7a4E7#GdIqp(@0_FszyHA=0?$e8C1{-^V4a?eV|unrRL6-Kf~aYRCoc{D zyb8FcL&y-=^-sHynG4YWA%Xe%5$s=>#{T#B5JXMmr2+%KeBpBfuHPhZ{nqub)`Kwz5RxjUV#Z}u~xVFfL8%l!&tzq0;86|M-#I1SYx=Fy*mjz3n>d?wcXL`ho zI1OSsoie=yN;4E(i`O&YL08g=c*d*MwdR9sKn$2NqsoYh2U?xI^dIbOLs#64fnhdk zTI@8;F+{-HpEe>wgI|xo0ya+>Y&5uGhhK)y)G{q@xRjoQ}Dh!T*p z`I5dI16`oI9=j^npn+X3+qPiUYmef=U*3XyAG#5nwH7n1uIfrFyY-rB0CL^Umq@=< zN3cR1eLoJg=7a0+KN7f_|1494^TCzd-`D~MSp98C4$;2j454MfmFM-1vaf(i+QzuF zo~zvAh6nu7BrEU)d^22I8bB;*m)cVuFx>>G>?j-@aA10WhTyS>&QA_y%%t^k%~w{l z;41Z|sx^*kkJGx?s7Zs@tn;wmr&U_!w2ERYJy{77eOzPPYn1e4R(>6^b^&RAZtbM= z>_CJ-I)wPxFapUW8mwHm>cY0R5O%ajP+*9npgoGh)*uQRec0I+#Ljj<0hyZsK8Bv5 zE>V$_?D9S0CfN5NP2k#}@gqUkslGvzv=a)`dD)ww&nI}zx+nK84l#(*Qgqqzl@(2K zIAxO>1_4cd(o-bae2LRP^+C9_2@%61tye0|Z}(Q9MU+1UE(UIUqO~=#M4F^Nxw@?c z?e=>32;#ln+_FdgzHV-RqZ?TDlL`r(lx8HHLP0S)4V>Ts$I;k>|^CT ztH8U-z6;F`0vT5+Oa$AU65cmp71-2Mg;{ZBaII|&6UbT!T;q7)p&{7a9^7;PFy1DR zb$ElYyMnm+)^V(UJ5J|KIwua=v-PcdjVospC~&P(;CkH!S#V_-Kk@XR;e|C%NLv|J zUeCVx3{gxaeVe`~D{uV$IHh>yJ5LJ4GIU;g-Gu~9+a-;Z6p}DX}zmt`;`)3Ds7fN3b^LiwdRbQ zR9hTQYiGrk)5oQ~j9ocQGq?)CSyjqzwS|6rODU?Fcc9r;fmSCmM5va=pcUE;nXPiH zG->@}IjxtKO@>WYLG|`Gi+i&cX8Ywz76N^~UYE))(KTAFtX^Nu`$4b8l{8;TLoSrx zvMdX}>i<>Tx&fu_o8);;t=&%ZHcK6PwFb$2!$xiFp{3i_NG$5HDp9>` zuhqkYYxN<)^+;=1j}%;$t8k@qHeLo?Tl97~8o27_OxYS&0$vN94ERFZm$6BTp1|q6 z3VA%2d#qklAj^O|J`>6=KS|HofMsCPD|N0x9r}&}R+oZnCqW>mE_14IOu*Gk^TX&I z=^=Ot(|32E$zwzdg{9LDZ@-@aDj<-{?+*?#xVA{j@PYkkEsLHjI5X#k=K9OiLFG`a zgDa=0N-LaN2>RG^opkz^j-#SwB_jz`BVNr}2i;rXyNDpusM`M}poj>lrc#xJCyo1Q1SiN$Q$a zT0KNkRs?9Cd%z2Gj}NtOFUo8|lv#UdK-P;!YXZTpG9m)g^ReB7-MiD+PXIiXQUebRrSkr=w*0$r~^+sH}(TvNt*l^W0C$8D) z##jI&O_I~$)DIO6s5HbnZG@B|H{xIgRp7o7$p4MhI9;QHqctpcv>AWX-Z#n%RV zsDmDR(LZd@t|JSs83nG~&y^Kdf7%F7Qn?08o15-t1lV18gpT>S9{PVrMac~$*Co;t;^SedDGer#0gSI1Q;KYE& z3bdP@hPCud1_cJ!d=r{lsdrTdG?MxotP+zXZpY~W`m2sURPV)nyWCUhjR-d**59t+M?=^X}+1pKCJ3i z@Xaim){1j%A)45vhhbEJv`G408VI60e3dZzD@EmGM`arYJNvR?&TWfWEf>XH>ZlD; zkD5&tCh+u!J-F%SF|-)CZr_S`*2nSq6GMo0+p&3D7jC;_48M9ZgM05E#T|Ezp~Dgs zLnmEr)$3e&+B4*k@7n4p!R_~7kFzd39cv3-RduJ%Vm$QpJ-CEmmeYeTyy6_(|HK^v zMGR2v=Bul(kG=4KsHqH`r<{4B)Tc81zDDQ6JAZjI3h7+MO57vQ-Ye^2VA*VZFvw zS6Nldo1E#F^fA_6)9YJRioF6)x!J>@oY(7>RaIV=Uz3(d1g2v2WMIQ3f>`>`vHB}* zbK2fRVdFbe%U#~F83pxgWVuqqMtZ(g1L~c5PRRvXnAIQa^Yf$T&k9+V zA#3`y7#5YYub!qF7-*wtm0qF2L8Agm1~)eQV7FuqTqWgK1J?+>H=I%M%22A-@1%8j z>BMNE?P357(Q9t?d4p~8S<;(U`)u9@-Zov4G2a zJ(6_ca9X`mw-dPD`7VBR*Lnii_wbVkHsQF3w%})vY{T)7?!XDZ zD!_>=3MH-h)Mv^FVl_opz_m&lE4@;q0c#`9eX~iF)eGNl!$t3Q;F9$wf>sMI-)zH` zTkW`N`|{v=6N78jVsPDT4`DYAgeQXyn25Dti2lDrvtbO;|GAR}MyuX>2A5rVA&&p~ zPq5;dhb1+bVRUHRCw*FX?s^-SUv(iKfAT?r*Q>9)49y*71gg4f>r?fq6x_mwq41(h z&cs`5oh zP?hSFx*b3X)(Am*u3-Ja|GG9p|N8d%$^d8Qc-eEG(f)Pjw|pO z4VnU7^`g`=yw=gcjMsJ3ZI|J?8!ti!4Y-zqYw`~UuAgCOJyeSD5~$U|m1`T_F$fc7mZm zKb>d$l_INys}7}3QB~W-(8-mjwCdsMRj$8>16N*$4yih{x-`Ys)u+^0?nCS9?jZ1@ z<9Z^2u|2c!_YI=P93dzT3$Si&_MzMorR&Tb?A;SIDD6XWV>f{-E3Xc;2HfzcLg=RJ zQC}uN=T_ApRByM!k5hD=8W?s4*o*_G$ZN<3s>hp2T zcfNryfAvfF#xY-)zNo4nZ7FWN`x*hnTOYU{>$IMz41!O*_z>RR^}1$^RUpsre)Lwn zzUc)4U;aJVfp#4&qdNz)D#s>D+=G=B)m?O6uGQKIasOAnUn{SV-GX^N91LYQ+;x?# zTVICZj#WZluCVbvF>B)5S%x$I9ERlrn$I=33S5<$7ptR353Y>|iKeXT&Y}9bR;m_A z7G+vg&4y9d5;Qw2(P*zgqpcj(M*5B&MKJj4<#9EEYn6GM7aBM8MvnAl)l8f8`c;NiJym;G%X(3Di(A)g zH-fgw|BbU9STW@r8YT1^Lo2VVsOcSn^L#i}ZG9AwR%o^7q6pj7|1-OcW#^v;xEeoU zaQ&|Y)1e^VYMH3cYt^GUAag%f4P4z_?Qloi z>BLqAPp1L)XcLSft%obu^M?7mmC;3^PEwM3=wdZI5fBAc2iN?_S7CGW!dY_9kkybzh%Ymy> zV?Qmx`jOh*@ctR#G&BnhE**7fybv1gAX1>T5YpU&-KFjWb^&XnmzlQi0FYp!I^cTXE4^ z11?@?#HAZdxJqqqEN_H@}prlG=BXL^Ce9_!oF)<^57q8t87o^DjMwJMX;)Z8XRkBEU>(;HoRA z3@M?$CbZJU@x5&?61ZN5m*0F0vHn&J&$^MBcIMK6H6Y{E-nTbAi<@t|JWp}8NcwL# zy~b(5&%gYzfQ{Y@l|k7<=k!ajI0sL^aKEf$fPVWZZ8O8{>UB@!)wh0ytFOQC0B}uy zn!xolT-SO)s_?KMt&Tbbd!3>VisHH?RhXa4Ja)k!GQrM!Aml zApKsKf~yX#?ku!6z)k-fZ>j^1E(TY+P9!{-SeS;ttCt4PA(XX8vAr#ftt~;6nq!EK z%wuF`fxv43rEO7cYYx+Z*GJb!F0=8YE8|CeC?ILqd?O%5kgE4vR`r-J$*kxX_0^|6 zchGyRqP{Y~h6v6$En2~$0z$vQzN#l>$j}XbIP_XSR?axpSM^dYQR$Bauv{m|%d5VZ zm9h*2tGAz>m)lgms@yDK#Z`f;Bie!<`aX?@TC~|45#%1X4642K`^7s5C=H@~@-(bv z^@IpA{jvD+WpGSr0NIyu z2t>wd|0MH_nEJK-DK}B*J#l%jl^)ahrQ4Bx-qlCfwYXiDV+Y}$gq!BM>3g}6Osf=Q zUQgDXNrPBcTzTJH0@VahJ5W%+osf( z&E>gR3*|E1s41>`imy^i8%5pMRZ~7@__*V?Ic7;IZ;;5oM+4TS{a$%J{2oqA7xhzG zBNd~`S)x>SUlsk&iqJ&Yx;A$$?eAR#vsI`u6$`vp7`JEp-d5%HTdiiJB<_={rK6W? z#!OOIt<}To=2Nem!4U+n++T|2v z724AFjiR`63b8;n_iVN7(A3l&S%B61$<{e`Y3ac`b3m)TR+$H`)qf7)`iB74d~ogR z>dJ!a15XjS_B9<`)y#q`n;w-*4XJL}bU0{T-U+zoql4=~6=BU;m;hGHmE`lQq}J6O ztPqzuPFvx6m^`#~dq{RAGi!Grh;&*@|$#U21(srWAZCaLrd;!v}zC zZhkIwa82ids}3mwt~&5>y=KO8WG!d3ySx!eA6@L~8>EYAWGIB#a2G*P47M0s{u^Nl zo9SZbg`c3&Ps{k|qT-|V_%pU8@Wd&=3P>XYnGS+Tr@$ivYjmU)k&$)*S6(ihb}a_i zv{rj7HLJEosl~i*b{&pn0(8N3pw(}Ht&2X3238rUU31i@@CJM~TIYB1;!a%n6j35~wzJBho*L$^Cn=o1k@me+F|4{d8>h zid*fFR>L_Wslf+PSo34Tfy}rYL*pJA1UhJ&tOQv!VBFh7+t!8k<#hzE&mWQEs=##< zf$Ns#!S(5qTpcWf>x-Nsyd1c;Edf{a(Sd6tfop9iieBD~-=B9f{{57n;Xl6k1^oV> z{t>_b+E?)VfBZ83_m{qa-+b>|=)3cJ-2amw;>9yg!uxk!j}IQY1w-_|=ai}M{op&W zM4BozH70i@Kpg{-C>vwogRPkE?jZ-d1#^SWHpxo>BZL{ z#got71ACxC(uuFR;UZXQupw&i(Sj;{myu~}E+);GX?qX<@%hi;cc=aY>3u$ACM-yg zGf1oDmqKfQUVL_-)qGUY%8?#*i=k43xr(5|CAF!_oN2MEa5lJ&8-Z5mKs!9iCS|5)D2@SwApzGo zI|Cb3JDhm4^g?$o0oQyOU8=k;2d+GIX|<%TzIvL{G6c-7UK>myzWLij=gdj8`?|5q z5W;o>)*VfBP9$jU8ehP`>>j!fCQ)Vbp{T`ya)SfyAwR)ej6gmpDb@_5dRj2Ut3d0p zUG>2oc1gYKfYiJCFu*quGxT4g>r=m|-cCAq+f{}P!(dV=jtqqXIU<#kk4=|q1YBL6 z1ecvISlvc6nd%8Rt&*`5WT1c!P$s&W!mwT(J}DtKHBoweFL-Jy6Xu5V)BOaxI1!6!o-V>7S~481wVe zHkDGWAhl3bT|FIGS2y(=2D(|3>{I^!v`tc%EH@oCDn(X6b%XSIWmT1LM(k*K7sUjo z0?D?*tZG}@u^GFX*9x@iYN=koodr;B|Lbb2xPfPDad%~Z|9n+ef6s=U?;I7l78Lx6 zfa@O;SPuoRRt8rB!!`~44w~8<&FhzXxb)yptWRrB1zy?$CqGPV%B0ol3Q#k+h7`DR zdW)~O9Zmw)CR-UCoq6D@L92-%*WOtxca?kSL_0JU#rRy;0bn{Y8(LJydNkn5ygWI_aaQF!8EI#JUFI>4!<5otx^9q=NMp$qnK zP%TR*emzx~O_ZW^5#u^lHc?V3#sP5)jX9@+*!T`*Jg1Z8{s1k(D)0_Ym@&^B{wv4ddSF5f?pR*)K9CL*68 zzy|)1z^bPS)3);siNvTMqqE(Z+MB@S0>z#JL-Dy zp23S*`VFRAcj7|=()XXd5Br~g82es&6dyc#2mbSK{{~YOEB@-Qu$HF(`FDSd|MM^Z zgnvErL^OZ%>p1SKU&7Q+e~5oS^CV<~4R~kci@5mWv*7X6V4R?p73~26|1JWCt;Mh7 z_!EDO9R#kdlrm&&D|#K55sa2py@QcC1(I!a5nR7@6*}nR$dDC@H^EKkx7XLKz)ybq z16+OGg_7p`tEcah`czRzCse(wo?^_9nGdeIg1dg}N<94dZD^;9EQ2x6=WToH`TKDB zRp&}NGJ`Xx2shD%{@e>s!_zD8$BxoBaqFE|;*`^m#|y7Kj8JbQeWvx`pem4RTLh|! z5epvNUW@y-)Z(5^HMny_74CXrEAGDkE!?_tJ8pQl8rQv3g=^og#MNsmapmeNtgL9D z!88LC!%7G2T?QDV27)Ie(ge8-x~Z{0kGj_76xT*eHDYu=O%D5(1=pToo1_Wz;9dt; zUy@)|pt4oeJ147`Jx25pD2z^aN$=vZsXp}5f14rFn=pwv64$wMkJHhGep;7XR5@1c z7+&@IRaOQCTv^pkEQVLll6qCw5_rw8aaHNXIcQZTQJS$6_fYM&!WOb3Jv)J};c@9v zy}gajgY7|r(-2*E7tlYs4{h!g4N!e3HrQ!EYp21xgSMAojbN#N(2oHIR|cSrTQg$v z39P0@t>~lcYm%-(18llR;5v{F(Uiby&_wT{<8DZ)vJ6qZ!%htX9g<4S0La&BzP9?< zcyEx^?iPa7S{k3!NZPOT&g@qE$gCMHu`4nEF1qm&g9O8egH>&AVMCz7znLr1rWq?W z(%7X{N}$37^Zu9}buDG+?51NP9VYN2@T6;ULcmf1XD@*)gJ4`h(VbI7hm<r450zDbhWhaOp{1nnZoCE0zX*XvemDyIHj#2HxB zSk*d-0k+hzSz0KG<2J!3KNqFeT993iGZ6TO1jFL4W<3>nquli2WmW31GB)GKoSMw3 z#yV8$+f!!PB7j?EQGi^bfvpa&)l1TZa|Tj*MopR;t=GBg(8}NYy-z>5_8b+s{xN{{ zu!`%!(s-AcG4b<5L+R0_1a~ak1NOiktp|rzl@iQ`OsodCYqhPS5{KEupi=5Kd_4vl z^tGYcN+27d6Mv)u#*k8FJ0wlGlr9K02={ZF2S3JUI+syd6^tH<;yR%%J5IsvbQHMS zKbDg(r}nZktDx1Y(rekdcf=?vsDN$8MZo8mnjJ^CAN6hv+5+6;HHJVcj9`BdL3+)b z2-5fErtLoX=%U2wypfSM)y9TXj~Q+=VHy|)5F3grbEk||>SH-&I6P!jsk|AL<}1@d z&FNRbItQ)+sfi_MA9TT+wAjiZF-zjAa4#V}R=)16W0UPn!i=dxkx9ti%XN`!KyPDZM>s2wr#ZO=^+A z9Dys>R!{GVVQQfVqXf3esT5sk2v|)~g4Q@nJNi-4)`xa4z5o3M8i3Ne=9OB@W@E$S z$~||8fb&RzH6L6@2);%q7*;J9oUtNB;F_3p(%{aEcgkwq`d%*Y?AL>vasSB}>4yMuF=yrXIM{5gMfXFiOYSC>^V6s$#-di;>N*;H|4J!1oDS zfBrZB9qZ0I8NdJh=kWjj<>z7hi@(4L6p7FM1y+6Ki}?95U&q(~;eX;Jg4x0Ed=vkE z(s7upTo0eE2oK+VHBSEW7w}KC+%-2{0s~#3)haS5P$9(&r z@%WQ>BT9q#u~|Pl69(LQ&vp14+J+NO`Z2ccdL6%f;&!Zf<{pAoE5>$vk(qJI@0Aa( zl?@xR^MXB%wC-E*+=~y1!pgvF@s{Gghi}43ryPeJC2wGefI2hn5cn*wUq`Rqh}-YE zhT!sgoOSNW_`#39L*RR>q&YL(=7Z`mr;!V++GLv^FRa78n`>|vLFyeFt8vxpN}Rc> z9A|QCq?Kh7XS|@|^t|BTo`YY%=+$yu{8|M~Rb22&InI8uoYq~7ou(FSZfh2xWiTEX zKRm!D{=`#+^=f-y?hmi}&J=60h!m_V^fr3kkN;uzfhKDtMC(|;_E8iNm&1{V#! z9a2Wa8Ab6C5A7=kRyJPps+!gzR#I8X^C)m75bYP$)vndOx~1M#1p}T^Y2|%di}rQ6W3ZKktW1q0HCIzmWm~14j8m)QCFo3RHK?MJ zx)y<}4yXAlYeGvC*3)84#l~1Iq8643 zfN{pp{i~2Ft8Nw5HPOkfYb! zs?RIY`hPBt#VN-{S)kQbJ_bp>9gbaduU@XERlU}t9XHKcu+49UqaQ zfQ_mZj$TtLimF-tUgd_3qN1`=@2JxdLnNK=AyK%5V-)khIJSQEI$D#et^7_FA*h$f!EYb0!0UYYm(+ zI>|*_&=I8fh6rxMr8KV+!DJJi2(3s@bB#|_+=G`>QV$gqdBLv26N|vrwk(hahb$kd zcPhgwtDmBPGQ6@X$rkf;A&z9CbU}~68uQRe)J7+52U>l0w7ZRTVlkr8>!A5gI-y%= zKhi}rMenEegy=%cX}S?sT$3Rf{AL=g_>}uErx9m5vbC;}A(H@Vn5PsW4P+1OuWFTb zhSDwqXt#hXho_$aI~@=}9+(**5F5q9hZ9)%^%y4h44`j3LU8M)_qzmKbq8ZTjdwYK z6&K#423GSQB_#Ek)5JMNnA6e5>A0Kgq5Y5$Xr0{ChdF}PJ$pEMDcHrg6LY&`G{1+S zHiemeBN&((rU6bbO3a)lOyFuHaJBT)z-|JwAMB>(;~1R`NNbzSgo^;wDUm)xr8Nt# z1gygoHi^MW8~Q1d^4N{^XaMyVBd&XHE52~S^El?(BLUZqM-Hy5K6!Axg~7G12WwrO z(h5iQYh5Nr+=xb6uyWNSIN^jJZ3-oO4Uc>mjf!%g)1H~#6Xc=qN?5m@;E z?!WLfJaY0+;4^GR`nO$Zp~26Emz|AM&N&5F-*_2bdvgVXoy{n%T8AsIz5xIDzrKQt zEFje)!By9tkK<4H5w5)Ue3TJvhUvV{DZW2G?)$j-vNLhpomWcj>IIkl z0zW_TSZvzyvM8;uzr6zAB-sADzx!K!g@F39E6)|>l~a+~tSOdkg*R3!wXe=l6`oo3 z0M0!7MAXrMKos6QU`P+!Z`K0Qk?Q^2~K*Z7$-bk zjFai{Sua-L!q;kX&P!D|jh116J^RHn+(n=HD*{=2w*pvEU_Zmqs<*j`CG2Q2SJUGt zftG(6a5ZWv!cJ8y&q3#LKY^>C4VwBi)vl8jS2}+ZoTdiZtgRbU1g@#+7y++Gpq5jF zxyF?tHZ#|YeZQMR@332|qimDbHQu;_Fm@|;#ajek-Fd3(a)wR1qRPv$(rE2d+a>Rh zH_KxmO@r|!g!+s$b;1_xfXUA-!v+w|Orz4-k8SM{8dUaSWbX&)8J$FnCxB|R2~Ae| zjuAWjJp}D3H|?K*^j%JkhD6ot*HVQK4Cj(q{2Bu*rxpw7X6JEBEY(9?Q4zR;%hlt>~xgPioL2(NEWRQB?=s*%aNRDA0~&gO?Tc zRjUKerVDET+^5y7N_sKFvbGO7wVEGu`9%MyTcskij{|{dSJEME-uf6?hgHonw|rw* z6}2@*zhBZO%B{c4ASO^OOjv`pqW(3oc@RZK>n4JqtK!)bC`l^Eq z&u3*(PY=#lLi2&KS_4;xQXNtmK6PbO2T_LNdQEZE)kPg%>omodAzI*916O?=daY}I zT5wLSEy!+Do%Bqt($atr)vr}I2+Jw4x%ujb65k}T^)%<1H>n#Xynfk!u1z)ajR1m8 zGr=T<^e#1RL`m}oR2#OT$zFl-R@x_~DjH)})9*mrZP<=Fg4bGGk?arMWtgFz4U<%w zurguNK~i@YuF&dP^>kr@UItiERX0m;-Ky*xTcOqxXNRWh7G>cymvX#VLCtT!lYf&S z`;X3s78x|mFyI=~z_sA;;QDC*)+4HMJ(xk$$8ZEbJhUzW z*CT+}tOBd|m8CGn_zzqGON`swu-h6(jex5qPzP76L;AP2SnJ{GveIJ%jDC7OSPo0L z48HCf#8Rz@6JQQ$slbb&bg6T2c-hw{G*}g7b_uvf2wYjU42v0&N+AjjS~L@)oUza$ zVRcZ!VNeW}OiCeTaHYYCswcG*5IGPU@Y1@&GqJSYZyD;0T-H>T=UyAxtN# zAniB0z;)XQBHi$3JO~VX3916pM#mhrqTNrB-)mQjCqrr;v`VdQ+N2pc>F&YSWqPk# zMvYsyFi7`5%Jgk+{87~kEC$%VM23bWd(L+jo> zUD&g`OMxrF?cAOeb}tNJZvPDW#>VKP+=F6EH;T;(6n7-(;?hF{p<(RVH$&jshtUbH zO?8Vo(9ytZuD+G01gTS;9!!HBHsv7*PEE3*6G0!}4Nr$)_S*6I+FkhKg{yGPA;ERS zk%Q|Chcjn70&v~67+i0t=)^UZJ$R8|KRyy5u=go7dYRy~>fU}cS`0 z^vLZ}%Q`$6fG^yPyY9OYU;WZQ;H5`z$D1o3!AU3m6xY$R_g-=~1}^*s-u&8Eam;`J zYgAuw1}5&l8jWB2dt6HJdcqg}2d@14{|9$7&=NHM=EBpl?}iKU+6l+vd-VJPg58^s z{Vq!wvzb5W%LwQHw-|U~I&j?b*7x zzLlR_v@oNO=0!3Fc#}==Bvk*^Y}*+E!%)ASu7x3t5S)(hj?;g=3tjyV_&Ylg=%#Zl zeP)yZV*bMsOzj(>a}6u9bbgB)vhK1T0Z)~RtWUGGtXcK6EfJobutnzD4%`8dU*GQY9wybjI)*OD_-5v1Ic*h$vqrSZyO>JdJrehRQboa4auT7NV ze!32&MhGl3bUe{^B{`LtL6d-$Z(Q^b`n1$(=d$3c*SY3{Y^90ggQo%pe--K(;<)ya(>9H&6-#N`W~~;nNFa%!ly3+yjB+1V1{?;coel3|7lCYp zRtu{GX+E&#tEv2$;Y)|yoEcM5Hieg`0<_xl*}6)tMpjpB*_2C6me@&JTQ2|oye)d2 zY_6U%mpZJJlW16wn}hM z*J|qyaT{*5mZ8pCj?!j&Y^y-6nLyP}``uZJR@!HJUswh4h1k{nt|+z)gzPM=r}PTI zYB0N~Z>px&X2I69UF+*wkf)>;WDS_A@=TR-X}m?*I#o#r*Nm@nwWWeYx?;2Jv&xPF>o^-$pY;F46~L&ibCb@_DP!>0%@7l#7Z_JcsHF;=TZ z6@geej9jNgl~vb})Vlfz?1BWc1fofwG-nSCgy2p237jGXpPjT!Od!=tFzM){i+idIzC-W7y3WXEf}YVg&|UOou8uKNh!TD1(gHXjyTuhwf^30!X=aJ{x9 zjH^mxc*PikuiveVXjoM}09XTb{DmnZh|z%Q$!8zNcfNZJzVR>rB&sCC>-vo^iE7Z7 zvZ7$u+xTaC?aFH}!o3gOj^c_tENHQMVFt2Cs#d4=eROaTTedi zr+9Pilc;UojK`n4OZvO6-SoVuvMZjwhqn7XTtmRj?QTk{-;qJLD0*X-MZqb!aXn3S zlptutg2xN$aN(;J0;@WBGC?Syw`@S-fqOz6nAWD zm-jKm=BEg=%6h>o)p&tmmEYUeJpyZT0b(rF}k^cFfTnXcsvA zB$d|`!Qa3^A}wJ)>QJt~N0%bpKcZ>?d7y9c)Cq8;M?3^lwq?L|N$T*BkFp>fsH!N}!K5S?$baYV74~AJcLu*fyD3o@BvLDoh4 zRlgI>hFXNXyhx_P;?B#8syHLl_=8Q|7+e$Vv7mu#f7+|+P!9pF`G!oanlh+5LUl0v zXdFgi3$b9(C_rx4dc3ka%JaDm51Usx368k$Dt~`>Cw=E=qr8{Dw=32pYF(qHkls@Z zJH5{lX+Q@7YonPUpI$$^fP>&%jcyne;F?HE9M; z0-ILVrl>-5v(@|R>Tn~e#L`ZsP}Drtnx;%^Uz1ZwbrYX_*I|ZHWx!RQSHD^$^|$<- zUl(A_nnbD4AzX)OJ>{6+$2U4u8hK+jZ8)c_F5kmd2iL{5um?H}bE>*-uq69|Ahp&? z`_H}&4UX*;+oT6-t=v4=CBRy5DMNW%ffzP%?Q4g(N~<|8r1$MWY1=wfbi7B?4bt1S zQga*NFm$=GJa+6i9YE`RSR-t6|LQ$j&MM|R8DUl*2QY;cX zK@da-h`zn|-uo^V*hMdFD)zOVIC*~0bD#Hj&Ua=P3lJnh6^FL*$NS9e% zv*(=moU##D30xbG0@qU&SZ4><)8%$J9dk+%K3??n*x)*wvC;{^wE|v`*;lso95y+S zr66$aCUEVM!Bs=YrFQLy#z8kxzY$Kq4JwlYff&JCKo2zmt;XF1Q=nNyTiK+fIOeQK z5%!)i9eAqd)pHcMN;R%-5pj(c%ml6m(eA{bksO5?Tz#Tum8NBbB<=BCh3RJFCvgiL zSE-FmIbB$W*F0};5N1sd0gG08o=vpG@$|Zdym=4&{XRrTVh9xz=yBQ6VRfO~;YKIj z?0X3EEpY~5$-GHwStF$edvlyJY%GIo$vxQ9E2R-L#5!|QS})(6eX>ijH)|1cXYF*u zHPdUU&}Gxmh0}vjAA>7FE5U0#M+2o|665a=p_jllMguf>a#_(v|#|viIzZ8%5X0YZnFffY!ad|wW7NI9n>{$LTkqk z+;;o*ShV;qG2mtB&GcEYr)C|#MqsL>8~2{N%~c&Qb*Yhs;5zadIdpP&oU&F=!^bdIQlCxpk`7)w(LwsbxHF)lC{wIQ@ z<)lmh>aTD+!RuuNuV49Je~a&Z@pE|e3!lYx|MZ@PG@MCvksChm1KmRZ;JL`0; zqUUdY<^g>DN8iPd&;35`Ty#6GC&=YiI&8MYy=2)H*i6^w#ZTUaZ-4je_~y61ihCcp z89EwVl^lbQQc*I13etIe&*mna|Er@TrkA`_hXort@l3r18uIhmT}1_HLG-&;(~vFZDB(TftalgQk-LS6Q4QETt6_{PMmy-IyJUWuqot zP>Uw54to?r$Vapw(4|))KhRY`Zx_^2SQi~c9eT}htpe4Z5cw0pME2k23yCQ}OHfqum*qMXf1g=tztS(f7 zl@1Y=<(|9-+J?c^M&A+FKYQb5)V1zKYgZFoehZzOK4CzW6oyP@8B7hbr21Aqm$+YQ zVg|HUrUY}um1|t1>`a`}&^5nJ^nm3$Q+D*_)LnkuWvr&hB$~3@ug1|R`oJ>4HnB;P zk|2mcl+Bd(?0*Y;+BS%E-xh8~L+k6iw}^hS+*h{Sv{$TaWN7W#B1hh&zM9pXI!f@f zt9^rr+=;YYISR_4$PUd6Ga?08FGb!sU3jlzi-@4M7^}*#QZf@N0b6BlX({!%1j4+Y zA6L2wPq`V_l%sr73UZC)h)dg-V3Z@T9Wu!B_Pkv=B4{qPjoCJ%##Ne%wn>iqa=P%$ zdRJYjeTG|b`?NY~eQ3Iquw=+I)iQ@`T${@&%Jg{}8B(`Zfa`Wzwp(h~!{Du#db~FF z?1sY9B*3+s?td++9pXD~)o&Nj$|=U&JC)xT|B=wBn+}kJJvO*DmV2zu6?~XXu0G)+s}Ygc0Lwr$ zzaT;B(d})H4X(oFH)oKaGdsL8WV+-wIi+?v4iSmvzNu!|c)s6`CS5LSfmo?WCvi8CTy1M z_-X2-=Q=VprGbPgY(l%a2i;CHT&Wa#C&th>F#=yKKrocXZ+?Fe!;={rIK^q8>7e~- z;SiC_9y%5R*1S}cDS+=Y1JtMtTRoR+-w}h;&f)NDNZUyy;E|K&pA40Cc*+- z#}0C&mB4j!I=CK~4B_CRBrQ*3bTUilST7QV9MnE9fvXYKDknj!AA7Vxv|7Rl6Sx*8 z=yyLH5{66+nR5cy8NgbS^jI&ZIT>7g3kKH-=aIMY z!w28Ok00KIGw$Dj?>?{*r$0#Z550{aEIJ0bK64Ckef8MjdhKQ{uG*x-Rc{;cvv*9m zewzjF7_2lnr*l4KK(t>k-UCZTgN(&b+>P_k{}BP^*?4>FtKzp^0#|mq+}E@f*WGv( zZo1_f+;P{9xZ{^MVF79RvkL|6_6^eK+HXO7_fDLC#<#KT*~Pg2=U3xbFD}JpS6qzK zzWG(uHg1HTZsr$Vd@i=^ScMb;GsDAkFE7T$KRpL8uYN+*s#evm!Hqw^0*^m+FI}(p zV$nmtz!L*qg%vrhX8cK-OgSoZnP;#&l#SKawm>fdY#-F|A~f*@gniMpS()rm?i|%VNB`owkaSI)e#2RID z9fl2#aGHai1if@0rfvBg@dORn-`#-vmTFj>DuP!p(peXsFP^fiGM_(^VUwY3(!^#< z(qqX{nESVu-GgP5Cr$z8{;!<6+bN)x2KS0>0$LeX+qrEDEmzU{ZexuA&vpg^0@jA^ zcTnH;Hd@s?p&~G?>DVmVtnhOfTp3XJw!S3*m$z-CDes&2!A`gJYRQ$h+~-rhy&M6R z%#kEWEx`r%_hbNJSdxHtAI)#8Nc*jlO`7(UYdfdRd#a|@v5H=zvg7cSiPP?KWVMv? zDw4{8_MDs7Xir(lH3r=c}XdMMvk1eji$OwWK;aKkCu0 zZ=!Rg2_3p-QU2E@v>)BNHlZFJF^#Sh3T>B=Qrk`Hfl5e0QbJ7<^BScjtt7Q(O1#`) z(&Nde9!FDmEgpXI-f~@X$$hx&IxW|{3aI5?y{Do%)1M=_o+wp#wy0}mo$3_4&XU?Y z(^Tn%=1wQ>+d8$K1i0PaIuUVIk-F?vP`etSaqUNoavxq_|1uUXxfg5RT8VX=S7Z6} zkKv^^mZOy}pn)9M{OHj;WXAvvT#I9V^pAMUfLe;AGK7}lRF0@}god{np74uSIn$!8 zygf~O32XEb{SSm@K}~g zj#O&pT3VfeS|1I(BZE=8;Q7#Dc0ghA!<#G;WDnD8L}(kk==aLo3g_V*y*5X0X)5}) z61Xy;y2=j18W~(UeOInK<(_eJny{Y@mSp!{5ADy9w4mFirJIM5F0etw1`5cG48c!7 z;&hRXnkI1I{ZWh`>Lt+diO8)>qztRd{b3y((afqPSK~CNChMeDJf{e-RvIyJbk!q^ z=lNXVbE0?1fdO`@J`fSLt)n8+Ivrdm#{C!`@?dl{f|1cEhR0HLerC~2@M=v)(O_n1 zbqjE<)`ih#i_ze%hyeoE!4U>mg3O|MRzoH>UFs#^oLv?0O53K{iI{#Ty@OJeRY2>2 zPO5zs($ac*odJ`GMsk$bo;1)k#zo(?AKN<2xZ$}fT)u1@e(`EG7OdHe3zzM{cOKe` zGZt;b_m}Lz51-hDGnZE3%w^U1@v<76`E)JLdbS>C|Edw^KHrSgiP`CMra>tU=FO8m*VT+_zKppdyYVMH_rIpw{b2(@srCQghEq;B~RQ(;ClnqhJDZ&YK5WF zvo9elc<=OYAVCm&%jZ6gfBx)0<1?T7Cw%TR|BN?QJ%J4WnMVWd1bydaG04iF zVXLD@7%!c_;`rcLiimRR@O7(OM4Iqjn1Xj!^xiU{e&HXpjKbrx_< z^}C=VaOKq9cutNU&LLH}q#(m*?{k~TV4PMx+0Sml1oT$A2EJO!@lf>VIql)2K} zq4lGHE2j#V`loXLS2qDaLo3&=>U|8Z&EheOTi6a->woDU7|?WtgFq z-IOccf+aI2sgAYeFwFB|ejjw-IGUh=uvDDDW=@sh9Q&T zfzxL>9k;QfHnIexQgm~l3>cEJ4o6yf`Ti1&$^cq|;ZmAt2^dSYsHNVfrAS+4jcdtp zX@3cb4OQhd;F5c>1UvG+D|)m_Y0T35lxiq<%G*_yqlUt)$hcd;BSWM3QzO&{ZD_x6 z2scCsOz9dfBJ#2f;Zl0=6sQ{bJPJzE`z7hvxYW@~<7fUeq7@xR0z^X-I)z%$sc#XW z*j)z2b_o>q1c^F=L|r%3dImz0x(6DaN}AWuyjCTqEHy!+S^%W#I8uwLW}4LUa!Hz5 zr8%awLRv|hxk;zfVSg+A4i(+_(b+%1?vBm!pCY@<-%(3B3M-u-n|G~4-Kh$$^(Al} z`_l#2xzxCx*kGyoL%0GTA5c%EY5is8h-(i)tCHoep^Iq?l=ddPwS6_7e0mY~H0-89 zbwAx)QrOqD2Po7-E!x$l8=o_Ajx-yh9pt1@CqMTkRfvQ_X zSo!%ZZdFp0d%g0&y?@w^EZr=l42k^~f)%|0SMjfFUSE#B@?$YCn=c)+#x<)Gpv$$K zQ{Y;HQjLJr=@6@!2C-5-s#Z80hX$+&^m_;_B6M@HqsQ!rJ=_a#I#1vkg(vTp>s$43 zGQct{(~Zn0;FYHAGAvr(7zJ!g;L5MlBix6lfh(I)$gOJJa?e>S4Jz~@GhNK}1g|z4 zxWoyJ2NBHoBU;F#Z+rv?e|-p}M~09cj?kdlD}dRRks`njf>cM6jgE98b=jRZN-4?d zQwLo6J-fNDZAEHu$&iWLQltq23v|8=PX;i2Fe>U>8C)l1aGjWpk)m`y`Y}QPJ3bL3 z#f8QWWYIsFr_VlycDoDv2wbbRLG00n(QJv)>tr!L>mF!~uJ2}HBAL|7S4`w2j2 zilKBW>Po;z(3>8%BQwlyy9}=UJRQw*-K$E}zh;MYV*6CTp5V_)fJ+0%0u6EoJc#7u zbW?WFU{g;64HHy;2P`QE-fZv0lI`_aR@IKjw<)oBvkFhXqrvj+J$SjH6FUtC?AEKX z&(wqco*wjsdY}y}>32>yHopNHzlqLaHymj$v8+%du|L zN-==T8wqoh>2XWr{XX1=A zzJ;YvKLA^x8M|xO;O1Me!gs%S8m_(JQndDLMIhOY)$5jHsLR4VHzMM8sEetw_J$_NDJ?~30M5X z-$VJ=e}&%@#Qv6Gww|U>(qr>q|1}y2dhh<A<~PnsM&4HFJi?DbuBryKpUTT(cjqwK=ih-%HA2mpO*Vs|^BBAKsxs zwKahndlI`$F>KREuvrtrn>}7UU2Dd5tD1$W6Q?P&!PBw9xds=lY(@2 zaMPf%4vwG_@m`zMfAb{3HPT1drL5#=Yn8#(EJt6ZKC3D^7tKiY(|vC|ivH0sfxpyS z(-WcVa9l5g_cxCWDJ zNSh5)5lhjVlWRm(+fmj2CK|QdL~9oYM|P8KrGbAN11&)#r`$GZCBQ57+Z3%+w7be_ ztR>(R&`N5ks7oyM?JW0FrPpP6ErCbL<+c>TtS|TV+$Nw{q?&Ss(Nra(i;V<}t(I!K z=hld+ST3*Uh$JuDPiismkyC#qNaf>etRLvmz)I9d<^!i6}F@kJ#HIa z;H~Jex}kJM=tdobCB*5$1swk1U5p(W$KXU3ePaoNABO-`N7?{mR82SQPUvY+DoL_%5(Hq>anGyrfAyt-k}xZtKixF$&O zt@fb0D~y_sAl<<2G?=D=;h>WS{WciAPAp#9N3eDXKlsu6xc91~v5? za64`HU4q%FnswOUT@6oIi(Jtm2DZERzKJjW>*rD1un}&57XlF_)^B~#H7^MI}OEzz=O=`#;NO9QJ|uL|*gjY!K)6?9_CpDoYt zs9q&ZmpD4>Pjm|S3S|}8wEZP4Tyh866Q>)LLws9)752cV1=P-9CHwCY8=Fh^&v zUEPAEdyQxh6qIkQ14gYxy;t?2P<5F}va zHZbgrT&Yl{GE)i)sirBwqV4=S1?@{qkV@(;O=Kp2D7V7V&Iww}DZ}hrkW!2KN=rrL)hZ&O3W8Lv0734r z**_jZZpbg7&`ZnR43$9@JZSnrsdCh*VZia~1tbxi7065o9M^o|Yv?QEf8l z+6aL87%Z_if>t(SqH8-rvL(bR!wOguO1fXDP)CF2-3ljmc7?FBBY-`fbbSbg=(`CL zTsZ}>Ci@9m2ib_pS&pzWuoee>7#Q@UNcX-xfoqnbH8(Tr`f-A*at65S30$>eU8usO z$r6-IjJTeY#VNx^FW0rULQOEM^0f*eHS=~NS|-=E$~BETxs?gmCmKZLwN>ns9gHKQ zH4THO)Eb8)tva(3buBgMRJI}#r)7P9f>wuc5{{;)(uFG{tffA%X}afgT`Sk z)s`Zc`^wS89s*W&lI7*CGORXpnyIMw+#}$z%ULI)i|y9EVjY7wL+hTdP3Uyg3K;C5 zDVr@Z9M);K(^!FFk>Jy@k05ams%Tr@UxQAHP;z~%WYi?pzj7;<76XHA4SF0+=&}+> zo9YR)>u4&$B1aY5^$i4zv`$Npwaw_%wveRAVhI#EswjbCkAOvuK?#js2{lW{Qx!c{ z5%8&n81xwaG!^q@7^HJpz+njx<>jSyrS%%!)bi=lPLpn$bdt0>0hkWTbU^eW@@;nrWys z>;4*M=)*=@D_w;vBfj-C-6wjwYH42U;o|Umtl#+>o_YBRytU;`ctUQNoO->9f;K#6&kP3*E2?vN9%7`{^MN^Q3ih3b95`6|R8AN_d?XVU++@ zxc18Oc?Ic) zrNgtGg3+~%gH8BnYn@KY;t9!h_IdK(<)k439d9~&2l=e8~t>yj7~-gLJ3Y8NGqU~ zd$qIz&ohpC(G*qaWGPesS*h5sc+# z*0&BEU+Gz;{|GYBxo=00(}8-e9kp5)4M5oOIsiYxx5Di~gO)Qlm6T z9<(CbZ>PaT2oEeA!md3DG`2?Y+>8DA@!20hp-Is1mEiw?U;NR;;CVuDEt*71FmF@e z{Pt1c8jh>6YR%I)`9^5-++uq+XsU18jPL*8J229~ zh@Zm)zE!V3jhk-13MN~VsEKE&=DJvpMhmzflD-T6e1fTNyt?)&+(~e_pTILeY7up& zxnWbet~5Jr#P&U};p%HH68%>r1W_D`<>&MK(q|tKF2SL6kJz^}ydSsTaSgt6`ZrKj zzZSh?^qJ5;lC*t8=i9jV&g*dVPtU=E>o38D=l>Aj{>m4y;Od{i^T=&@cku!oSb8@m ze)S;6Uw8z+Kkdu-&wu!P41MPFxaHCZamM32gaOh8&z~4vIo-F)5{H5yRV&lx7U+r+E zI_Y=bMZayHl2RQs--TemT2h}H0am{>^^>A<&(>%O8Y|#6LgJ`yOa{+cBdrDL&yHkH zj=0kK*RHG;32KQ+0}D@S2Pt!21N7!O&veT&=*M{4CVmHulL5!Vg^ zU8Qi=hz*j??+JI z!rD@c5)Y1xb(ozr@9(r3wk2-xBZQKQUtv+Se5eN)qYCdrJc*G}N+LUAYpf0*m@ z2@u=%!0u8Z*B>A-rSmG!*DouQdAeTYO`^wZg7-sH@wne4ejj>{lInJev|ctC;uK$n zyBUqz-6FEsZmAQsiV8;ydaS%HyUW%82g4@vE1Yv{z#g>?RjMHNst8=w5p+8O1bk_6 z?)Hk-HOAwbFCAa{k3lq`D>~uK_|Rstp;qNYtifev;0QWpRit{f% zf~&7Tg0=7TAwEijrh*-zxEqlq52|d4rR?aY_j=JK?_uYjKJ*O*Fg)q2h_)UJTy+8h zvqdxd2c2TOhUTLqt{h?5QMCqV{`h-v2fD<58C>tW=Vm;<^nUR?j@UA=vbfcd&Qy<| zTyPe)?p!TQUqS@Gcinw69(&?G_`(YDdK_`JyW2#HGDpVrj#~KQ9q1#VG`i|><1JU> z?)!fZGhII!T9s^!(Y^_8x<>PNw`tppxcsUM@cO#t2xWRiFI5&tVU5l@-1pEgux7)v z=%26=Sg5dqfb+C(eg%ø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

    #ec2 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 RDT@2%)z;8gFIKZ5{~y+FJnR4f diff --git a/docs/static/distributed-controlnetwork.png b/docs/static/distributed-controlnetwork.png deleted file mode 100644 index ed9b03543b7b9a1e9232c9a12ccf0eca62142ed7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46031 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

    qZ4gy#7lw6JZSrPXD5QK5 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 diff --git a/docs/static/distributed-emane-network.png b/docs/static/distributed-emane-network.png deleted file mode 100644 index ebc5577f3d6c233a50d890790f5331e473a15a1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44011 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 Kwon&fum%8seSYfz diff --git a/docs/static/gui/host.gif b/docs/static/gui/host.gif deleted file mode 100644 index 5bd60ae3d34d9bcd8be206ba2a8a701b19aea319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1189 zcmb``30Kkw008hm262dT`d1VcH7ko8t5<8Y=8+H2yze8AmB-d>TJ62nYg4kad?v4& zM~5QL6hp;kPN#X`g=i`SsGx=l2;OM*vP`yphyA|8&&!8?{OcqFKn51n00031BLEHn zNC*Id0!Ap-3M58&meYM}^Nii1^A`;HUW+aDPOb$JlayBa^A~QAaVrt~&^ysVU zu~#pg$<9c~y!cbrrA)@p=L&u~%ef84YDQ6|53A zyOhN)Z>=og)RebX6*gBFKC7*0t$xCN#;)aZI%*#_*0XpGPkXscKDVf^?p}MtlfL?r z{)STi^M``Q$GuIDyP7#eFUp6TS;FS0!nVrczj^H)ZQ`~nQ9F0AF*Tvx5@_UB?C>0{ufgN&9cE}$zZ!w_;Nz{*UVt6WVly6 z(m6TOEfNXjqx|X7mt*2l#aPdzNccwFDU}Q)4o~IY1S8%i#nxVJG-+|;J&gZw=hEE2=`yIo!;s0j01%;ph13(4-_1_5q zu>%;8WN#j;`#OSvdLYVS@EK^2sT%CutgEd(_JPmM)a$tvWO-8!ZZMjb+;`VMC~55O zZ8Nu)t;HMEVqV7i7$TIA?NOFFUVpL&d_}6G;!tO9Hwt5&FH99hSJIbFigv>uofpWs zil%hc_f_o8f&6TSug$RC!irVvj|0^3kD=;Q-S+#9SWcSL6V#M4uup%lA`x$XVv5UD z|6pDlk~f#;>(=$uM(SdIU&W(eXoPydho|^6LAH- z5a8TqvnWKEOTGL2@5uXX*GJ%NS|CpVgB{s(IKY-cv>&v9ThKhI(04%|NGmAs4*3eV zF&DNkP4DBLKw}yiL%OoOERP)rdMHmXC1Xvn?aG|Pp=5wzTGz6H@;FVQb$gC}yVs diff --git a/docs/static/pygui/host.png b/docs/static/gui/host.png similarity index 100% rename from docs/static/pygui/host.png rename to docs/static/gui/host.png diff --git a/docs/static/gui/hub.gif b/docs/static/gui/hub.gif deleted file mode 100644 index 17f7c4d3ef726f744da685423057366093df33f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 719 zcmZ?wbhEHbRA3NeIF`X6<6R-+T`3<>s}$0x8qum2(W)NPsSyiAUD`>#I?27dDHHY5 zChDb6G|ZS{kU7OLYpPMsG?V;UrunnXi|3jb&$BFDXi>JnvTT7>*?jBr1(p@_Eh`pS zRm`^nk&CQB{tt%H;S1z=vTxeUh(6(loea&Lqx}}bFOPuPKIM)NwQisM> zt_{l^n^$`_t#EE#=hC{)xow?q+bXxNO@WAtOJ`nH{!xc%(pooDClzr6I=^<~Fy zEI)o@`=tlFu0Gm*?eU&#kM~}Ge1=Lu@h1x-7ehUR4g(N?;)H?yUqgLUb4zPmdq<0u zTu*Obf4`D_=L9(`C!;~HitzeCPr?FNJxqa zbCy%KUAIBbJ2m~}sncho)np9qjxL(X>fF`|N{-XJqoblAaq)7Kbe~IXuu89G zY>4^!<#n%FX}%(x=oD7Zx(x^D7Cd=>$48HrD@OVHGfFIMB$#qu{aN1LM(d zN%JxW&7zjh$r?;@OmoaOK04YXZC%G>x#`KtDFRD*voZx2yYdE7cm|vGV*3$4sHUKQA;Xt`D2tb#>OIgNj>peGaF!W-$oH tY>1eD&xfTUiIIg<%3(%;VvDJ9wZvc%wRbpgMV>J9(izdZ9gfp+0+}KYOA*e5OBqqdk75L4Bk` zeWOBtq(FhHMS!M3gR4h^r$~aQNrI?Dg|0+}u0w{dOogdTg{n`7s!xckMvAgji>+0Q zu1SuzRgA7lkGD#Xw@Q$=SB#%r9qZk@Ytp1W|LyjZ2mSf$H#qQ6_I&0DF?cci~~ zrNDcq!F#8|eW=5Ks>Fe;#fPuQh_T6uvdNFN%aggzn!VDVz|)|@)uF=GrpDN($JnUI z*{jOhtjpW3%-prm-?-G_xzypg)Z)9<;=R}7%*@Qp%*@Qp%*@QpA^8LW3IKlqEC2ui z03ZMs000O6fPaF6goTEOh=dv*jE#jucwYQHYIwy=OOkz4Hj~p>W&4i3Z zU|?EVaBDeOZhEkLdR2@d7~9=~8y-G!bar@qcWq-WUF1-iLJ&x!2p8np`UC026(iCh zJzDS}A-9DYGIZ!5v5|<6A4!l-8|AaEc70|*i*d`R)429F;{oItU%<%@ul z7Q3Zf+45z~nKf_b+}ZP|Np6FNvUCYkCQX|-b@KEHbQ>Y5MXMskx^$~ki(gevHEK0! zR;ET=O%?)6_2^ZlTAP-%V2Cc;v3TMBba2S8*t>7d8bD;&uG_Lr69G_J06~HV5GGUz aLDL40AWED>vBKp`qSL5Tt6ohg5CA)88DCBS diff --git a/docs/static/pygui/lanswitch.png b/docs/static/gui/lanswitch.png similarity index 100% rename from docs/static/pygui/lanswitch.png rename to docs/static/gui/lanswitch.png diff --git a/docs/static/gui/link.gif b/docs/static/gui/link.gif deleted file mode 100644 index 55532ecf0d14eecb81f57e71ae8f90cd9c8f2fea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmZ?wbhEHblwgox_`m=Kia%Kx85kHDbU=KN3M?hZsq{JzSM|!8CHm iM7a#L1g zw35rPkmRJB!>gvuyrA2_kkrJV)Xlf=-J;{txy;PW+SI|;*4E(H*5%&Z_wUx>;o<-P z|NsC0A^8LW002J#ECc`q02lxm000J*z@KnPED`}ofN^OAs3wpIl1UYa7>b8-NL-kM<*DutFxg;BP1>~th8?)DLBExWd|U~ Vk^lwFilNX&NxIh8*xA-W06UFctKt9v diff --git a/docs/static/pygui/marker.png b/docs/static/gui/marker.png similarity index 100% rename from docs/static/pygui/marker.png rename to docs/static/gui/marker.png diff --git a/docs/static/gui/mdr.gif b/docs/static/gui/mdr.gif deleted file mode 100644 index d6762f6500828ead06fb73c7a9061165ccdef85b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1276 zcmb``jXTo`0KoCzh-N62mQF9`y{bhS8&Di5W%q3E|!j5ZXj{V1dP z7^69zTAohjVrksC>#Y$b%3K=zJhSp5qbmMJTLzOyzDB>y-XS*imde`bawS84 zmw2%6!-V0cL*B2(Jh`PG1(ilOjJz+z~L3DWyE~ zO;xt!+NFMoy%loArqJ-l_Jm(**X)msz`k|c5+7%ztE@5^S_rHsgwwkfx+OT=Z$;za z1?W%IUsZdN*kB!mhEtzXfV>X7ht>Edn=uv}N8`!@xG`X6rD(8m2lfq+q_=}^$LNJe zrch2W6c0TaQtZgz-JcRb=$y)|Wj z-BiLi_^0&q5I9?(v7Hx8apXh0#<03WyT?yj39`SYQ1$*P0GqVK6ELG(0k9Ks?dS+d z3pf%;4@qAVb9%@ro@T;!2e%9u$e;%Wd0%mEb+qw`b4TNcjXCa=mAQUIuzk0S85EZ* zBUtH@1DtHVzSAt$x4=OWCFxq)a-ePq&RPZ!3`gHsVKo}*{{&+f1UUU>gn=xwL|_AW r4z4Sh`#3ytbr^3Q6*$HAfFoFup6oRk3ar@WthBAq6&LC31nl__5JiQ; diff --git a/docs/static/pygui/mdr.png b/docs/static/gui/mdr.png similarity index 100% rename from docs/static/pygui/mdr.png rename to docs/static/gui/mdr.png diff --git a/docs/static/gui/observe.gif b/docs/static/gui/observe.gif deleted file mode 100644 index 6b66e7305f35484095a2182ed828c6507c72a746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1149 zcmd_pYfn=L0LJlylbbZAPQ->d0;0q*%+PGvh{hCQEG*WwP@oJp1|%#lOP0+=yD9^E zJMC#%P#A&~sl5%f$fdVaENf{gXltbuDYVeS>4mnZW77@Ay;;_Njy?H(f#=2lWZqG%4!O^wyx&OriRAmhAY&|RN9pvX;*32s2z+p0&S8&Q(U~J z`1HDh)T$s}R}x#5q*i6+PpZl`6}e4S)vl^;SJiZ=Yv^hUU0qAp)G{=mF*Nl|O&t@i zXTqPe;4j#41E_80z%3B`6)#3hlP=O(9c(TGgqR=%a(E!f5Ddi(3PnRA>5yz#qJh;~oqAfY1LaE{BhQ%km%&jd zZ)}wU1Re`@`9oJa7`GpO_2 znf6ZT%y*~P#QJrKeqCd6rkk^g3>#8|2exj&Pd3Cen=<33%!K@ELWXCN zky+%P*>~UUlh66(^ZwC!|AUxE{;{~g*yF%>j3qE(2~5TX71p5gNl<0m(mag`!3!a6 zj6F1E4?SEA|F#s-FGUP<7R!Rey5O)mJx^D>3o)zS8Hdlb>yO>g zpS$Rb*U=ZRf&bZZ{@I%V0OLSG{CB(wAmv}6G4)7z54#w5GAY0Qgx$RVR97jNeyk-K z!%n+IJ#Z+6-;>|?jPuv|H^lhNu21mKffLy5bD4QP?c|#|n0Jp8wco#gbTJ1jr?B#o zpwIZ0DDQaz=@LnV&pIoiXMa6!%xH2@H(fh#3yU%-1l+Ma#DMEE?9C(%k6MeqHBjI^ zNfj8@$s_i!;2S6J=`b1%yJ zjzYQTh5_ro()5X;@-#bfQ6lc4$C74ZnCAn1Vq}@Ai zXX99F^M5aGkwK}khXSw%@jRar$%MOj@_Rb53* zLseZvO+&*#LsMN-TSG%fPg_?@Ti;MmUsumSSJ%+k(AdDh*umJu$k^1_)ZE0}(#*=* z(#pot+Sba}-p06XUk)~1%W z=GOL>_RhA>?vAdW&hFl>u1PZ|Pn|S<=Cnz(7R{J7eaf6Av**s7Id8$7C2Ll!TE1r8 z>UA5|uGz9@%eKuMb{yEe{n+-M+jj2Wv3bvtz5Dml;r#-+uDu;gbhD7>etiD&*~3?# zUc7q#==JB9uU|ZP^Xu`OFR$LbeE9ayleb@AzkBuk{f}4gKfQhb`t^s;?>@YJ`SI7A zk6+$@eE0U#*AJiGfBgL6)0dC$zkdJx_0xxMKfZkb{OSA8&p&)21O&UZ4U+dI^{!gd>D|h#E6iqaFl|zFQsMJyw=OWRyvJa6$Rl!U zR@l1ZMcNNJ3l}mw>9FJ}Z2q#Shs%CVOlO(ttDwnBECCWCiy96tj+>F9s9ci5+v~R4 zt(VKRlY^y$HMgRo`OM^{iN{KBDit4fo9;Yc%kk90LmM147@K$wKlQwB;JwN4(@H0| z)u(1i(xn6iz5D;z&8dl-$AS zrM*MM*<1JUic6;qwoFj+F)Y&%Z06!ucyvOES=E6-%8p~vY3;2Fi@SBUUUBj^*tDgo zN2{iU;jnU_h0_HN#u!6a(QXcBZ~bi#no@LkeR1MeOki2y)~_Pu;>N(uQq(MZ@J~>; z?!kZ+-HH+o4h+K6bT)OUvr9TM2owiQY?jkgTFfED&(h#5pQ+c>=_GGEv0Ye)C&`VO tJw%~hJ~@t1va|g8z`l6e8jtN{jVv^D?$ diff --git a/docs/static/pygui/pc.png b/docs/static/gui/pc.png similarity index 100% rename from docs/static/pygui/pc.png rename to docs/static/gui/pc.png diff --git a/docs/static/gui/rectangle.gif b/docs/static/gui/rectangle.gif deleted file mode 100644 index ed271f5737d0e8c2e35e9f03735de27509996893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmZ?wbhEHbRA5kGSjfcC(9rPV&GC|Nli|1^))!lG!&+qxHk36QOake}^#rBeM zi_xlcpRkb%J(0K*PL82|tP diff --git a/docs/static/pygui/rectangle.png b/docs/static/gui/rectangle.png similarity index 100% rename from docs/static/pygui/rectangle.png rename to docs/static/gui/rectangle.png diff --git a/docs/static/gui/rj45.gif b/docs/static/gui/rj45.gif deleted file mode 100644 index 9ab7ac56dba8946e37182cf05ca160683f53e2e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 755 zcmZ?wbhEHbRA5kGI2O;~>+9?1=NA+d6cQ2=8X6iN?hzjD84=+X8R;Dr6%`ZX5gi>J z6B82`=NcCmmynQT6n4RsEljD$^YhO@cS6FCQP*6}( zQc_=US6^S>(9qD>*x1z6)Z1&^+iTL%(b3u2Icbu?gb8&MCe%-yIC1ji#;H>)Cr_R{ zZCcfoDO09TFP}cWa{Bb?bLJGyom)6-)~q>m=FFWtcj3b9MT@dltWaIDBy06*okfcl zEnd8M#fp@5>y(!)S+Ze+`id1RR<2yRYSpUMt5>gGyLR2WbsIKp*tBWW=FOY8Y}vAP z>(=etx9`}oW6z#F`}glZaNxkXbJB+n9lCT$_}H;y$B!RBdGh3`Q>RX!K7HoQnKy4Z z-n`*^`AY@?w*HGWo+|t_C-qG3B79HZ>KVjme2?5b& zEz#jV-gD;8n?E<)TfQaAf5D3RfsslI&C!uzn>KIRx+U6NVO@Rn-hKNI9E=XywfoTV zL#jvjoH)DJ{ph-LXCo9Z`uX0xb^Fd;ql*gOuIA>3CMJ58n)ce(Iwr;j78_ zwFCvl;?#p%KCCcW)XlD^vg!rURSp6*7r%Vup0Kc?jagL6VZj0h<|bY?J(HRl`SC3b zyuqttEQOK`I|U_lW>_{XJ;lP^w&RLwAk%&hA&wh48VA%T&VBgp=M(jZ2bpHG$bGPu zdfRWu>8&jPY;I>~*ysT1_lCK_Z;G0L58oIA}pZ@NkT43mOcrUkRiiszUY&owWZYf(DavUI*h z*+R?m`IhAit;!czR?M@im~U0Fz^Y=QHIS@aU=2bGZ7LU9RV}gxp~W^;3vH_wT30W! zt6peVy~w_Lk!{UV+uCJzwM!jq7dzH2v8!9|ShvKkewjnVN{2=uTIJfX%&}>eN7Hi8 zrWKAYYn)ovcr-8fY+m8gvevt0rAzzzz>YO;-J3mnw*+^u4e4I%(YH0ccfI$-ol*T8 zqbF>PnXt)s%5LAOK(r@r;%5Kpd;MqZOPsPLY1-DHSqD<4Z4I1#D0RlR;JHWAXKoLk zcO+!q(X81!vuE$jnX@x&(ea3-r;8WvjaqRodd1n&Mf*w@?=N4nzjE2Zs^tf(mmjKK zakzff;fB>mTGk!w*m$yU>zT57yZQXRtrza^xcp$xwa0s}KRz=GXchvBKUo;L82&TpFaQB4 zPcU%&WBAW07$KqoEo1|3* z!_CHs4~gB{Wjwl{j8FI;7LI4q)tb`Ld9+cY`_9GB?E#YVRbre*mzCJu8YN_JWf(8# z>@kmBq{2Dr(V_#q;`4JRHfIFNX)2%6h}xoYVahuGKn|4$2Or68>$+sav-qg5yleZT z1F{EQ6&e^t<(@SNFFV=0!e!fzj1|m1QimB?R2B#*X}O8mubAUl{8PT+3>%+Lg#jZo zyP&xDo)w8HoMQUPZqw~_6}C39@hP}WC~!Q?E^1uH;kf7sr-*iB!Ruppejj-M;IMAW zj{{9^{fcMi#yL;-o3$(d!6DU*=kH`|K0m)$Jl(wamesE}w|Cd`^Utq&S^qV5`n{@O zJJsWA7O!;-C}nzd{9fJrUiJBotO^$vRQ=p~{C-7Jz!!ez8;L&_GzNq`RCKykx`Bz$ LhNm#efx#L8|Dlf2 diff --git a/docs/static/pygui/router.png b/docs/static/gui/router.png similarity index 100% rename from docs/static/pygui/router.png rename to docs/static/gui/router.png diff --git a/docs/static/gui/router_green.gif b/docs/static/gui/router_green.gif deleted file mode 100644 index 76e3ecd57c59ec99767f5641e701f908f09f0258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 753 zcmV$ZwARvGsB7!0$gd`+|BqoR^Cx|C0iYY0J zDJqL9D~&5Hku5KgFE5iXF_tkhmNGJzGBlYqG@CRwn>IF_HaDF&IG;EPKS85GJf%E6r9DBULPDfMJ*GWE zq(eTZK0c^EMy5tVsX<4lNJytiLaIVQt3XMpN=&IvL#;zYu0u|$P(`stMzKamu}4#_ zRY$T%RIOG=vqwj?M@hCxSg=}Juw6^JOJB2LU$bIPyiQ`YWKF$IW3*;ZzE5SgXi&dU zP{2@9!BT3tZc@ThYq)P~xo>Q_Z*979RK-+pyK-^7bymn$R>@X$y?1rKd3C>eSj$*< zzk6EFT7krdfyIV|#)^%~l8(xhlg*iw&YG3ao0iX=n9!e@(Vw8yr=!)Xq}8jY*R816 zucz3rtJ<=#+_<#fy|v!Gw%@Eq<#>~vjA^8LW3IKlqEC2ui z03ZMs000O6fPaF6goTEOh=my(jE#=El$DGfh?9&+W>zhgGe=rwY)+0Jg^nay zZG3!fWM&|jQh9!Ub|jCOf|fFFeYa;FPI7*AUNAtGy_SqBI$bsnKeZk z1rZZ4K!FI3>S252fd&*X6#oDSAb`LD2Ng7J300IRJ9!Q{YVZ)>j z9!jK$fuo0!Bu}QqoGFqd0h>4*Jb*C40)`MMUew63L&%V$NtcEkS@R|XsZ_0E)ymZ? zSfx)g$2x_2c52nDS+{omiWDwWvQN#Ty}MSg+rDB4%@u4{ZQizg!^$i)AaK;ic-iiK ji-ij!x`Q2SKKvv~q(ODlW;XnF$?4M`P`G$4C=dWUiqcBu diff --git a/docs/static/gui/run.gif b/docs/static/gui/run.gif deleted file mode 100644 index 71dcc67eddc7b829b3221ba4823a04e93c317ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmZ?wbhEHbRA5kGXkh>WMn*;!78X`kRv8%?d3kvQ0|P@tLt|rOQ&ZEBkdW~3@W#f* zzP`R`)22WfAZwX)2B~gy?XWL&6~Gx-+uY>JSuFtAW4$w*aj%1_PAOIL8t&n-yIt7K68$->CRAkUx!(gbo61M8v(>U}Ah^DZGE(+-Pd9n~wOxE_RahlU()Kf}#eGDh z*YY|kSclnhF*_f*ZL2LVvRih;gcu3Vl7L(W;oNF5dkLndh`{&>RXH)u)s9RO_M-ic zeWf|^96S<2Tyxsf7B~v9GqLh5uUZ+O;*@5-)iu^LcxTxBeY@PPj~q2OIdSsT=`&}~ Ko!3%ium%9#D0q7S diff --git a/docs/static/pygui/run.png b/docs/static/gui/run.png similarity index 100% rename from docs/static/pygui/run.png rename to docs/static/gui/run.png diff --git a/docs/static/gui/select.gif b/docs/static/gui/select.gif deleted file mode 100644 index bb7e128c878317f6287564514a302e5e3c40c10e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 925 zcmX|AT}TvB6#nkcsH?a+J25!wWJw!YSVoy{g=r6ESt%99vPu|jWwavpvRe--w$f%s zYflbuf*4Z;~=R4<~Ip225ShbBKwQc6#Xwq9Tr2mq=851@csnR&8f+ycq>V-cDai3y~@!gr8wL0nBC zU{r)Hb5*5f7u61mZ3t|yIUb`VBe1-QqVleY#wih00Goly!xkwyVZ{1lB8I%Sj2 z2m-M!HhYQ+$jnGNeiv{GnB~nh`yh{T`At9|X4{_DxaFbKW*UGN8*$vq~F1bXlQwoK`C%h5?z2 z^9{6>N|K@L0aob!9DW(7DB*YfpQyG!K!#mAI~x7?(4Lbn6<4Dx zBsmXiOOfS?u)5v0FmUO{muJG>%YKj3_qk`!#gV43zkL%=4mf&UnMa1E`pa7HX6 zwqJ$`n~{uVTRP)1JIzL7vZz_If|{*~lS3(L>1YMNREp5@O@UgWlR;}sSO0_k0ekZL z_4(yVp4S^+tEp{9fME3$6#a%3d6h+8OxB~4_u{fkYWYPR?;%tdh>aI$;&(>#2d(q5 zq|ZS55Pb#FeTca%FjoY_pJqd!1@)Oxp9Ml1`7i-t4cyYgh!#e*aJztjI|SS%;9h|a zB09LQQ-@ea61aXdeO(}jc{0Q^LuMvumWN6CNC71urC^MNC<)^vJSd=Gf`Um(ai38{ z8O1oOm|(THknXlgcgI9TOhi;5A6OtpL5zkt4O28s(=ellSv}0@;UNQ$7?@{Zp@4-& z77{Ex<{-(z6Aqg*V)HyUZ^9BLSmGdMfWHe6JVmgA;2$Hb8db|?STjO~hb+(iC2}E= zy;n>}t!$*2i`p!Ao&2Q35-AghO2uI5=DfEu#zz=H@$_Mb?{Rq z{9+lOEYmC(YgRUCGIq4&M5(gkhc7$gRgRhMj=5@EvbrQ*Q!-U!TdHnN9cfQ>p3I%` zKE32ym!#DJX>CAC`=yLudghn1gHmqL|199o2K>39h3w)&E|JY=*YoT7d>;PKe_lXL z%Qpa=2Iup}^G|?k9cpo5kGH%3s7hbT?CS`gs@|e@IvxFC@zo~jk+^@))dtz&Y*T;l z?A{-~bETvTcUU_8qRZQ!rUz#@r|W!B>HK04c84jYlF?$DP{j?^i+0ZQ2+ZIX4SO-=6I%AGsiKi6a3?s^GQOGO8fMnKq);bg%%10X@M4zBI6uI7|O(9f`)8t&J&IEhZ*K% z8p0H3vMt-(>;N^g83y9QrosRx$V4G+SB}zh6w0L>BIQtq|HD3c{rvguotmB!tKG*1 zE-VAE0ptL&09yeP015#11C#)q0w@Kz0PqdK&j3}M2!tvku^OOe6M=9I;5xuH0$ktZ z0aXZc!vk)j#99QYB_Y3{$So3DOF@67l5SyG9hK5R#Tq<48*uD4oq7+)?=tY;nACer z`X3y|eIItSz^mDxWAgMc(LBsFqM1&#;6w|9Xu{EdnM5lKv9ggqFQlJ?40xjhKIq^k zU)07$ZGPwwk7V~J+4&?BlVb6uTR9Y~H`eCk^}vVI%Hwnk{46}Cna4KqIA)QbgHIY3 zl1D`3zs1}xsegxz*BL5&94hP%6%9yzEn==&%crFW;+X`=Xnfd;p0S?9 zTz`wXu$@1jB>69icnv2A%1q*_d#8!8+C0 zTZrvD>>8Vox>4Mdm_Es^ZH+W4(mo!~Z1|$qT$^|IwxO%!+@-oJh{nC8;r*=WWA`-;QAzjtz^Ii7u|z=Wv2fXj#VN>!l;b z?mLBTO~!ZdvdioVmi{Zhp5ZE9)4|Gr^t?m#a)!v5$*HJ3Tk$2o=T;c6)t=K>yv+RC(pN0M-Dd-mC&;N5vlB2PJtvQ!1!r1BjF z+s~Ac1T8?_TUcM_wWIJ%I-4ebdPz@^w*X1jEB<6*W6va?-5+;v-TUT4p_f*)Gl%!N9?d`v_mp{QI;sYb*91-N d=esbwJ0>tWSn~6fcWtY;{pRgIt;xz@4FI19FuMQ% diff --git a/docs/static/pygui/text.png b/docs/static/gui/text.png similarity index 100% rename from docs/static/pygui/text.png rename to docs/static/gui/text.png diff --git a/docs/static/gui/tunnel.gif b/docs/static/gui/tunnel.gif deleted file mode 100644 index d574147f535122637516f4887d931779c5903ead..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 799 zcmZ?wbhEHbRA5kGI2Oae!0_MK*VoU_FDNJ|BqSs>G&DTiBRt$QBEl;&(mN_DDkjDw zIyyQgCMGVRu= zo;-Qlw5lmnrc9q+K7D%S^y$;*%qf~Xw{X_1S###hnLBsx!iCw37GTOS zvSsVmt=qS6-?3xIo;`c^@85smz=3n;qz@fBbm@}tv17-MA3uKbEDBDn2z=biC+ZOKAtSKatw%=FXNJe4Me>Sj+A1D9KCrS*RkU3* z;lrne-kjRjO)MM=OCIfUlrZJGkdVO4#LcG^5-~xMv7K2WY}*zN!ma^ zbPjCKZ)C4{X}6U-tSN3!tNM$%udfIkJDRAe;MWte!OBrWPFoND ze%zhu(T2k5n;-J6D%2?Cv=W`H(&hR5YrE{RRjOvEka_>yUw;J#YXB&pnhF2_ diff --git a/docs/static/pygui/tunnel.png b/docs/static/gui/tunnel.png similarity index 100% rename from docs/static/pygui/tunnel.png rename to docs/static/gui/tunnel.png diff --git a/docs/static/gui/twonode.gif b/docs/static/gui/twonode.gif deleted file mode 100644 index 28e75fac3aadc9286cdb65b1269f3f1355f055d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmZ?wbhEHbRA5kGIK;vL1pmSK$$5tVNI>zQv_`U~f{}rNg+fV2s)AE~YGz)#f^&Xu zL1JDdgW^vXMlJ>x1|5(AAfp(Vn>=>i`Dbv-A$vka-~r3C5f^&JB{~NwA;X2aQL-=@frKKWwv3( zs%b?M|9mdLmiXy?;63*j?HbL7MqLIbcP^&3j?Qk~UiW^@i7u0sr`k2mm^rJirgNbX HCxbNrD`Hob diff --git a/docs/static/gui/wlan.gif b/docs/static/gui/wlan.gif deleted file mode 100644 index d72fe9c3f8db0c7013424313bc826eca7022c19a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmZ?wbhEHbRA5kGXkcUjg8%>jEB@otNY*qmFfdba%1_PAOJ`90$->CRz{sEjQUOxS zz!cuozw-23{>32+u5qs4D3yPjAx>eEpJZvqkAmdpb(+5?eJb>ho%FhP{o<=WA`fyl xetyz3Q~L84X{Px{Rg%)5F0}|bV|49q%MP!#xfR=XUU=m{gSY?m^L8c%YXB@FJ0t)A diff --git a/docs/static/pygui/wlan.png b/docs/static/gui/wlan.png similarity index 100% rename from docs/static/pygui/wlan.png rename to docs/static/gui/wlan.png diff --git a/docs/static/pygui/OVS.gif b/docs/static/pygui/OVS.gif deleted file mode 100755 index 38fcbb2ea684f2cb3724f55bb668d66dd952ee4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 744 zcmVJ9wZvc%wRbpgMV>J9(izdZ9gfp+0+}KYOA*e5OBqqdk75L4Bk` zeWOBtq(FhHMS!M3gR4h^r$~aQNrI?Dg|0+}u0w{dOogdTg{n`7s!xckMvAgji>+0Q zu1SuzRgA7lkGD#Xw@Q$=SB#%r9qZk@Ytp1W|LyjZ2mSf$H#qQ6_I&0DF?cci~~ zrNDcq!F#8|eW=5Ks>Fe;#fPuQh_T6uvdNFN%aggzn!VDVz|)|@)uF=GrpDN($JnUI z*{jOhtjpW3%-prm-?-G_xzypg)Z)9<;=R}7%*@Qp%*@Qp%*@QpA^8LW3IKlqEC2ui z03ZMs000O6fPaF6goTEOh=dv*jE#jucwYQHYIwy=OOkz4Hj~p>W&4i3Z zU|?EVaBDeOZhEkLdR2@d7~9=~8y-G!bar@qcWq-WUF1-iLJ&x!2p8np`UC026(iCh zJzDS}A-9DYGIZ!5v5|<6A4!l-8|AaEc70|*i*d`R)429F;{oItU%<%@ul z7Q3Zf+45z~nKf_b+}ZP|Np6FNvUCYkCQX|-b@KEHbQ>Y5MXMskx^$~ki(gevHEK0! zR;ET=O%?)6_2^ZlTAP-%V2Cc;v3TMBba2S8*t>7d8bD;&uG_Lr69G_J06~HV5GGUz aLDL40AWED>vBKp`qSL5Tt6ohg5CA)88DCBS diff --git a/docs/static/pygui/alert.png b/docs/static/pygui/alert.png deleted file mode 100644 index 718fa9f1f2794dc3165f2cf71db560247721c52b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2019 zcmV<92ORi`P)!Qp@lUfU%Db%W|ox?Bz|gZ z*$7A@n3z;FF-GY6FJY@OxU>;W{P&Sqq-~ZzOZ;Hshq}xxsKHjFsiN6x)MAUWrGc_2 zyVK)`ohj?ieQ)l&?@V`gdw_kR z|GUf&^2iDv0b1gIgwMZqfsyke2s+3p%KeKj?a)EK7AjAIj3~1WcsxPkm{j;us6m~K z!}(`#A>1kzp3EvUa{zP`S5o9K(3>K4)deBN`3+7XY?KOr%_29`6r=-m)5U($oDZvR zI`VKnz{MyB^ja>+B0JkV;6lEM@*%Ib3qcsoB)D>Er8Jh^_aTw^% zqF^OYM;V>pU>+EdD!=n->@@-ugc{!^tMeB+ugK{r(D?ve!1vVi;r5$?O56q96kyB( zD=Y{(oZp~CnNRpMY#Al}C~J6~qbQf>FsPxe#8wtkFZ}1n2^vfjkNe$9Rz;W)t+WF9N zKT+G{e1NN{aa&r0^Z*E-F*WD^c~=`{XG2>oEc3A=?Pg*CbdamTbJ3L*yi z;WEAeOteY*Cf&sPq?^ejK-o^VK|Tb|>$=5mdY3cmrq z(+1J&xsms|Zny&=e8k)Y;YHrYH_YW)Q)Cx#++1#fo86aPsJn44ls)n@UN@I(j7)MG zWskXFWyqt*0#L-jMP<;uJP&}+GXKDMH41~vj$)NdUF4kJu3!$hm)e@i{L z(8C-24d}}wX9*{%@(zJBi!U~hfD`m%>wJKHxt(8T8@>DyWj}B`&=2&~|N4R3Q4Y|{ zA9Rq9<GC%aCsMQ)4+mz zBLjjfECkL-m7Ty={HDigV2e~4 zS(<&ysQAv{zDX3DeVde${5Nokq3RiCdAA&5HjfY;pqsU9LD-BkfYeix%CY)S%?W0C zI(W`+=sAZe$*!fXWSp9oses{T81&J@r^#9JQFrWk{jYuehaK2DACyVgh)k-AIB2ST zf&26pdfFh@6dht6nkxz9M)HCRA(xbqvB1wr_-Pno>eK7D;*b`ac$3_Jv^2au-Q++$wW^gBC$hluu>-Vj=|AhRPH_0ms)xR;lwF zqy*usGR0Hp+#oIU(AiJ;mfG^UmySeBj4b+e@$zjdDipNL{`1NC4eCMIpYtT9fgv5V zuYayNpa1trBoc{4B9TZW5{X12kw_#Gi9{m){15#$Llp7S@m>G`002ovPDHLkV1gy+ B*;oJo diff --git a/docs/static/pygui/antenna.gif b/docs/static/pygui/antenna.gif deleted file mode 100644 index 55814324be26242f061339e6cd85d0ebfa67c8b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmZ?wbhEHb)Me0RIK;{T1Zin$?H&D_H*bFS?Ad=9Q2fWIk*sNCU|^=;l%JZJm(HO0 zlZBCsft^7Iqz9y%fq7=dt~>t>PI<20Yw>z*%LIA$wu$OaDpThjU$rSV+3545te3L4 z4c2bo87$x;EGEftbE0tw!@SeeF1l5zS^GY_bn3O=?wHJw67KH-e4D?=Sg*L9zEOBr z-}0AbT~_ipKg-wE^ENhdx3uO}bToH$b2Cop7bHOy`C3Coz bFfU_Yv1-jSmJO>mux#46e%q>aP6lfLpq*ob diff --git a/docs/static/pygui/cancel.png b/docs/static/pygui/cancel.png deleted file mode 100644 index 1d95ba0ce40155f397a587da9463123509c9fac7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1322 zcmV+_1=aeAP)U*#STqfkhaVU`Am#aP!|dqJ4`b$?;aOS z`Z4cK=f0T%7xce8_uO;-|93ymz4yU1rg3jWY7s=cy4=xgzqTo?KqaA~3lQd@G!(LA zQ2r2=i-@L0BvrR`a7el_)#k2BKz7yQdB(^_lox@fh~2NCa?mmK#`_1aRLY?u0VAs) ze~6o2k037tGb>GAz)clC*Sx>uzW(&zQ9DN#km+oD0p(+0cGSLQa8;2_jeUcMqja(s zpozqc%q(}m!20Oi?4fX=;U9mqq|>)-{H+A&Gl}?(toH@z>gwoOLinb>&hL_A>1;Vy zr<{W(5;N{9c>rb2jjZ>TcD0mUUu6YkX1V+CD)}*JXXbkSN9DYxoI;u8;&mVgYey>5_L2hrO}0JYzy;vJJHpH!*NpGaFSW&%oI--`;r}NOFxz##U8NdB1!UWo z%q&;^EL(VMgQWCTuILIK;MWr|!eg@H)${b#Hl+ zx(^Nz+qxTE*D3`t(>LCRu!evD?Z!b_XBD7!)fI3K2pIjbZ3!^fCZ@Bn1uyy31cO6t%MQHul|l0DE62!>*`Dmcncr;1 zA7~oA`b#3fq1d3X!ZxBgcZS^C+rjt8jjl^<>+VS-;Vn-Rd!y)U8$<5B-I#M{Y|~*J z=_s~&0Vh}#<%E|XNCDf4ZR;5)SeQ-#+`1X~@)$$z-CgASzKxIxL?ti+0j`;3+fP7C zq{!T!4wFOxr~w6>2?Jdr`9i=m4SmCpO|*pVLUSsJOnx90oKE7@kUW3{xP=L5s4)7t z2orKsRIQRc0FA{4`)XnfDYb%hinhuTCLmL3u(5sK2?;CZ>x2bHiVa}`{;VYO#3D5Y z)ydPzqS#Fh4R8yq1DB$P4JB_3xp%tB^=zBGu&WRu$i-q?K!5|MqXaEUzOZ0Jcc%(P zs0O(O1c*q=HlWko8YJ)gQX&MI@>-GA(tN&qWb68u+N^D$r8xZ-e@($ptpZBBPi2?5a?$k9! zLRH^QsIp|w59_9Gh=zN{TBYaEaJ^{bjQ?t-Y~q1vB(9ZxhF%qB$F z0rMhuzYKcNQLi_w!rG!XzgfF+Mh6xxGLCeJNJiR gzged-je8yc0S7nSp}o%sl>h($07*qoM6N<$f=vT~fdBvi diff --git a/docs/static/pygui/core-icon.png b/docs/static/pygui/core-icon.png deleted file mode 100644 index 0b0ff5aa3a51f71807691032f516d7a15d7da896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2931 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 diff --git a/docs/static/pygui/delete.png b/docs/static/pygui/delete.png deleted file mode 100644 index 01b498d4cb54e3e1f71db21b1ef0408faf28dbda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387 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 Nm&*gnpz<`}>|gl)4y^zH diff --git a/docs/static/pygui/document-properties.gif b/docs/static/pygui/document-properties.gif deleted file mode 100644 index 732d8436455ba607ff30774ef83faa434789f775..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 635 zcmZ?wbhEHb6krfwI9A3`UtizZ-QL^V)6>`4+Ydxt6Z*URCUj4n)H`Wv|CDJHr_Go& zZN}v3v!=|LJ$2^nX|v}}pFMZR-1#%-Eu6hz(VT@#<}O+?Z}GAP%a$!&x_sgCm5Z0J zTCxI&Rxe$-dg-b)D^{&twiXE1tzNrs?b`LL*REf)X2YuWo7QaFym8yMZ98^v+r4}D z-hI3FAKZQ9*uj%$j-Nbx?EKkN7cQN-eEIUFs~4`{xO(Hp^_#bD+`N6`*6o|O?p(Wh z_u4HGx_egDy&`;YEE0HVit9zMSJ`0=BM zPwqW>djIj$2algUeDdt!vuDqqJb(1!`IDzF9=~}0?D@;5FJHcR`SRtfmoHwweE#Ou zi?^>|zJ2}b^_!P(-oASC_Vv5>Z$Eu}|LN1G&!0Yi`}Xzw_wPTxfBW&{`%fVH2}D1B z{`&dr*Uvvd@b}MOAo%z99|-;X_y6C25W)u(f3h%gG1N2YFaQB4P8is4G}PBC$jQn` zOH0W%^)$&PmQ9?P6RzIdBv~967UJ*YYhIu;UA!+K3@N%$caBBCo?vDZnK?>>} z4H6mGRzwyX@-nz_KC4-2cu1l_BwJ^i<gzK44%5h8Cn(&TO1gfn3+!O Kwon&fum%8seSYfz diff --git a/docs/static/pygui/document-save.gif b/docs/static/pygui/document-save.gif deleted file mode 100644 index 165bcb908bbcf12dfb5d0c06a933898ed8f3944c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1049 zcmZ?wbhEHb6krfw_}@YinU=Z|&e<14NFF4ld44ZmzCg z9-cm4UOwJlzTVz`KE46IegS^|fqwo${sBS$K0$$j!2!Xcfx)3cp)oNjndzz7*?C3z zMP~yN%>eKber00=&?_cmGkk~>bNa@fGjG?NeY^JT=M^U&Y&`d1?~!8%PM$h?>ddk8*N$Dd za{9`Zi`TASzIprlov%mkeLME($C-x@?>~Na|H+SwPk&x|{`1<4pVuBfe(>n=gU62_ zK7R7>$Hy=K} z|M>C!r_Ue1e*OIQ+n2B3zJB}m^~aANzyJLH144iP{{8#^|9^&2K;sZl{K>+|z|h5@ z1F{E{Cm1-sF^F=Ccsy!8$gjkvB_r{uXI8tKnApdQix+hmo2Jb%Ol)TFmv^iC!Pvqf zz}X|^|3g!G#rb}@hBp$Mij5v0GmpRb7dnSnV*-j_uJ)us;Cr9J~LHYW5xwW<>NUDdbt97Hy(V% z$)(wGNaN(?!^}$Z!Q1vIwxqgFGm4t@LgC3m=0&Gx2#Oj_k-W&p?c^l?(@>>DK-r^7 z#8T-<69WeWk4D0U1x##QykZIr7Y;NuvhgYeEGT%$)W&^S(;-8_p_!5K0y9g4-(LnM KMj0k125SJ$J7sYI diff --git a/docs/static/pygui/edit-delete.gif b/docs/static/pygui/edit-delete.gif deleted file mode 100644 index d23f758c7ddf6f31eb685d8d30930ae6017d500f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1006 zcmZ?wbhEHb6krfwc;3#SqOPv4qo<*(uc>FCZD^!zXsl;qqGw`eXkuh+ZenC%VQOh< zZe?Ll3!6;)m&HC-rC;Y-q_XA*4fqE)7jqL z(bCh|+S}FH+uPj_ME#wUCiG6}pEPyq;;P#E?lx?!SW@GRxDVwV)3f=%U5q$v3C82^&2;=+q`!D*3BEXZP~nI z!{!~Ex9-}yZTIHwyLa#0y?fXG?RyUF-+y5LzJvSsA3S*I=#k^6j+{Ps{Pelgr_Y@| zeg5>B^XJc8IDh`qg^O1%UAlVq($&kCu3frv{p!^l*RI~Ue(mO^Yd0@nyLtWQ?MpXr zU%7Gn`i&~^i_io<3f9L*#8xI~mdi?ak_?%XjbJeE9JC{fBoSKD_<%`Qzs=AHIBf|K-ca|D%9jA)xq^g^`QlKZ6bf5PpV3N^QRbX&vc*H5LFT%M>QaGKnot4Mr zibW8c*9qoImY*Ay)4iuC`K?fR`DxR+c}~qdf=ox$efcB}b=G$6JKk1V5QxKE#`RT&>|v=%>_EGRItEZYX>VOJtMJI25sS(Icmq NtJ&5n@o+F$0|0Y`xn=+W diff --git a/docs/static/pygui/edit-node.png b/docs/static/pygui/edit-node.png deleted file mode 100644 index 28490eff07edae4f5c5a58b1f04ed3cbdb9b6d48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3050 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 QVE_OC07*qoM6N<$g150mDgXcg diff --git a/docs/static/pygui/error.png b/docs/static/pygui/error.png deleted file mode 100644 index d73d1dd402887d094863eba351eb62b72dec7d22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2258 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 diff --git a/docs/static/pygui/lxc.png b/docs/static/pygui/lxc.png deleted file mode 100644 index b944b231dd74291e35675a35e55d0cdc0071651c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1553 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 diff --git a/docs/static/pygui/observe.gif b/docs/static/pygui/observe.gif deleted file mode 100644 index 6b66e7305f35484095a2182ed828c6507c72a746..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1149 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 mQ`U_CE=;^z?yW5|Hvb2nH000xvBxR^0000i+8M z{_E`i?Ck#S?f&lW|9_tDA^saEV<{jqFflS9bZBKDLT_bhZf77vZ*6d4Zg~J9`2+z9 z01p5x00000AOIi$00fut$w{ldIO|=y|6nLmg=3y*s-^|GzOdO&Wo)CfRNr_0?7Wx{ z7<>(jwj&azT$&g-m(u|NL}|P#3J?fbWzrac;9XF=-EZ@i;HCisbU;vTDio=PTh2!- z4^;pSCRKfgT}KOh00w)9eM1P2UXPDMla-Z2nVfzkot>MYnWCeXpQfiYsj51xheIN= PvmP6^x45~wyAc38TK{^> diff --git a/docs/static/pygui/prouter.png b/docs/static/pygui/prouter.png deleted file mode 100644 index b0ccf6641d7dccccc4502cbb2a8c5fcdf08eaa7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2590 zcmV+(3gPvMP)H!I{Uu%Ie?9gjg5_sjg5_sO}0UqHXs#M z%~kWFin?4;m132+n1Ese<}ok>Kt4wQ0>I}01_}6_fh!F30XU-oz44gqSXUtUpN#zo z4W^U>d|_WMV$Sufs815p8U~iYx{VB`lOR6Kih3w_#B(4R2;LH5uLv^kfcpA+<>=BA zkAZj#1DgTlNiK32Kr4uYIZ=0KFc3^gE-xh+bHM6`I`7Q{dM^ zZ+4Y+jby@rv^&5T_T?g>JOiemFmQjm%TERYpD@#Ia>aii_Jwbzx$N{&-cspfrac5K zN@uwSxCG)C+WoEXq^rQRIKUtBFNy=N0Vo%#yK4RlFcXemIVw^XU}_^*{JF3%d{M0M z-6*mP@P+*TIM4&Zm0y@whz$$YW8=bgD9jT)gb-J7+;P$u@(08UCn-vnaA{|$#}ReE z45l5TwF|s+ux-g!cpY8wBlBL{*i)G4O~;-Ep+~`|)u>5)UVsj#RW( z6pIuU=792W`Gf38ybD11Qv!_6cvjxGQdl~ZEKn1UgJn(C3q=VEaX?jbRRQA80|0~> zb|*%kY$-FNaflxzMeP(dCRlbrX=kY?rl{=z9u{EFU6|?HQ;iiOAmFPmS1erGS?aN> zW!V9asQWiE23)|}>_+CyXpF}kQTNMMMJzd>yruFxV0zZ75y=qo6w90$0RWhGY-+Bm zwjyELGJnXwh?xFhrSMdU>c=I|j6lS1SQ(U^W;4ctJpg8z&96n*h5hKdu>Y?A|Kb}z zPnqwRfB%&%lO|&}De9{L{AMznY5~5G-w(iNChv5FfXecgN>lY=*a5z14~@>PDAo; zIucLnNvO*Ktf;!gY;L0{>KZ-ibnOL=1rURmi zx*USyhYIrwvHg)c%*`nfAt#i4Pd@4vKP~boQ&AJjGR;KVDvHo300}?TGO`{F(ouJs z4p51OIsmxc)W0sKsary3*GM|*PIC|@ph%246Lg8NVc~kr&H1vB!P!*#3)YG1?~}rS zbq4^LpX{GnCsTS^F>e|2y|d8N*MdkQB1BUQufvO)B7e$m(CF_=Iy+-ZT6cG%XB{xp zkR>K4%qzsUC0nJ1k=#jI#~@}-48k`6$nTsndeNe(uLb?X{lc|-K0S`X$Pj9Z{ON23pJ^q~(*iU_L~u27 z4GkadlT!KP^bhyrjgx!v-&r4~9Q4zYt zY;MEE;vA4W;yFOTkTsLC2Lgt2qVB_b(&}wgtY!E}QgJ4J$G`=n`KCJrocnBO*6T*| z8FoO}7rv>8ttft=;L9Y07 z9Cv&hz-+S`sVH5v!Blukvb~}YFZbZxfo>6IC1cQ`s5{MOHXW7{_JuDJ(-sKYs-8&q zz|Y4^8=tY}yc%u2YUF9G00ScQCStT77d3uN z!XI`h8`|z`|5#DfjR2&)as0!}J-XhKt~Z@YE~-pxMZQ&CXmD;@Wm|7d zRUQS?KSk<}qxEFVobfPl+CltyXLU$uoRskB=c05tJgdqMvm0w>Nb41)aCN9XC+1qrzzbmdIGtr{ za0$TkH?GfKoX*MzGWa34(#}$kGwQAb(~Ar|lp!d&`38XN7`@MS1wbE| z&ak5Px>e;^s5&(D;^A#z_PXGV_07*qoM6N<$f*@Dt Ae*gdg diff --git a/docs/static/pygui/shutdown.png b/docs/static/pygui/shutdown.png deleted file mode 100644 index 532f2cb9762971efd01089debdf87bad56ec812b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1546 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 Date: Tue, 8 Mar 2022 11:36:57 -0800 Subject: [PATCH 002/215] daemon: updated core.conf to change .core references to .coregui --- daemon/data/core.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/daemon/data/core.conf b/daemon/data/core.conf index 20ee5d1f..cc279cf3 100644 --- a/daemon/data/core.conf +++ b/daemon/data/core.conf @@ -12,8 +12,8 @@ frr_sbin_search = "/usr/local/sbin /usr/sbin /usr/lib/frr" # uncomment the following line to load custom services from the specified dir # this may be a comma-separated list, and directory names should be unique # and not named 'services' -#custom_services_dir = /home/username/.core/myservices -#custom_config_services_dir = /home/username/.coregui/custom_services +#custom_services_dir = /home//.coregui/custom_services +#custom_config_services_dir = /home//.coregui/custom_services # uncomment to establish a standalone control backchannel for accessing nodes # (overriden by the session option of the same name) @@ -48,7 +48,7 @@ emane_platform_port = 8101 emane_transform_port = 8201 emane_event_generate = True emane_event_monitor = False -#emane_models_dir = /home/username/.core/myemane +#emane_models_dir = /home//.coregui/custom_emane # EMANE log level range [0,4] default: 2 #emane_log_level = 2 emane_realtime = True From dc7bb37252ececdb78a8ec4516a216bbf796ec5a Mon Sep 17 00:00:00 2001 From: Blake Harnden <32446120+bharnden@users.noreply.github.com> Date: Tue, 8 Mar 2022 12:00:42 -0800 Subject: [PATCH 003/215] install: removed tcl based gui, updated configure.ac, Makefile.am, and tasks.py to account for removal --- Makefile.am | 8 +- configure.ac | 24 +- gui/.gitignore | 2 - gui/Makefile.am | 41 - gui/addons/ipsecservice.tcl | 329 -- gui/annotations.tcl | 837 --- gui/api.tcl | 3296 ------------ gui/canvas.tcl | 406 -- gui/cfgparse.tcl | 1147 ----- gui/configs/sample1-bg.gif | Bin 319126 -> 0 bytes gui/configs/sample1.imn | 462 -- gui/configs/sample1.scen | 28 - gui/configs/sample10-kitchen-sink.imn | 848 ---- gui/configs/sample11-sdn.imn | 291 -- gui/configs/sample2-ssh.imn | 248 - gui/configs/sample3-bgp.imn | 657 --- gui/configs/sample4-bg.jpg | Bin 201030 -> 0 bytes gui/configs/sample4-nrlsmf.imn | 546 -- gui/configs/sample4.scen | 2791 ---------- gui/configs/sample5-mgen.imn | 127 - gui/configs/sample6-emane-rfpipe.imn | 271 - gui/configs/sample7-emane-ieee80211abg.imn | 274 - gui/configs/sample8-ipsec-service.imn | 920 ---- gui/configs/sample9-vpn.imn | 1015 ---- gui/core-gui-legacy.in | 177 - gui/core.tcl | 196 - gui/debug.tcl | 46 - gui/editor.tcl | 5348 -------------------- gui/exceptions.tcl | 214 - gui/exec.tcl | 862 ---- gui/filemgmt.tcl | 623 --- gui/gpgui.tcl | 519 -- gui/graph_partitioning.tcl | 1646 ------ gui/help.tcl | 117 - gui/icons/Makefile.am | 29 - gui/icons/core-gui.desktop | 12 - gui/icons/core-gui.xpm | 294 -- gui/icons/normal/OVS.gif | Bin 744 -> 0 bytes gui/icons/normal/antenna.gif | Bin 230 -> 0 bytes gui/icons/normal/ap.gif | Bin 419 -> 0 bytes gui/icons/normal/core-icon.png | Bin 2931 -> 0 bytes gui/icons/normal/core-icon.xbm | 14 - gui/icons/normal/core-logo-275x75.gif | Bin 6118 -> 0 bytes gui/icons/normal/document-properties.gif | Bin 1162 -> 0 bytes gui/icons/normal/gps-diagram.xbm | 116 - gui/icons/normal/host.gif | Bin 1727 -> 0 bytes gui/icons/normal/hub.gif | Bin 719 -> 0 bytes gui/icons/normal/lanswitch.gif | Bin 744 -> 0 bytes gui/icons/normal/mdr.gif | Bin 1598 -> 0 bytes gui/icons/normal/oval.gif | Bin 174 -> 0 bytes gui/icons/normal/pc.gif | Bin 1854 -> 0 bytes gui/icons/normal/rj45.gif | Bin 755 -> 0 bytes gui/icons/normal/router.gif | Bin 1443 -> 0 bytes gui/icons/normal/router_black.gif | Bin 1406 -> 0 bytes gui/icons/normal/router_green.gif | Bin 1433 -> 0 bytes gui/icons/normal/router_purple.gif | Bin 1443 -> 0 bytes gui/icons/normal/router_red.gif | Bin 1432 -> 0 bytes gui/icons/normal/router_yellow.gif | Bin 1443 -> 0 bytes gui/icons/normal/simple.xbm | 228 - gui/icons/normal/text.gif | Bin 127 -> 0 bytes gui/icons/normal/thumb-unknown.gif | Bin 9517 -> 0 bytes gui/icons/normal/tunnel.gif | Bin 799 -> 0 bytes gui/icons/normal/wlan.gif | Bin 259 -> 0 bytes gui/icons/svg/OVS.svg | 190 - gui/icons/svg/ap.svg | 270 - gui/icons/svg/cel.svg | 109 - gui/icons/svg/hub.svg | 197 - gui/icons/svg/lanswitch.svg | 190 - gui/icons/svg/mdr.svg | 178 - gui/icons/svg/otr.svg | 181 - gui/icons/svg/rj45.svg | 172 - gui/icons/svg/router.svg | 158 - gui/icons/svg/router_black.svg | 158 - gui/icons/svg/router_green.svg | 158 - gui/icons/svg/router_purple.svg | 158 - gui/icons/svg/router_red.svg | 158 - gui/icons/svg/router_yellow.svg | 158 - gui/icons/svg/start.svg | 215 - gui/icons/svg/tunnel.svg | 192 - gui/icons/svg/vlan.svg | 180 - gui/icons/tiny/OVS.gif | Bin 744 -> 0 bytes gui/icons/tiny/ap.gif | Bin 667 -> 0 bytes gui/icons/tiny/arrow.down.gif | Bin 337 -> 0 bytes gui/icons/tiny/arrow.gif | Bin 54 -> 0 bytes gui/icons/tiny/arrow.up.gif | Bin 334 -> 0 bytes gui/icons/tiny/blank.gif | Bin 55 -> 0 bytes gui/icons/tiny/button.play.gif | Bin 915 -> 0 bytes gui/icons/tiny/button.stop.gif | Bin 922 -> 0 bytes gui/icons/tiny/cel.gif | Bin 666 -> 0 bytes gui/icons/tiny/delete.gif | Bin 137 -> 0 bytes gui/icons/tiny/document-new.gif | Bin 1054 -> 0 bytes gui/icons/tiny/document-properties.gif | Bin 635 -> 0 bytes gui/icons/tiny/document-save.gif | Bin 1049 -> 0 bytes gui/icons/tiny/edit-delete.gif | Bin 1006 -> 0 bytes gui/icons/tiny/eraser.gif | Bin 428 -> 0 bytes gui/icons/tiny/fileopen.gif | Bin 1095 -> 0 bytes gui/icons/tiny/folder.gif | Bin 1095 -> 0 bytes gui/icons/tiny/host.gif | Bin 1189 -> 0 bytes gui/icons/tiny/hub.gif | Bin 719 -> 0 bytes gui/icons/tiny/lanswitch.gif | Bin 744 -> 0 bytes gui/icons/tiny/link.gif | Bin 86 -> 0 bytes gui/icons/tiny/marker.gif | Bin 375 -> 0 bytes gui/icons/tiny/mdr.gif | Bin 1276 -> 0 bytes gui/icons/tiny/mobility.gif | Bin 167 -> 0 bytes gui/icons/tiny/moboff.gif | Bin 109 -> 0 bytes gui/icons/tiny/observe.gif | Bin 1149 -> 0 bytes gui/icons/tiny/oval.gif | Bin 174 -> 0 bytes gui/icons/tiny/pc.gif | Bin 1300 -> 0 bytes gui/icons/tiny/ping.gif | Bin 112 -> 0 bytes gui/icons/tiny/plot.gif | Bin 265 -> 0 bytes gui/icons/tiny/rectangle.gif | Bin 160 -> 0 bytes gui/icons/tiny/rj45.gif | Bin 755 -> 0 bytes gui/icons/tiny/router.gif | Bin 1152 -> 0 bytes gui/icons/tiny/router_black.gif | Bin 741 -> 0 bytes gui/icons/tiny/router_green.gif | Bin 753 -> 0 bytes gui/icons/tiny/router_purple.gif | Bin 1171 -> 0 bytes gui/icons/tiny/router_red.gif | Bin 1161 -> 0 bytes gui/icons/tiny/router_yellow.gif | Bin 1171 -> 0 bytes gui/icons/tiny/run.gif | Bin 324 -> 0 bytes gui/icons/tiny/script_pause.gif | Bin 117 -> 0 bytes gui/icons/tiny/script_play.gif | Bin 111 -> 0 bytes gui/icons/tiny/script_stop.gif | Bin 113 -> 0 bytes gui/icons/tiny/select.gif | Bin 925 -> 0 bytes gui/icons/tiny/start.gif | Bin 1131 -> 0 bytes gui/icons/tiny/stock_connect.gif | Bin 331 -> 0 bytes gui/icons/tiny/stock_disconnect.gif | Bin 214 -> 0 bytes gui/icons/tiny/stop.gif | Bin 1204 -> 0 bytes gui/icons/tiny/text.gif | Bin 127 -> 0 bytes gui/icons/tiny/trace.gif | Bin 151 -> 0 bytes gui/icons/tiny/tunnel.gif | Bin 799 -> 0 bytes gui/icons/tiny/twonode.gif | Bin 220 -> 0 bytes gui/icons/tiny/view-refresh.gif | Bin 592 -> 0 bytes gui/icons/tiny/wlan.gif | Bin 146 -> 0 bytes gui/initgui.tcl | 814 --- gui/ipv4.tcl | 381 -- gui/ipv6.tcl | 466 -- gui/linkcfg.tcl | 1015 ---- gui/mobility.tcl | 554 -- gui/nodecfg.tcl | 2018 -------- gui/nodes.tcl | 719 --- gui/ns2imunes.tcl | 394 -- gui/plugins.tcl | 1622 ------ gui/services.tcl | 1156 ----- gui/tooltips.tcl | 385 -- gui/topogen.tcl | 377 -- gui/traffic.tcl | 612 --- gui/util.tcl | 1336 ----- gui/version.tcl.in | 5 - gui/widget.tcl | 2261 --------- gui/wlan.tcl | 683 --- gui/wlanscript.tcl | 204 - tasks.py | 2 +- 152 files changed, 4 insertions(+), 43031 deletions(-) delete mode 100644 gui/.gitignore delete mode 100644 gui/Makefile.am delete mode 100644 gui/addons/ipsecservice.tcl delete mode 100644 gui/annotations.tcl delete mode 100644 gui/api.tcl delete mode 100644 gui/canvas.tcl delete mode 100644 gui/cfgparse.tcl delete mode 100644 gui/configs/sample1-bg.gif delete mode 100644 gui/configs/sample1.imn delete mode 100644 gui/configs/sample1.scen delete mode 100644 gui/configs/sample10-kitchen-sink.imn delete mode 100644 gui/configs/sample11-sdn.imn delete mode 100644 gui/configs/sample2-ssh.imn delete mode 100644 gui/configs/sample3-bgp.imn delete mode 100644 gui/configs/sample4-bg.jpg delete mode 100644 gui/configs/sample4-nrlsmf.imn delete mode 100644 gui/configs/sample4.scen delete mode 100644 gui/configs/sample5-mgen.imn delete mode 100644 gui/configs/sample6-emane-rfpipe.imn delete mode 100644 gui/configs/sample7-emane-ieee80211abg.imn delete mode 100644 gui/configs/sample8-ipsec-service.imn delete mode 100644 gui/configs/sample9-vpn.imn delete mode 100755 gui/core-gui-legacy.in delete mode 100644 gui/core.tcl delete mode 100644 gui/debug.tcl delete mode 100644 gui/editor.tcl delete mode 100644 gui/exceptions.tcl delete mode 100644 gui/exec.tcl delete mode 100644 gui/filemgmt.tcl delete mode 100644 gui/gpgui.tcl delete mode 100644 gui/graph_partitioning.tcl delete mode 100644 gui/help.tcl delete mode 100644 gui/icons/Makefile.am delete mode 100644 gui/icons/core-gui.desktop delete mode 100644 gui/icons/core-gui.xpm delete mode 100755 gui/icons/normal/OVS.gif delete mode 100644 gui/icons/normal/antenna.gif delete mode 100644 gui/icons/normal/ap.gif delete mode 100644 gui/icons/normal/core-icon.png delete mode 100644 gui/icons/normal/core-icon.xbm delete mode 100644 gui/icons/normal/core-logo-275x75.gif delete mode 100644 gui/icons/normal/document-properties.gif delete mode 100644 gui/icons/normal/gps-diagram.xbm delete mode 100644 gui/icons/normal/host.gif delete mode 100644 gui/icons/normal/hub.gif delete mode 100644 gui/icons/normal/lanswitch.gif delete mode 100644 gui/icons/normal/mdr.gif delete mode 100644 gui/icons/normal/oval.gif delete mode 100644 gui/icons/normal/pc.gif delete mode 100644 gui/icons/normal/rj45.gif delete mode 100644 gui/icons/normal/router.gif delete mode 100644 gui/icons/normal/router_black.gif delete mode 100644 gui/icons/normal/router_green.gif delete mode 100644 gui/icons/normal/router_purple.gif delete mode 100644 gui/icons/normal/router_red.gif delete mode 100644 gui/icons/normal/router_yellow.gif delete mode 100644 gui/icons/normal/simple.xbm delete mode 100644 gui/icons/normal/text.gif delete mode 100644 gui/icons/normal/thumb-unknown.gif delete mode 100644 gui/icons/normal/tunnel.gif delete mode 100644 gui/icons/normal/wlan.gif delete mode 100755 gui/icons/svg/OVS.svg delete mode 100644 gui/icons/svg/ap.svg delete mode 100644 gui/icons/svg/cel.svg delete mode 100644 gui/icons/svg/hub.svg delete mode 100644 gui/icons/svg/lanswitch.svg delete mode 100644 gui/icons/svg/mdr.svg delete mode 100644 gui/icons/svg/otr.svg delete mode 100644 gui/icons/svg/rj45.svg delete mode 100644 gui/icons/svg/router.svg delete mode 100644 gui/icons/svg/router_black.svg delete mode 100644 gui/icons/svg/router_green.svg delete mode 100644 gui/icons/svg/router_purple.svg delete mode 100644 gui/icons/svg/router_red.svg delete mode 100644 gui/icons/svg/router_yellow.svg delete mode 100644 gui/icons/svg/start.svg delete mode 100644 gui/icons/svg/tunnel.svg delete mode 100644 gui/icons/svg/vlan.svg delete mode 100755 gui/icons/tiny/OVS.gif delete mode 100644 gui/icons/tiny/ap.gif delete mode 100644 gui/icons/tiny/arrow.down.gif delete mode 100644 gui/icons/tiny/arrow.gif delete mode 100644 gui/icons/tiny/arrow.up.gif delete mode 100644 gui/icons/tiny/blank.gif delete mode 100644 gui/icons/tiny/button.play.gif delete mode 100644 gui/icons/tiny/button.stop.gif delete mode 100644 gui/icons/tiny/cel.gif delete mode 100644 gui/icons/tiny/delete.gif delete mode 100644 gui/icons/tiny/document-new.gif delete mode 100644 gui/icons/tiny/document-properties.gif delete mode 100644 gui/icons/tiny/document-save.gif delete mode 100644 gui/icons/tiny/edit-delete.gif delete mode 100644 gui/icons/tiny/eraser.gif delete mode 100644 gui/icons/tiny/fileopen.gif delete mode 100644 gui/icons/tiny/folder.gif delete mode 100644 gui/icons/tiny/host.gif delete mode 100644 gui/icons/tiny/hub.gif delete mode 100644 gui/icons/tiny/lanswitch.gif delete mode 100644 gui/icons/tiny/link.gif delete mode 100644 gui/icons/tiny/marker.gif delete mode 100644 gui/icons/tiny/mdr.gif delete mode 100644 gui/icons/tiny/mobility.gif delete mode 100644 gui/icons/tiny/moboff.gif delete mode 100644 gui/icons/tiny/observe.gif delete mode 100644 gui/icons/tiny/oval.gif delete mode 100644 gui/icons/tiny/pc.gif delete mode 100644 gui/icons/tiny/ping.gif delete mode 100644 gui/icons/tiny/plot.gif delete mode 100644 gui/icons/tiny/rectangle.gif delete mode 100644 gui/icons/tiny/rj45.gif delete mode 100644 gui/icons/tiny/router.gif delete mode 100644 gui/icons/tiny/router_black.gif delete mode 100644 gui/icons/tiny/router_green.gif delete mode 100644 gui/icons/tiny/router_purple.gif delete mode 100644 gui/icons/tiny/router_red.gif delete mode 100644 gui/icons/tiny/router_yellow.gif delete mode 100644 gui/icons/tiny/run.gif delete mode 100644 gui/icons/tiny/script_pause.gif delete mode 100644 gui/icons/tiny/script_play.gif delete mode 100644 gui/icons/tiny/script_stop.gif delete mode 100644 gui/icons/tiny/select.gif delete mode 100644 gui/icons/tiny/start.gif delete mode 100644 gui/icons/tiny/stock_connect.gif delete mode 100644 gui/icons/tiny/stock_disconnect.gif delete mode 100644 gui/icons/tiny/stop.gif delete mode 100644 gui/icons/tiny/text.gif delete mode 100644 gui/icons/tiny/trace.gif delete mode 100644 gui/icons/tiny/tunnel.gif delete mode 100644 gui/icons/tiny/twonode.gif delete mode 100644 gui/icons/tiny/view-refresh.gif delete mode 100644 gui/icons/tiny/wlan.gif delete mode 100644 gui/initgui.tcl delete mode 100644 gui/ipv4.tcl delete mode 100644 gui/ipv6.tcl delete mode 100644 gui/linkcfg.tcl delete mode 100644 gui/mobility.tcl delete mode 100644 gui/nodecfg.tcl delete mode 100644 gui/nodes.tcl delete mode 100644 gui/ns2imunes.tcl delete mode 100644 gui/plugins.tcl delete mode 100644 gui/services.tcl delete mode 100644 gui/tooltips.tcl delete mode 100644 gui/topogen.tcl delete mode 100644 gui/traffic.tcl delete mode 100644 gui/util.tcl delete mode 100644 gui/version.tcl.in delete mode 100644 gui/widget.tcl delete mode 100644 gui/wlan.tcl delete mode 100644 gui/wlanscript.tcl diff --git a/Makefile.am b/Makefile.am index bd15cf09..83645c1b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -6,10 +6,6 @@ if WANT_DOCS DOCS = docs man endif -if WANT_GUI - GUI = gui -endif - if WANT_DAEMON DAEMON = daemon endif @@ -19,7 +15,7 @@ if WANT_NETNS endif # keep docs last due to dependencies on binaries -SUBDIRS = $(GUI) $(DAEMON) $(NETNS) $(DOCS) +SUBDIRS = $(DAEMON) $(NETNS) $(DOCS) ACLOCAL_AMFLAGS = -I config @@ -115,7 +111,6 @@ $(info creating file $1 from $1.in) -e 's,[@]CORE_STATE_DIR[@],$(CORE_STATE_DIR),g' \ -e 's,[@]CORE_DATA_DIR[@],$(CORE_DATA_DIR),g' \ -e 's,[@]CORE_CONF_DIR[@],$(CORE_CONF_DIR),g' \ - -e 's,[@]CORE_GUI_CONF_DIR[@],$(CORE_GUI_CONF_DIR),g' \ < $1.in > $1 endef @@ -123,7 +118,6 @@ all: change-files .PHONY: change-files change-files: - $(call change-files,gui/core-gui-legacy) $(call change-files,daemon/core/constants.py) $(call change-files,netns/setup.py) diff --git a/configure.ac b/configure.ac index a3d61abc..e9604a6d 100644 --- a/configure.ac +++ b/configure.ac @@ -30,25 +30,14 @@ AC_SUBST(CORE_CONF_DIR) AC_SUBST(CORE_DATA_DIR) AC_SUBST(CORE_STATE_DIR) -# CORE GUI configuration files and preferences in CORE_GUI_CONF_DIR -# scenario files in ~/.core/configs/ -AC_ARG_WITH([guiconfdir], - [AS_HELP_STRING([--with-guiconfdir=dir], - [specify GUI configuration directory])], - [CORE_GUI_CONF_DIR="$with_guiconfdir"], - [CORE_GUI_CONF_DIR="\$\${HOME}/.core"]) -AC_SUBST(CORE_GUI_CONF_DIR) -AC_ARG_ENABLE([gui], - [AS_HELP_STRING([--enable-gui[=ARG]], - [build and install the GUI (default is yes)])], - [], [enable_gui=yes]) -AC_SUBST(enable_gui) +# documentation option AC_ARG_ENABLE([docs], [AS_HELP_STRING([--enable-docs[=ARG]], [build python documentation (default is no)])], [], [enable_docs=no]) AC_SUBST(enable_docs) +# python option AC_ARG_ENABLE([python], [AS_HELP_STRING([--enable-python[=ARG]], [build and install the python bindings (default is yes)])], @@ -209,7 +198,6 @@ if [test "x$want_python" = "xyes" && test "x$enable_docs" = "xyes"] ; then fi # Variable substitutions -AM_CONDITIONAL(WANT_GUI, test x$enable_gui = xyes) AM_CONDITIONAL(WANT_DAEMON, test x$enable_daemon = xyes) AM_CONDITIONAL(WANT_DOCS, test x$want_docs = xyes) AM_CONDITIONAL(WANT_PYTHON, test x$want_python = xyes) @@ -224,9 +212,6 @@ fi # Output files AC_CONFIG_FILES([Makefile - gui/version.tcl - gui/Makefile - gui/icons/Makefile man/Makefile docs/Makefile daemon/Makefile @@ -248,17 +233,12 @@ Build: Prefix: ${prefix} Exec Prefix: ${exec_prefix} -GUI: - GUI path: ${CORE_LIB_DIR} - GUI config: ${CORE_GUI_CONF_DIR} - Daemon: Daemon path: ${bindir} Daemon config: ${CORE_CONF_DIR} Python: ${PYTHON} Features to build: - Build GUI: ${enable_gui} Build Daemon: ${enable_daemon} Documentation: ${want_docs} diff --git a/gui/.gitignore b/gui/.gitignore deleted file mode 100644 index dea55215..00000000 --- a/gui/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -core-gui-legacy -version.tcl diff --git a/gui/Makefile.am b/gui/Makefile.am deleted file mode 100644 index 938769a2..00000000 --- a/gui/Makefile.am +++ /dev/null @@ -1,41 +0,0 @@ -# CORE -# (c)2010-2013 the Boeing Company. -# See the LICENSE file included in this distribution. -# -# author: Jeff Ahrenholz -# -# Makefile for installing the CORE GUI. Since it is a Tcl/Tk script, we do not -# build anything here. -# - -SUBDIRS = icons - -TCL_FILES := $(wildcard *.tcl) -ADDONS_FILES := $(wildcard addons/*) -CONFIG_FILES := $(wildcard configs/*) - -# CORE GUI script (/usr/local/bin/core-gui-legacy) -dist_bin_SCRIPTS = core-gui-legacy - -# Tcl/Tk scripts (/usr/local/lib/core) -coredir = $(CORE_LIB_DIR) -dist_core_DATA = $(TCL_FILES) -dist_core_SCRIPTS = $(OTHER_FILES) - -# Addon files -coreaddonsdir = $(coredir)/addons -dist_coreaddons_DATA = $(ADDONS_FILES) - -# Sample configs (/usr/local/share/core/examples/configs) -coreconfigsdir = $(datadir)/core/examples/configs -dist_coreconfigs_DATA = $(CONFIG_FILES) - -# remove generated file from dist -dist-hook: - -rm -f $(distdir)/version.tcl - -# extra cruft to remove -DISTCLEANFILES = Makefile.in - -# files to include in source tarball not included elsewhere -EXTRA_DIST = core-gui-legacy.in diff --git a/gui/addons/ipsecservice.tcl b/gui/addons/ipsecservice.tcl deleted file mode 100644 index c859852a..00000000 --- a/gui/addons/ipsecservice.tcl +++ /dev/null @@ -1,329 +0,0 @@ -# -# This is a separate "addons" file because it is closely tied to Python -# service definition for the IPsec service. -# - -# -# Helper dialog for configuring the IPsec service -# -proc popupServiceConfig_IPsec { parent w node service btn } { - global plugin_img_add plugin_img_del plugin_img_edit - - set f $w.note.ipsec - ttk::frame $f - set h "This IPsec service helper will assist with building an ipsec.sh file" - set h "$h (located on the Files tab).\nThe IPsec service builds ESP" - set h "$h tunnels between the specified peers using the racoon IKEv2" - set h "$h\nkeying daemon. You need to provide keys and the addresses of" - set h "$h peers, along with the\nsubnets to tunnel." - ttk::label $f.help -text $h - pack $f.help -side top -anchor w -padx 4 -pady 4 - $w.note add $f -text "IPsec" -underline 0 - - global g_ipsec_key_dir g_ipsec_key_name - set g_ipsec_key_dir "/etc/core/keys" - set g_ipsec_key_name "ipsec1" - ttk::labelframe $f.keys -text "Keys" - - ttk::frame $f.keys.dir - ttk::label $f.keys.dir.lab -text "Key directory:" - ttk::entry $f.keys.dir.ent -width 40 -textvariable g_ipsec_key_dir - ttk::button $f.keys.dir.btn -width 5 -text "..." -command { - set f .popupServicesCustomize.note.ipsec - set d [$f.keys.dir.ent get] - set d [tk_chooseDirectory -initialdir $d -title "Key directory"] - if { $d != "" } { - $f.keys.dir.ent delete 0 end - $f.keys.dir.ent insert 0 $d - } - } - pack $f.keys.dir.lab $f.keys.dir.ent $f.keys.dir.btn \ - -side left -padx 4 -pady 4 - pack $f.keys.dir -side top -anchor w - - ttk::frame $f.keys.name - ttk::label $f.keys.name.lab -text "Key base name:" - ttk::entry $f.keys.name.ent -width 10 -textvariable g_ipsec_key_name - pack $f.keys.name.lab $f.keys.name.ent -side left -padx 4 -pady 4 - pack $f.keys.name -side top -anchor w - - set h "The (name).pem x509 certificate and (name).key RSA private key need" - set h "$h to exist in the\nspecified directory. These can be generated" - set h "$h using the openssl tool. Also, a ca-cert.pem\nfile should exist" - set h "$h in the key directory for the CA that issued the certs." - ttk::label $f.keys.help -text $h - pack $f.keys.help -side top -anchor w -padx 4 -pady 4 - - pack $f.keys -side top -pady 4 -pady 4 -expand true -fill x - - ttk::labelframe $f.t -text "IPsec Tunnel Endpoints" - set h "(1) Define tunnel endpoints (select peer node using the button" - set h "$h, then select address from the list)" - ttk::label $f.t.lab1 -text $h - pack $f.t.lab1 -side top -anchor w -padx 4 -pady 4 - ttk::frame $f.t.ep - ttk::label $f.t.ep.lab1 -text "Local:" - ttk::combobox $f.t.ep.combo1 -width 12 - pack $f.t.ep.lab1 $f.t.ep.combo1 -side left -padx 4 -pady 4 - populateComboWithIPs $f.t.ep.combo1 $node - - global g_twoNodeSelect g_twoNodeSelectCallback - set g_twoNodeSelect "" - set g_twoNodeSelectCallback selectTwoNodeIPsecCallback - - set h "Choose a node by clicking it on the canvas" - set h "$h or\nby selecting it from the list below." - ttk::label $f.t.ep.lab2 -text "Peer node:" - ttk::checkbutton $f.t.ep.node -text " (none) " -variable g_twoNodeSelect \ - -onvalue "$f.t.ep.node" -style Toolbutton \ - -command "popupSelectNodes {$h} {} selectNodesIPsecCallback" - - ttk::label $f.t.ep.lab3 -text "Peer:" - ttk::combobox $f.t.ep.combo2 -width 12 - ttk::button $f.t.ep.add -text "Add Endpoint" -image $plugin_img_add \ - -compound left -command "ipsecTreeHelper $f ep" - pack $f.t.ep.lab2 $f.t.ep.node $f.t.ep.lab3 $f.t.ep.combo2 \ - $f.t.ep.add -side left -padx 4 -pady 4 - pack $f.t.ep -side top -anchor w - - set h "(2) Select endpoints below and add the subnets to be encrypted" - ttk::label $f.t.lab2 -text $h - pack $f.t.lab2 -side top -anchor w -padx 4 -pady 4 - - ttk::frame $f.t.sub - ttk::label $f.t.sub.lab1 -text "Local subnet:" - ttk::combobox $f.t.sub.combo1 -width 12 - ttk::label $f.t.sub.lab2 -text "Remote subnet:" - ttk::combobox $f.t.sub.combo2 -width 12 - ttk::button $f.t.sub.add -text "Add Subnet" -image $plugin_img_add \ - -compound left -command "ipsecTreeHelper $f sub" - pack $f.t.sub.lab1 $f.t.sub.combo1 $f.t.sub.lab2 $f.t.sub.combo2 \ - $f.t.sub.add -side left -padx 5 -pady 4 - pack $f.t.sub -side top -anchor w - - global node_list - set net_list [ipv4SubnetList $node_list] - $f.t.sub.combo1 configure -values $net_list - $f.t.sub.combo2 configure -values $net_list - - ttk::treeview $f.t.tree -height 5 -selectmode browse -show tree - - pack $f.t.tree -side top -padx 4 -pady 4 -fill both - pack $f.t -side top -expand true -fill both - - ttk::frame $f.bottom - ttk::button $f.bottom.del -image $plugin_img_del \ - -command "ipsecTreeHelper $f del" - ttk::button $f.bottom.gen -text "Generate ipsec.sh" \ - -image $plugin_img_edit -compound left -command "generateIPsecScript $w" - pack $f.bottom.del $f.bottom.gen -side left -padx 4 -pady 4 - pack $f.bottom -side top -} - -# -# Callback invoked when receiving configuration values -# from a Configuration Message; this service helper depends on the ipsec.sh -# file, not the other configuration values. -# -#proc popupServiceConfig_IPsec_vals { node values services w } { -#} - -# -# Callback invoked when receiving service file data from a File Message -proc popupServiceConfig_IPsec_file { node name data w } { - if { $name == "ipsec.sh" } { - readIPsecScript $w - } -} - -# helper to insert all of a node's IP addresses into a combo -proc populateComboWithIPs { combo node } { - set ip_list [ipv4List $node 0] - $combo configure -values $ip_list - $combo delete 0 end - $combo insert 0 [lindex $ip_list 0] -} - -# called from editor.tcl:button1 when user clicks on a node -# search for IP address and populate -proc selectTwoNodeIPsecCallback {} { - set w .popupServicesCustomize - set f $w.note.ipsec - - if { ![winfo exists $w] } { return }; # user has closed window - catch {destroy .nodeselect} - - set node [string trim [$f.t.ep.node cget -text]] - if { [set node] == "(none)" } { set node "" } - - # populate peer interface combo with list of IPs - populateComboWithIPs $f.t.ep.combo2 $node -} - -# called from popupSelectNodes dialog when a node selection has been made -proc selectNodesIPsecCallback { nodes } { - global g_twoNodeSelect - set w .popupServicesCustomize - set f $w.note.ipsec - - set g_twoNodeSelect "" - set node [lindex $nodes 0] - if { $node == "" } { - $f.t.ep.node configure -text "(none)" - return - } - $f.t.ep.node configure -text " $node " - - # populate peer interface combo with list of IPs - populateComboWithIPs $f.t.ep.combo2 $node -} - -# helper to manipulate tree; cmd is "del", "ep" or "sub" -proc ipsecTreeHelper { f cmd } { - - if { $cmd == "del" } { - set sel [$f.t.tree selection] - $f.t.tree delete $sel - return - } - - # add endpoint (ep) or subnet (sub) - set l [string trim [$f.t.$cmd.combo1 get]] - set p [string trim [$f.t.$cmd.combo2 get]] - if { $l == "" || $p == "" } { - if { $cmd == "ep" } { - set h "tunnel interface addresses" - } else { - set h "subnet addresses" - } - tk_messageBox -type ok -icon warning -message \ - "You need to select local and peer $h." - return - } - - if { $cmd == "ep" } { - set item [$f.t.tree insert {} end -text "$l <--> $p" -open true] - $f.t.tree selection set $item - } elseif { $cmd == "sub" } { - set parent [$f.t.tree selection] - if { $parent == "" } { - tk_messageBox -type ok -icon warning -message \ - "You need to first select endpoints, then configure their subnets." - return - } - if { [$f.t.tree parent $parent] != {} } { - set parent [$f.t.tree parent $parent] - } - $f.t.tree insert $parent end -text "$l <===> $p" - } -} - -# update an ipsec.sh file that was generated by the IPsec service -proc generateIPsecScript { w } { - #puts "generateIPsecScript $w..." - set cfg [$w.note.files.txt get 0.0 end-1c] - set newcfg "" - - # - # Gather data for a new config - # - set f $w.note.ipsec - set keydir [$f.keys.dir.ent get] - set keyname [$f.keys.name.ent get] - - set tunnelhosts "" - set subnet_list "" - set ti 0 - set th_items [$f.t.tree children {}] - foreach th $th_items { - set ep [$f.t.tree item $th -text] - set i [string first " " $ep] - # replace " <--> " with "AND" - set ep [string replace $ep $i $i+5 "AND"] - # build a list e.g.: - # tunnelhosts="172.16.0.1AND172.16.0.2 172.16.0.1AND172.16.2.1" - lappend tunnelhosts $ep - - set subnets "" - foreach subnet_item [$f.t.tree children $th] { - set sn [$f.t.tree item $subnet_item -text] - set i [string first " " $sn] - # replace " <===> " with "AND" - set sn [string replace $sn $i $i+6 "AND"] - lappend subnets $sn - } - incr ti - set subnetstxt [join $subnets " "] - # build a list e.g.: - # T2="172.16.4.0/24AND172.16.5.0/24 172.16.4.0/24AND172.16.6.0/24" - set subnets "T$ti=\"$subnetstxt\"" - lappend subnet_list $subnets - } - - # - # Perform replacements in existing ipsec.sh file. - # - set have_subnets 0 - foreach line [split $cfg "\n"] { - if { [string range $line 0 6] == "keydir=" } { - set line "keydir=$keydir" - } elseif { [string range $line 0 8] == "certname=" } { - set line "certname=$keyname" - } elseif { [string range $line 0 11] == "tunnelhosts=" } { - set tunnelhosts [join $tunnelhosts " "] - set line "tunnelhosts=\"$tunnelhosts\"" - } elseif { [string range $line 0 0] == "T" && \ - [string is digit [string range $line 1 1]] } { - if { $have_subnets } { - continue ;# skip this line - } else { - set line [join $subnet_list "\n"] - set have_subnets 1 - } - } - lappend newcfg $line - } - $w.note.files.txt delete 0.0 end - $w.note.files.txt insert 0.0 [join $newcfg "\n"] - $w.note select $w.note.files - $w.btn.apply configure -state normal -} - -proc readIPsecScript { w } { - set cfg [$w.note.files.txt get 0.0 end-1c] - - set f $w.note.ipsec - $f.keys.dir.ent delete 0 end - $f.keys.name.ent delete 0 end - $f.t.tree delete [$f.t.tree children {}] - - set ti 1 - foreach line [split $cfg "\n"] { - if { [string range $line 0 6] == "keydir=" } { - $f.keys.dir.ent insert 0 [string range $line 7 end] - } elseif { [string range $line 0 8] == "certname=" } { - $f.keys.name.ent insert 0 [string range $line 9 end] - } elseif { [string range $line 0 11] == "tunnelhosts=" } { - set tunnelhosts [string range $line 13 end-1] - set ti 0 - foreach ep [split $tunnelhosts " "] { - incr ti - set i [string first "AND" $ep] - set ep [string replace $ep $i $i+2 " <--> "] - $f.t.tree insert {} end -id "T$ti" -text "$ep" -open true - } - } elseif { [string range $line 0 0] == "T" && \ - [string is digit [string range $line 1 1]] } { - set i [string first "=" $line] - set ti [string range $line 0 $i-1] - set subnets [split [string range $line $i+2 end-1] " "] - foreach sn $subnets { - set i [string first "AND" $sn] - set sn [string replace $sn $i $i+2 " <===> "] - if { [catch {$f.t.tree insert $ti end -text "$sn"} e] } { - puts "IPsec service ignoring line '$ti='" - } - } - } - } -} diff --git a/gui/annotations.tcl b/gui/annotations.tcl deleted file mode 100644 index 8a2184d3..00000000 --- a/gui/annotations.tcl +++ /dev/null @@ -1,837 +0,0 @@ -# -# Copyright 2007-2008 University of Zagreb, Croatia. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. 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. -# -# THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. -# - -#****h* imunes/annotations.tcl -# NAME -# annotations.tcl -- oval, rectangle, text, background, ... -# FUNCTION -# This module is used for configuration/image annotations, such as oval, -# rectangle, text, background or some other. -#**** - -#****f* annotations.tcl/annotationConfig -# NAME -# annotationConfig -- -# SYNOPSIS -# annotationConfig $canvas $target -# FUNCTION -# . . . -# INPUTS -# * canvas -- -# * target -- oval or rectangle object -#**** - -proc annotationConfig { c target } { - switch -exact -- [nodeType $target] { - oval { - popupAnnotationDialog $c $target "true" - } - rectangle { - popupAnnotationDialog $c $target "true" - } - text { - popupAnnotationDialog $c $target "true" - } - default { - puts "Unknown type [nodeType $target] for target $target" - } - } - redrawAll -} - - -#****f* annotations.tcl/popupOvalDialog -# NAME -# popupOvalDialog -- creates a new oval or modifies existing oval -# SYNOPSIS -# popupOvalDialog $canvas $modify $color $label $lcolor -# FUNCTION -# Called from: -# - editor.tcl/button1-release when new oval is drawn -# - annotationConfig which is called from popupConfigDialog bound to -# Double-1 on various objects -# - configureOval called from button3annotation procedure which creates -# a menu for configuration and deletion (bound to 3 on oval, -# rectangle and text) -# INPUTS -# * canvas -- -# * modify -- create new oval "newoval" if modify=false or -# modify an existing oval "newoval" if modify=true -# * color -- oval color -# * label -- label text -# * lcolor -- label (text) color -#**** - - -#****f* annotations.tcl/destroyNewoval -# NAME -# destroyNewoval -- helper for popupOvalDialog and popupOvalApply -# SYNOPSIS -# destroyNewoval $canvas -# FUNCTION -# . . . -# INPUTS -# * canvas -- -#**** - -proc destroyNewoval { c } { - global newoval - $c delete -withtags newoval - set newoval "" -} - - -# oval/rectangle/text right-click menu - -proc button3annotation { type c x y } { - - if { $type == "oval" } { - set procname "Oval" - set item [lindex [$c gettags {oval && current}] 1] - } elseif { $type == "rectangle" } { - set procname "Rectangle" - set item [lindex [$c gettags {rectangle && current}] 1] - } elseif { $type == "label" } { - set procname "Label" - set item [lindex [$c gettags {label && current}] 1] - } elseif { $type == "text" } { - set procname "Text" - set item [lindex [$c gettags {text && current}] 1] - } elseif { $type == "marker" } { - # erase markings - $c delete -withtags {marker && current} - return - } else { - # ??? - return - } - if { $item == "" } { - return - } - set menutext "$type $item" - - .button3menu delete 0 end - - .button3menu add command -label "Configure $menutext" \ - -command "annotationConfig $c $item" - .button3menu add command -label "Delete $menutext" \ - -command "deleteAnnotation $c $type $item" - - set x [winfo pointerx .] - set y [winfo pointery .] - tk_popup .button3menu $x $y -} - - -proc deleteAnnotation { c type target } { - global changed annotation_list - - $c delete -withtags "$type && $target" - $c delete -withtags "new$type" - set i [lsearch -exact $annotation_list $target] - set annotation_list [lreplace $annotation_list $i $i] - set changed 1 - updateUndoLog -} - - -proc drawOval {oval} { - global $oval defOvalColor zoom curcanvas - global defTextFontFamily defTextFontSize - - set coords [getNodeCoords $oval] - if { [llength $coords] < 4 } { - puts "Bad coordinates for oval $oval" - return - } - set x1 [expr {[lindex $coords 0] * $zoom}] - set y1 [expr {[lindex $coords 1] * $zoom}] - set x2 [expr {[lindex $coords 2] * $zoom}] - set y2 [expr {[lindex $coords 3] * $zoom}] - set color [lindex [lsearch -inline [set $oval] "color *"] 1] - set label [lindex [lsearch -inline [set $oval] "label *"] 1] - set lcolor [lindex [lsearch -inline [set $oval] "labelcolor *"] 1] - set bordercolor [lindex [lsearch -inline [set $oval] "border *"] 1] - set width [lindex [lsearch -inline [set $oval] "width *"] 1] - set lx [expr $x1 + (($x2 - $x1) / 2)] - set ly [expr ($y1 + 20)] - - if { $color == "" } { set color $defOvalColor } - if { $lcolor == "" } { set lcolor black } - if { $width == "" } { set width 0 } - if { $bordercolor == "" } { set bordercolor black } - - # -outline red -stipple gray50 - set newoval [.c create oval $x1 $y1 $x2 $y2 \ - -fill $color -width $width -outline $bordercolor \ - -tags "oval $oval annotation"] - .c raise $newoval background - - set fontfamily [lindex [lsearch -inline [set $oval] "fontfamily *"] 1] - set fontsize [lindex [lsearch -inline [set $oval] "fontsize *"] 1] - if { $fontfamily == "" } { - set fontfamily $defTextFontFamily - } - if { $fontsize == "" } { - set fontsize $defTextFontSize - } - set newfontsize $fontsize - set font [list "$fontfamily" $fontsize] - set effects [lindex [lsearch -inline [set $oval] "effects *"] 1] - - .c create text $lx $ly -tags "oval $oval annotation" -text $label \ - -justify center -font "$font $effects" -fill $lcolor - - setNodeCanvas $oval $curcanvas - setType $oval "oval" -} - - -# Color helper for popupOvalDialog and popupLabelDialog -proc popupColor { type l settext } { - # popup color selection dialog with current color - if { $type == "fg" } { - set initcolor [$l cget -fg] - } else { - set initcolor [$l cget -bg] - } - set newcolor [tk_chooseColor -initialcolor $initcolor] - - # set fg or bg of the "l" label control - if { $newcolor == "" } { - return - } - if { $settext == "true" } { - $l configure -text $newcolor -$type $newcolor - } else { - $l configure -$type $newcolor - } -} - - -#****f* annotations.tcl/roundRect -# NAME -# roundRect -- Draw a rounded rectangle in the canvas. -# Called from drawRect procedure -# SYNOPSIS -# roundRect $w $x0 $y0 $x3 $y3 $radius $args -# FUNCTION -# Creates a rounded rectangle as a smooth polygon in the canvas -# and returns the canvas item number of the rounded rectangle. -# INPUTS -# * w -- Path name of the canvas -# * x0, y0 -- Coordinates of the upper left corner, in pixels -# * x3, y3 -- Coordinates of the lower right corner, in pixels -# * radius -- Radius of the bend at the corners, in any form -# acceptable to Tk_GetPixels -# * args -- Other args suitable to a 'polygon' item on the canvas -# Example: -# roundRect .c 100 50 500 250 $rad -fill white -outline black -tags rectangle -#**** - -proc roundRect { w x0 y0 x3 y3 radius args } { - - set r [winfo pixels $w $radius] - set d [expr { 2 * $r }] - - # Make sure that the radius of the curve is less than 3/8 size of the box - - set maxr 0.75 - - if { $d > $maxr * ( $x3 - $x0 ) } { - set d [expr { $maxr * ( $x3 - $x0 ) }] - } - if { $d > $maxr * ( $y3 - $y0 ) } { - set d [expr { $maxr * ( $y3 - $y0 ) }] - } - - set x1 [expr { $x0 + $d }] - set x2 [expr { $x3 - $d }] - set y1 [expr { $y0 + $d }] - set y2 [expr { $y3 - $d }] - - set cmd [list $w create polygon] - lappend cmd $x0 $y0 $x1 $y0 $x2 $y0 $x3 $y0 $x3 $y1 $x3 $y2 - lappend cmd $x3 $y3 $x2 $y3 $x1 $y3 $x0 $y3 $x0 $y2 $x0 $y1 - lappend cmd -smooth 1 - return [eval $cmd $args] - } - -proc drawRect {rectangle} { - global $rectangle defRectColor zoom curcanvas - global defTextFontFamily defTextFontSize - - set coords [getNodeCoords $rectangle] - if {$coords == "" || [llength $coords] != 4 } { - puts "Bad coordinates for rectangle $rectangle" - return - } - - set x1 [expr {[lindex $coords 0] * $zoom}] - set y1 [expr {[lindex $coords 1] * $zoom}] - set x2 [expr {[lindex $coords 2] * $zoom}] - set y2 [expr {[lindex $coords 3] * $zoom}] - set color [lindex [lsearch -inline [set $rectangle] "color *"] 1] - set label [lindex [lsearch -inline [set $rectangle] "label *"] 1] - set lcolor [lindex [lsearch -inline [set $rectangle] "labelcolor *"] 1] - set bordercolor [lindex [lsearch -inline [set $rectangle] "border *"] 1] - set width [lindex [lsearch -inline [set $rectangle] "width *"] 1] - set rad [lindex [lsearch -inline [set $rectangle] "rad *"] 1] - set lx [expr $x1 + (($x2 - $x1) / 2)] - set ly [expr ($y1 + 20)] - - if { $color == "" } { set color $defRectColor } - if { $lcolor == "" } { set lcolor black } - if { $bordercolor == "" } { set bordercolor black } - if { $width == "" } { set width 0 } - # rounded-rectangle radius - if { $rad == "" } { set rad 25 } - - # Boeing: allow borderless rectangles - if { $width == 0 } { - set newrect [roundRect .c $x1 $y1 $x2 $y2 $rad \ - -fill $color -tags "rectangle $rectangle annotation"] - } else { - # end Boeing - set newrect [roundRect .c $x1 $y1 $x2 $y2 $rad \ - -fill $color -outline $bordercolor -width $width \ - -tags "rectangle $rectangle annotation"] - .c raise $newrect background - # Boeing - } - # end Boeing - - set fontfamily [lindex [lsearch -inline [set $rectangle] "fontfamily *"] 1] - set fontsize [lindex [lsearch -inline [set $rectangle] "fontsize *"] 1] - if { $fontfamily == "" } { - set fontfamily $defTextFontFamily - } - if { $fontsize == "" } { - set fontsize $defTextFontSize - } - set newfontsize $fontsize - set font [list "$fontfamily" $fontsize] - set effects [lindex [lsearch -inline [set $rectangle] "effects *"] 1] - - .c create text $lx $ly -tags "rectangle $rectangle annotation" \ - -text $label -justify center -font "$font $effects" -fill $lcolor - - setNodeCanvas $rectangle $curcanvas - setType $rectangle "rectangle" -} - - -proc popupAnnotationDialog { c target modify } { - global $target newrect newoval - global width rad fontfamily fontsize - global defFillColor defTextColor defTextFontFamily defTextFontSize - - # do nothing, return, if coords are empty - if { $target == 0 \ - && [$c coords "$newrect"] == "" \ - && [$c coords "$newoval"] == "" } { - return - } - if { $target == 0 } { - set width 0 - set rad 25 - set coords [$c bbox "$newrect"] - if { [$c coords "$newrect"] == "" } { - set coords [$c bbox "$newoval"] - set annotationType "oval" - } else { - set annotationType "rectangle" - } - set fontfamily "" - set fontsize "" - set effects "" - set color "" - set label "" - set lcolor "" - set bordercolor "" - } else { - set width [lindex [lsearch -inline [set $target] "width *"] 1] - set rad [lindex [lsearch -inline [set $target] "rad *"] 1] - set coords [$c bbox "$target"] - set color [lindex [lsearch -inline [set $target] "color *"] 1] - set fontfamily [lindex [lsearch -inline [set $target] "fontfamily *"] 1] - set fontsize [lindex [lsearch -inline [set $target] "fontsize *"] 1] - set effects [lindex [lsearch -inline [set $target] "effects *"] 1] - - set label [lindex [lsearch -inline [set $target] "label *"] 1] - set lcolor [lindex [lsearch -inline [set $target] "labelcolor *"] 1] - set bordercolor [lindex [lsearch -inline [set $target] "border *"] 1] - set annotationType [nodeType $target] - } - - if { $color == "" } { - # Boeing: use default shape colors - if { $annotationType == "oval" } { - global defOvalColor - set color $defOvalColor - } elseif { $annotationType == "rectangle" } { - global defRectColor - set color $defRectColor - } else { - set color $defFillColor - } - } - if { $lcolor == "" } { set lcolor black } - if { $bordercolor == "" } { set bordercolor black } - if { $width == "" } { set width 0 } - if { $rad == "" } { set rad 25 } - if { $fontfamily == "" } { set fontfamily $defTextFontFamily } - if { $fontsize == "" } { set fontsize $defTextFontSize } - - set textBold 0 - set textItalic 0 - set textUnderline 0 - if { [lsearch $effects bold ] != -1} {set textBold 1} - if { [lsearch $effects italic ] != -1} {set textItalic 1} - if { [lsearch $effects underline ] != -1} {set textUnderline 1} - - set x1 [lindex $coords 0] - set y1 [lindex $coords 1] - set x2 [lindex $coords 2] - set y2 [lindex $coords 3] - set xx [expr {abs($x2 - $x1)}] - set yy [expr {abs($y2 - $y1)}] - if { $xx > $yy } { - set maxrad [expr $yy * 3.0 / 8.0] - } else { - set maxrad [expr $xx * 3.0 / 8.0] - } - - set wi .popup - catch {destroy $wi} - toplevel $wi - - wm transient $wi . - wm resizable $wi 0 0 - - if { $modify == "true" } { - set windowtitle "Configure $annotationType $target" - } else { - set windowtitle "Add a new $annotationType" - } - wm title $wi $windowtitle - - frame $wi.text -relief groove -bd 2 - frame $wi.text.lab - label $wi.text.lab.name_label -text "Text for top of $annotationType:" - entry $wi.text.lab.name -bg white -fg $lcolor -width 32 \ - -validate focus -invcmd "focusAndFlash %W" - $wi.text.lab.name insert 0 $label - pack $wi.text.lab.name_label $wi.text.lab.name -side left -anchor w \ - -padx 2 -pady 2 -fill x - pack $wi.text.lab -side top -fill x - - frame $wi.text.format - - set fontmenu [tk_optionMenu $wi.text.format.fontmenu fontfamily "$fontfamily"] - set sizemenu [tk_optionMenu $wi.text.format.fontsize fontsize "$fontsize"] - - - # color selection - if { $color == "" } { - set color $defTextColor - } - button $wi.text.format.fg -text "Text color" -command \ - "popupColor fg $wi.text.lab.name false" - checkbutton $wi.text.format.bold -text "Bold" -variable textBold \ - -command [list fontupdate $wi.text.lab.name bold] - checkbutton $wi.text.format.italic -text "Italic" -variable textItalic \ - -command [list fontupdate $wi.text.lab.name italic] - checkbutton $wi.text.format.underline -text "Underline" \ - -variable textUnderline \ - -command [list fontupdate $wi.text.lab.name underline] - - if {$textBold == 1} { $wi.text.format.bold select - } else { $wi.text.format.bold deselect } - if {$textItalic == 1} { $wi.text.format.italic select - } else { $wi.text.format.italic deselect } - if {$textUnderline == 1} { $wi.text.format.underline select - } else { $wi.text.format.underline deselect } - - pack $wi.text.format.fontmenu \ - $wi.text.format.fontsize \ - $wi.text.format.fg \ - $wi.text.format.bold \ - $wi.text.format.italic \ - $wi.text.format.underline \ - -side left -pady 2 - - pack $wi.text.format -side top -fill x - - pack $wi.text -side top -fill x - - fontupdate $wi.text.lab.name fontfamily $fontfamily - fontupdate $wi.text.lab.name fontsize $fontsize - - $fontmenu delete 0 - foreach f [lsort -dictionary [font families]] { - $fontmenu add radiobutton -value "$f" -label $f \ - -variable fontfamily \ - -command [list fontupdate $wi.text.lab.name fontfamily $f] - } - - $sizemenu delete 0 - foreach f {8 9 10 11 12 14 16 18 20 22 24 26 28 36 48 72} { - $sizemenu add radiobutton -value "$f" -label $f \ - -variable fontsize \ - -command [list fontupdate $wi.text.lab.name fontsize $f] - } - -if { "$annotationType" == "rectangle" || "$annotationType" == "oval" } { - - # fill color, border color - frame $wi.colors -relief groove -bd 2 - # color selection controls - label $wi.colors.label -text "Fill color:" - - label $wi.colors.color -text $color -width 8 \ - -bg $color -fg $lcolor - button $wi.colors.bg -text "Color" -command \ - "popupColor bg $wi.colors.color true" - pack $wi.colors.label $wi.colors.color $wi.colors.bg \ - -side left -padx 2 -pady 2 -anchor w -fill x - pack $wi.colors -side top -fill x - - # border selection controls - frame $wi.border -relief groove -bd 2 - label $wi.border.label -text "Border color:" - label $wi.border.color -text $bordercolor -width 8 \ - -bg $color -fg $bordercolor - label $wi.border.width_label -text "Border width:" - set widthMenu [tk_optionMenu $wi.border.width width "$width"] - $widthMenu delete 0 - foreach f {0 1 2 3 4 5 6 7 8 9 10} { - $widthMenu add radiobutton -value $f -label $f \ - -variable width - } - button $wi.border.fg -text "Color" -command \ - "popupColor fg $wi.border.color true" - pack $wi.border.label $wi.border.color $wi.border.fg \ - $wi.border.width_label $wi.border.width \ - $wi.border.fg $wi.border.color $wi.border.label \ - -side left -padx 2 -pady 2 -anchor w -fill x - pack $wi.border -side top -fill x - -} - -if { $annotationType == "rectangle" } { - frame $wi.radius -relief groove -bd 2 - scale $wi.radius.rad -from 0 -to [expr int($maxrad)] \ - -length 400 -variable rad \ - -orient horizontal -label "Radius of the bend at the corners: " \ - -tickinterval [expr int($maxrad / 15) + 1] -showvalue true - pack $wi.radius.rad -side left -padx 2 -pady 2 -anchor w -fill x - pack $wi.radius -side top -fill x -} - - # Add new oval or modify old one? - if { $modify == "true" } { - set cancelcmd "destroy $wi" - set applytext "Modify $annotationType" - } else { - set cancelcmd "destroy $wi; destroyNewRect $c" - set applytext "Add $annotationType" - } - - frame $wi.butt -borderwidth 6 - button $wi.butt.apply -text $applytext -command "popupAnnotationApply $c $wi $target $annotationType" - - button $wi.butt.cancel -text "Cancel" -command $cancelcmd - bind $wi "$cancelcmd" - bind $wi "popupAnnotationApply $c $wi $target $annotationType" - pack $wi.butt.cancel $wi.butt.apply -side right - pack $wi.butt -side bottom - - after 100 { - grab .popup - } - return -} - -# helper for popupOvalDialog and popupOvalApply -proc destroyNewRect { c } { - global newrect - $c delete -withtags newrect - set newrect "" -} - - -proc popupAnnotationApply { c wi target type } { - global newrect newoval annotation_list - global $target - global changed - global width rad - global fontfamily fontsize textBold textItalic textUnderline - - # attributes - set caption [string trim [$wi.text.lab.name get]] - set labelcolor [$wi.text.lab.name cget -fg] - set coords [$c coords "$target"] - set iconcoords "iconcoords" - - if {"$type" == "rectangle" || "$type" == "oval" } { - set color [$wi.colors.color cget -text] - set bordercolor [$wi.border.color cget -text] - } - - if { $target == 0 } { - # Create a new annotation object - set target [newObjectId annotation] - global $target - lappend annotation_list $target - if {"$type" == "rectangle" } { - set coords [$c coords $newrect] - } elseif { "$type" == "oval" } { - set coords [$c coords $newoval] - } - } else { - set coords [getNodeCoords $target] - } - set $target {} - lappend $iconcoords $coords - lappend $target $iconcoords "label {$caption}" "labelcolor $labelcolor" \ - "fontfamily {$fontfamily}" "fontsize $fontsize" - if {"$type" == "rectangle" || "$type" == "oval" } { - lappend $target "color $color" "width $width" "border $bordercolor" - } - if {"$type" == "rectangle" } { - lappend $target "rad $rad" - } - - set ef {} - if {"$textBold" == 1} { lappend ef bold} - if {"$textItalic" == 1} { lappend ef italic} - if {"$textUnderline" == 1} { lappend ef underline} - if {"$ef" != ""} { lappend $target "effects {$ef}"} - - # draw it - if { $type == "rectangle" } { - drawRect $target - destroyNewRect $c - } elseif { $type == "oval" } { - drawOval $target - destroyNewoval $c - } elseif { $type == "text" } { - drawText $target - } - - set changed 1 - updateUndoLog - redrawAll - destroy $wi -} - -proc selectmarkEnter {c x y} { - set isThruplot false - - if {$c == ".c"} { - set obj [lindex [$c gettags current] 1] - set type [nodeType $obj] - if {$type != "oval" && $type != "rectangle"} { return } - } else { - set obj $c - set c .c - set isThruplot true - } - set bbox [$c bbox $obj] - - set x1 [lindex $bbox 0] - set y1 [lindex $bbox 1] - set x2 [lindex $bbox 2] - set y2 [lindex $bbox 3] - - if {$isThruplot == true} { - set x [expr $x+$x1] - set y [expr $y+$y1] - - } - set l 0 ;# left - set r 0 ;# right - set u 0 ;# up - set d 0 ;# down - - set x [$c canvasx $x] - set y [$c canvasy $y] - - if { $x < [expr $x1+($x2-$x1)/8.0]} { set l 1 } - if { $x > [expr $x2-($x2-$x1)/8.0]} { set r 1 } - if { $y < [expr $y1+($y2-$y1)/8.0]} { set u 1 } - if { $y > [expr $y2-($y2-$y1)/8.0]} { set d 1 } - - if {$l==1} { - if {$u==1} { - $c config -cursor top_left_corner - } elseif {$d==1} { - $c config -cursor bottom_left_corner - } else { - $c config -cursor left_side - } - } elseif {$r==1} { - if {$u==1} { - $c config -cursor top_right_corner - } elseif {$d==1} { - $c config -cursor bottom_right_corner - } else { - $c config -cursor right_side - } - } elseif {$u==1} { - $c config -cursor top_side - } elseif {$d==1} { - $c config -cursor bottom_side - } else { - $c config -cursor left_ptr - } -} - -proc selectmarkLeave {c x y} { - global thruplotResize - .bottom.textbox config -text {} - - # cursor options for thruplot resize - if {$thruplotResize == true} { - - } else { - # no resize update cursor - $c config -cursor left_ptr - } -} - - -proc textEnter { c x y } { - global annotation_list - global curcanvas - - set object [newObjectId annotation] - set newtext [$c create text $x $y -text "" \ - -anchor w -justify left -tags "text $object annotation"] - - set coords [$c coords "text && $object"] - set iconcoords "iconcoords" - - global $object - set $object {} - setType $object "text" - lappend $iconcoords $coords - lappend $object $iconcoords - lappend $object "label {}" - setNodeCanvas $object $curcanvas - - lappend annotation_list $object - popupAnnotationDialog $c $object "false" -} - - -proc drawText {text} { - global $text defTextColor defTextFont defTextFontFamily defTextFontSize - global zoom curcanvas newfontsize - - set coords [getNodeCoords $text] - if { [llength $coords] < 2 } { - puts "Bad coordinates for text $text" - return - } - set x [expr {[lindex $coords 0] * $zoom}] - set y [expr {[lindex $coords 1] * $zoom}] - set color [lindex [lsearch -inline [set $text] "labelcolor *"] 1] - if { $color == "" } { - set color $defTextColor - } - set label [lindex [lsearch -inline [set $text] "label *"] 1] - set fontfamily [lindex [lsearch -inline [set $text] "fontfamily *"] 1] - set fontsize [lindex [lsearch -inline [set $text] "fontsize *"] 1] - if { $fontfamily == "" } { - set fontfamily $defTextFontFamily - } - if { $fontsize == "" } { - set fontsize $defTextFontSize - } - set newfontsize $fontsize - set font [list "$fontfamily" $fontsize] - set effects [lindex [lsearch -inline [set $text] "effects *"] 1] - set newtext [.c create text $x $y -text $label -anchor w \ - -font "$font $effects" -justify left -fill $color \ - -tags "text $text annotation"] - - .c addtag text withtag $newtext - .c raise $text background - setNodeCanvas $text $curcanvas - setType $text "text" -} - - -proc fontupdate { label type args} { - global fontfamily fontsize - global textBold textItalic textUnderline - - if {"$textBold" == 1} {set bold "bold"} else {set bold {} } - if {"$textItalic"} {set italic "italic"} else {set italic {} } - if {"$textUnderline"} {set underline "underline"} else {set underline {} } - switch $type { - fontsize { - set fontsize $args - } - fontfamily { - set fontfamily "$args" - } - } - set f [list "$fontfamily" $fontsize] - lappend f "$bold $italic $underline" - $label configure -font "$f" -} - - -proc drawAnnotation { obj } { - switch -exact -- [nodeType $obj] { - oval { - drawOval $obj - } - rectangle { - drawRect $obj - } - text { - drawText $obj - } - } -} - -# shift annotation coordinates by dx, dy; does not redraw the annotation -proc moveAnnotation { obj dx dy } { - set coords [getNodeCoords $obj] - lassign $coords x1 y1 x2 y2 - set pt1 "[expr {$x1 + $dx}] [expr {$y1 + $dy}]" - if { [nodeType $obj] == "text" } { - # shift one point - setNodeCoords $obj $pt1 - } else { ;# oval/rectangle - # shift two points - set pt2 "[expr {$x2 + $dx}] [expr {$y2 + $dy}]" - setNodeCoords $obj "$pt1 $pt2" - } -} diff --git a/gui/api.tcl b/gui/api.tcl deleted file mode 100644 index 1801f82c..00000000 --- a/gui/api.tcl +++ /dev/null @@ -1,3296 +0,0 @@ -# version of the API document that is used -set CORE_API_VERSION 1.23 - -set DEFAULT_API_PORT 4038 -set g_api_exec_num 100; # starting execution number - -# set scale for X/Y coordinate translation -set XSCALE 1.0 -set YSCALE 1.0 -set XOFFSET 0 -set YOFFSET 0 - -# current session; 0 is a new session -set g_current_session 0 -set g_session_dialog_hint 1 - -# this is an array of lists, with one array entry for each widget or callback, -# and the entry is a list of execution numbers (for matching replies with -# requests) -array set g_execRequests { shell "" observer "" } - -# for a simulator, uncomment this line or cut/paste into debugger: -# set XSCALE 4.0; set YSCALE 4.0; set XOFFSET 1800; set YOFFSET 300 - -array set nodetypes { 0 def 1 phys 2 tbd 3 tbd 4 lanswitch 5 hub \ - 6 wlan 7 rj45 8 tunnel 9 ktunnel 10 emane } - -array set regtypes { wl 1 mob 2 util 3 exec 4 gui 5 emul 6 } -array set regntypes { 1 wl 2 mob 3 util 4 exec 5 gui 6 emul 7 relay 10 session } -array set regtxttypes { wl "Wireless Module" mob "Mobility Module" \ - util "Utility Module" exec "Execution Server" \ - gui "Graphical User Interface" emul "Emulation Server" \ - relay "Relay" } -set DEFAULT_GUI_REG "gui core_2d_gui" -array set eventtypes { definition_state 1 configuration_state 2 \ - instantiation_state 3 runtime_state 4 \ - datacollect_state 5 shutdown_state 6 \ - event_start 7 event_stop 8 event_pause 9 \ - event_restart 10 file_open 11 file_save 12 \ - event_scheduled 31 } - -set CORE_STATES \ - "NONE DEFINITION CONFIGURATION INSTANTIATION RUNTIME DATACOLLECT SHUTDOWN" - -set EXCEPTION_LEVELS \ - "NONE FATAL ERROR WARNING NOTICE" - -# Event handler invoked for each message received by peer -proc receiveMessage { channel } { - global curcanvas showAPI - set prmsg $showAPI - set type 0 - set flags 0 - set len 0 - set seq 0 - - #puts "API receive data." - # disable the fileevent here, then reinstall the handler at the end - fileevent $channel readable "" - # channel closed - if { [eof $channel] } { - resetChannel channel 1 - return - } - - # - # read first four bytes of message header - set more_data 1 - while { $more_data == 1 } { - if { [catch { set bytes [read $channel 4] } e] } { - # in tcl8.6 this occurs during shutdown - #puts "channel closed: $e" - break; - } - if { [fblocked $channel] == 1} { - # 4 bytes not available yet - break; - } elseif { [eof $channel] } { - resetChannel channel 1 - break; - } elseif { [string bytelength $bytes] == 0 } { - # zero bytes read - parseMessageHeader would fail - break; - } - # parse type/flags/length - if { [parseMessageHeader $bytes type flags len] < 0 } { - # Message header error - break; - } - # read message data of specified length - set bytes [read $channel $len] - #if { $prmsg== 1} { - # puts "read $len bytes (type=$type, flags=$flags, len=$len)..." - #} - # handle each message type - switch -exact -- "$type" { - 1 { parseNodeMessage $bytes $len $flags } - 2 { parseLinkMessage $bytes $len $flags } - 3 { parseExecMessage $bytes $len $flags $channel } - 4 { parseRegMessage $bytes $len $flags $channel } - 5 { parseConfMessage $bytes $len $flags $channel } - 6 { parseFileMessage $bytes $len $flags $channel } - 8 { parseEventMessage $bytes $len $flags $channel } - 9 { parseSessionMessage $bytes $len $flags $channel } - 10 { parseExceptionMessage $bytes $len $flags $channel; - #7 { parseIfaceMessage $bytes $len $flags $channel } - # - } - default { puts "Unknown Message = $type" } - } - # end switch - } - # end while - - # update the canvas - catch { - # this messes up widgets - #raiseAll .c - .c config -cursor left_ptr ;# otherwise we have hourglass/pirate - update - } - - if {$channel != -1 } { - resetChannel channel 0 - } -} - -# -# Open an API socket to the specified server:port, prompt user for retry -# if specified; set the readable file event and parameters; -# returns the channel name or -1 on error. -# -proc openAPIChannel { server port retry } { - # use default values (localhost:4038) when none specified - if { $server == "" || $server == 0 } { - set server "localhost" - } - if { $port == 0 } { - global DEFAULT_API_PORT - set port $DEFAULT_API_PORT - } - - # loop when retry is true - set s -1 - while { $s < 0 } { - # TODO: fix this to remove lengthy timeout periods... - # (need to convert all channel I/O to use async channel) - # vwait doesn't work here, blocks on socket call - #puts "Connecting to $server:$port..."; # verbose - set svcstart [getServiceStartString] - set e "This feature requires a connection to the CORE daemon.\n" - set e "$e\nFailed to connect to $server:$port!\n" - set e "$e\nHave you started the CORE daemon with" - set e "$e '$svcstart'?" - if { [catch {set s [socket $server $port]} ex] } { - puts "\n$e\n (Error: $ex)" - set s -1 - if { ! $retry } { return $s; }; # error, don't retry - } - if { $s > 0 } { puts "connected." }; # verbose - if { $retry } {; # prompt user with retry dialog - if { $s < 0 } { - set choice [tk_dialog .connect "Error" $e \ - error 0 Retry "Start daemon..." Cancel] - if { $choice == 2 } { return $s } ;# cancel - if { $choice == 1 } { - set sudocmd "gksudo" - set cmd "core-daemon -d" - if { [catch {exec $sudocmd $cmd & } e] } { - puts "Error running '$sudocmd $cmd'!" - } - after 300 ;# allow time for daemon to start - } - # fall through for retry... - } - } - }; # end while - - # now we have a valid socket, set up encoding and receive event - fconfigure $s -blocking 0 -encoding binary -translation { binary binary } \ - -buffering full -buffersize 4096 - fileevent $s readable [list receiveMessage $s] - return $s -} - -# -# Reinstall the receiveMessage event handler -# -proc resetChannel { channel_ptr close } { - upvar 1 $channel_ptr channel - if {$close == 1} { - close $channel - pluginChannelClosed $channel - set $channel -1 - } - if { [catch { fileevent $channel readable \ - [list receiveMessage $channel] } ] } { - # may print error here - } -} - -# -# Catch errors when flushing sockets -# -proc flushChannel { channel_ptr msg } { - upvar 1 $channel_ptr channel - if { [catch { flush $channel } err] } { - puts "*** $msg: $err" - set channel -1 - return -1 - } - return 0 -} - - -# -# CORE message header -# -proc parseMessageHeader { bytes type flags len } { - # variables are passed by reference - upvar 1 $type mytype - upvar 1 $flags myflags - upvar 1 $len mylen - - # - # read the four-byte message header - # - if { [binary scan $bytes ccS mytype myflags mylen] != 3 } { - puts "*** warning: message header error" - return -1 - } else { - set mytype [expr {$mytype & 0xFF}]; # convert signed to unsigned - set myflags [expr {$myflags & 0xFF}] - if { $mylen == 0 } { - puts "*** warning: zero length message header!" - # empty the channel - #set bytes [read $channel] - return -1 - } - } - return 0 -} - - -# -# CORE API Node message TLVs -# -proc parseNodeMessage { data len flags } { - global node_list curcanvas c router eid showAPI nodetypes CORE_DATA_DIR - global XSCALE YSCALE XOFFSET YOFFSET deployCfgAPI_lock - #puts "Parsing node message of length=$len, flags=$flags" - set prmsg $showAPI - set current 0 - - array set typenames { 1 num 2 type 3 name 4 ipv4_addr 5 mac_addr \ - 6 ipv6_addr 7 model 8 emulsrv 10 session \ - 32 xpos 33 ypos 34 canv \ - 35 emuid 36 netid 37 services \ - 48 lat 49 long 50 alt \ - 66 icon 80 opaque } - array set typesizes { num 4 type 4 name -1 ipv4_addr 4 ipv6_addr 16 \ - mac_addr 8 model -1 emulsrv -1 session -1 \ - xpos 2 ypos 2 canv 2 emuid 4 \ - netid 4 services -1 lat 4 long 4 alt 4 \ - icon -1 opaque -1 } - array set vals { num 0 type 0 name "" ipv4_addr -1 ipv6_addr -1 \ - mac_addr -1 model "" emulsrv "" session "" \ - xpos 0 ypos 0 canv "" \ - emuid -1 netid -1 services "" \ - lat 0 long 0 alt 0 \ - icon "" opaque "" } - - if { $prmsg==1 } { puts -nonewline "NODE(flags=$flags," } - - # - # TLV parsing - # - while { $current < $len } { - # TLV header - if { [binary scan $data @${current}cc type length] != 2 } { - puts "TLV header error" - break - } - set length [expr {$length & 0xFF}]; # convert signed to unsigned - if { $length == 0 } {; # prevent endless looping - if { $type == 0 } { puts -nonewline "(extra padding)"; break - } else { puts "Found zero-length TLV for type=$type, dropping."; - break } - } - set pad [pad_32bit $length] - # verbose debugging - #puts "tlv type=$type length=$length pad=$pad current=$current" - incr current 2 - - if {![info exists typenames($type)] } { ;# unknown TLV type - if { $prmsg } { puts -nonewline "unknown=$type," } - incr current $length - continue - } - set typename $typenames($type) - set size $typesizes($typename) - # 32-bit and 64-bit vals pre-padded - if { $size == 4 || $size == 8 } { incr current $pad } - # read TLV data depending on size - switch -exact -- "$size" { - 2 { binary scan $data @${current}S vals($typename) } - 4 { binary scan $data @${current}I vals($typename) } - 8 { binary scan $data @${current}W vals($typename) } - 16 { binary scan $data @${current}c16 vals($typename) } - -1 { binary scan $data @${current}a${length} vals($typename) } - } - if { $size == -1 } { incr current $pad } ;# string vals post-padded - if { $type == 6 } { incr current $pad } ;# 128-bit vals post-padded - incr current $length - # special handling of data here - switch -exact -- "$typename" { - ipv4_addr { array set vals [list $typename \ - [ipv4ToString $vals($typename)] ] } - mac_addr { array set vals [list $typename \ - [macToString $vals($typename)] ] } - ipv6_addr { array set vals [list $typename \ - [ipv6ToString $vals($typename)] ] } - xpos { array set vals [list $typename \ - [expr { ($vals($typename) * $XSCALE) - $XOFFSET }] ] } - ypos { array set vals [list $typename \ - [expr { ($vals($typename) * $YSCALE) - $YOFFSET }] ] } - } - if { $prmsg } { puts -nonewline "$typename=$vals($typename)," } - } - - if { $prmsg } { puts ") "} - - # - # Execution - # - # TODO: enforce message parameters here - if { ![info exists nodetypes($vals(type))] } { - puts "NODE: invalid node type ($vals(type)), dropping"; return - } - set node "n$vals(num)" - set node_id "$eid\_$node" - if { [lsearch $node_list $node] == -1 } {; # check for node existance - set exists false - } else { - set exists true - } - - if { $vals(name) == "" } {; # make sure there is a node name - set name $node - if { $exists } { set name [getNodeName $node] } - array set vals [list name $name] - } - if { $exists } { - if { $flags == 1 } { - puts "Node add msg but node ($node) already exists, dropping." - return - } - } elseif { $flags != 1 } { - puts -nonewline "Node modify/delete message but node ($node) does " - puts "not exist dropping." - return - } - if { $vals(icon) != "" } { - set icon $vals(icon) - if { [file pathtype $icon] == "relative" } { - set icon "$CORE_DATA_DIR/icons/normal/$icon" - } - if { ![file exists $icon ] } { - puts "Node icon '$vals(icon)' does not exist." - array set vals [list icon ""] - } else { - array set vals [list icon $icon] - } - } - global $node - - set wlans_needing_update { } - if { $vals(emuid) != -1 } { - # For Linux populate ngnodeidmap for later use with wireless; it is treated as - # a hex value string (without the leading "0x") - global ngnodeidmap - foreach wlan [findWlanNodes $node] { - if { ![info exists ngnodeidmap($eid\_$wlan)] } { - set netid [string range $wlan 1 end] - set emulation_type [lindex [getEmulPlugin $node] 1] - # TODO: verify that this incr 1000 is for OpenVZ - if { $emulation_type == "openvz" } { incr netid 1000 } - set ngnodeidmap($eid\_$wlan) [format "%x" $netid] - } - if { ![info exists ngnodeidmap($eid\_$wlan-$node)] } { - set ngnodeidmap($eid\_$wlan-$node) [format "%x" $vals(emuid)] - lappend wlans_needing_update $wlan - } - } ;# end foreach wlan - } - - # local flags: informational message that node was added or deleted - if {[expr {$flags & 0x8}]} { - if { ![info exists c] } { return } - if {[expr {$flags & 0x1}] } { ;# add flag - nodeHighlights $c $node on green - after 3000 "nodeHighlights .c $node off green" - } elseif {[expr {$flags & 0x2}] } { ;# delete flag - nodeHighlights $c $node on black - after 3000 "nodeHighlights .c $node off black" - } - # note: we may want to save other data passed in this message here - # rather than just returning... - return - } - # now we have all the information about this node - switch -exact -- "$flags" { - 0 { apiNodeModify $node vals } - 1 { apiNodeCreate $node vals } - 2 { apiNodeDelete $node } - default { puts "NODE: unsupported flags ($flags)"; return } - } -} - -# -# modify a node -# -proc apiNodeModify { node vals_ref } { - global c eid zoom curcanvas - upvar $vals_ref vals - if { ![info exists c] } { return } ;# batch mode - set draw 0 - if { $vals(icon) != "" } { - setCustomImage $node $vals(icon) - set draw 1 - } - # move the node and its links - if {$vals(xpos) != 0 && $vals(ypos) != 0} { - moveNodeAbs $c $node [expr {$zoom * $vals(xpos)}] \ - [expr {$zoom * $vals(ypos)}] - } - if { $vals(name) != "" } { - setNodeName $node $vals(name) - set draw 1 - } - if { $vals(services) != "" } { - set services [split $vals(services) |] - setNodeServices $node $services - } - # TODO: handle other optional on-screen data - # lat, long, alt, heading, platform type, platform id - if { $draw && [getNodeCanvas $node] == $curcanvas } { - .c delete withtag "node && $node" - .c delete withtag "nodelabel && $node" - drawNode .c $node - } -} - -# -# add a node -# -proc apiNodeCreate { node vals_ref } { - global $node nodetypes node_list canvas_list curcanvas eid - upvar $vals_ref vals - - # create GUI object - set nodetype $nodetypes($vals(type)) - set nodename $vals(name) - if { $nodetype == "emane" } { set nodetype "wlan" } ;# special case - EMANE - if { $nodetype == "def" } { set nodetype "router" } - newNode [list $nodetype $node] ;# use node number supplied from API message - setNodeName $node $nodename - if { $vals(canv) == "" } { - setNodeCanvas $node $curcanvas - } else { - set canv $vals(canv) - if { ![string is integer $canv] || $canv < 0 || $canv > 100} { - puts "warning: invalid canvas '$canv' in Node message!" - return - } - set canv "c$canv" - if { [lsearch $canvas_list $canv] < 0 && $canv == "c0" } { - # special case -- support old imn files with Canvas0 - global $canv - lappend canvas_list $canv - set $canv {} - setCanvasName $canv "Canvas0" - set curcanvas $canv - switchCanvas none - } else { - while { [lsearch $canvas_list $canv] < 0 } { - set canvnew [newCanvas ""] - switchCanvas none ;# redraw canvas tabs - } - } - setNodeCanvas $node $canv - } - setNodeCoords $node "$vals(xpos) $vals(ypos)" - lassign [getDefaultLabelOffsets [nodeType $node]] dx dy - setNodeLabelCoords $node "[expr $vals(xpos) + $dx] [expr $vals(ypos) + $dy]" - setNodeLocation $node $vals(emulsrv) - if { $vals(icon) != "" } { - setCustomImage $node $vals(icon) - } - drawNode .c $node - - set model $vals(model) - if { $model != "" && $vals(type) < 4} { - # set model only for (0 def 1 phys 2 tbd 3 tbd) 4 lanswitch - setNodeModel $node $model - if { [lsearch -exact [getNodeTypeNames] $model] == -1 } { - puts "warning: unknown node type '$model' in Node message!" - } - } - if { $vals(services) != "" } { - set services [split $vals(services) |] - setNodeServices $node $services - } - - if { $vals(type) == 7 } { ;# RJ45 node - used later to control linking - netconfInsertSection $node [list model $vals(model)] - } elseif { $vals(type) == 10 } { ;# EMANE node - set section [list mobmodel coreapi ""] - netconfInsertSection $node $section - #set sock [lindex [getEmulPlugin $node] 2] - #sendConfRequestMessage $sock $node "all" 0x1 -1 "" - } elseif { $vals(type) == 6 } { ;# WLAN node - if { $vals(opaque) != "" } { - # treat opaque as a list to accomodate other data - set i [lsearch $vals(opaque) "range=*"] - if { $i != -1 } { - set range [lindex $vals(opaque) $i] - setNodeRange $node [lindex [split $range =] 1] - } - } - } -} - -# -# delete a node -# -proc apiNodeDelete { node } { - removeGUINode $node -} - -# -# CORE API Link message TLVs -# -proc parseLinkMessage { data len flags } { - global router def_router_model eid - global link_list node_list ngnodeidmap ngnodeidrmap showAPI execMode - set prmsg $showAPI - set current 0 - set c .c - #puts "Parsing link message of length=$len, flags=$flags" - - array set typenames { 1 node1num 2 node2num 3 delay 4 bw 5 per \ - 6 dup 7 jitter 8 mer 9 burst 10 session \ - 16 mburst 32 ltype 33 guiattr 34 uni \ - 35 emuid1 36 netid 37 key \ - 48 if1num 49 if1ipv4 50 if1ipv4mask 51 if1mac \ - 52 if1ipv6 53 if1ipv6mask \ - 54 if2num 55 if2ipv4 56 if2ipv4mask 57 if2mac \ - 64 if2ipv6 65 if2ipv6mask } - array set typesizes { node1num 4 node2num 4 delay 8 bw 8 per -1 \ - dup -1 jitter 8 mer 2 burst 2 session -1 \ - mburst 2 ltype 4 guiattr -1 uni 2 \ - emuid1 4 netid 4 key 4 \ - if1num 2 if1ipv4 4 if1ipv4mask 2 if1mac 8 \ - if1ipv6 16 if1ipv6mask 2 \ - if2num 2 if2ipv4 4 if2ipv4mask 2 if2mac 8 \ - if2ipv6 16 if2ipv6mask 2 } - array set vals { node1num -1 node2num -1 delay 0 bw 0 per "" \ - dup "" jitter 0 mer 0 burst 0 session "" \ - mburst 0 ltype 0 guiattr "" uni 0 \ - emuid1 -1 netid -1 key -1 \ - if1num -1 if1ipv4 -1 if1ipv4mask 24 if1mac -1 \ - if1ipv6 -1 if1ipv6mask 64 \ - if2num -1 if2ipv4 -1 if2ipv4mask 24 if2mac -1 \ - if2ipv6 -1 if2ipv6mask 64 } - set emuid1 -1 - - if { $prmsg==1 } { puts -nonewline "LINK(flags=$flags," } - - # - # TLV parsing - # - while { $current < $len } { - # TLV header - if { [binary scan $data @${current}cc type length] != 2 } { - puts "TLV header error" - break - } - set length [expr {$length & 0xFF}]; # convert signed to unsigned - if { $length == 0 } {; # prevent endless looping - if { $type == 0 } { puts -nonewline "(extra padding)"; break - } else { puts "Found zero-length TLV for type=$type, dropping."; - break } - } - set pad [pad_32bit $length] - # verbose debugging - #puts "tlv type=$type length=$length pad=$pad current=$current" - incr current 2 - - if {![info exists typenames($type)] } { ;# unknown TLV type - if { $prmsg } { puts -nonewline "unknown=$type," } - incr current $length - continue - } - set typename $typenames($type) - set size $typesizes($typename) - # 32-bit and 64-bit vals pre-padded - if { $size == 4 || $size == 8} { incr current $pad } - # read TLV data depending on size - switch -exact -- "$size" { - 2 { binary scan $data @${current}S vals($typename) } - 4 { binary scan $data @${current}I vals($typename) } - 8 { binary scan $data @${current}W vals($typename) } - 16 { binary scan $data @${current}c16 vals($typename) } - -1 { binary scan $data @${current}a${length} vals($typename) } - } - incr current $length - # special handling of data here - switch -exact -- "$typename" { - delay - - jitter { if { $vals($typename) > 2000000 } { - array set vals [list $typename 2000000] } } - bw { if { $vals($typename) > 1000000000 } { - array set vals [list $typename 0] } } - per { if { $vals($typename) > 100 } { - array set vals [list $typename 100] } } - dup { if { $vals($typename) > 50 } { - array set vals [list $typename 50] } } - emuid1 { if { $emuid1 == -1 } { - set emuid $vals($typename) - } else { ;# this sets emuid2 if we already have emuid1 - array set vals [list emuid2 $vals($typename) ] - array set vals [list emuid1 $emuid1 ] - } - } - if1ipv4 - - if2ipv4 { array set vals [list $typename \ - [ipv4ToString $vals($typename)] ] } - if1mac - - if2mac { array set vals [list $typename \ - [macToString $vals($typename)] ] } - if1ipv6 - - if2ipv6 { array set vals [list $typename \ - [ipv6ToString $vals($typename)] ] } - } - if { $prmsg } { puts -nonewline "$typename=$vals($typename)," } - if { $size == 16 } { incr current $pad } ;# 128-bit vals post-padded - if { $size == -1 } { incr current $pad } ;# string vals post-padded - } - - if { $prmsg == 1 } { puts ") " } - - # perform some sanity checking of the link message - if { $vals(node1num) == $vals(node2num) || \ - $vals(node1num) < 0 || $vals(node2num) < 0 } { - puts -nonewline "link message error - node1=$vals(node1num), " - puts "node2=$vals(node2num)" - return - } - - # convert node number to node and check for node existance - set node1 "n$vals(node1num)" - set node2 "n$vals(node2num)" - if { [lsearch $node_list $node1] == -1 || \ - [lsearch $node_list $node2] == -1 } { - puts "Node ($node1/$node2) in link message not found, dropping" - return - } - - # set IPv4 and IPv6 address if specified, otherwise may be automatic - set prefix1 [chooseIfName $node1 $node2] - set prefix2 [chooseIfName $node2 $node1] - foreach i "1 2" { - # set interface name/number - if { $vals(if${i}num) == -1 } { - set ifname [newIfc [set prefix${i}] [set node${i}]] - set prefixlen [string length [set prefix${i}]] - set if${i}num [string range $ifname $prefixlen end] - array set vals [list if${i}num [set if${i}num]] - } - set ifname [set prefix${i}]$vals(if${i}num) - array set vals [list if${i}name $ifname] - # record IPv4/IPv6 addresses for newGUILink - foreach j "4 6" { - if { $vals(if${i}ipv${j}) != -1 } { - setIfcIPv${j}addr [set node${i}] $ifname \ - $vals(if${i}ipv${j})/$vals(if${i}ipv${j}mask) - } - } - if { $vals(if${i}mac) != -1 } { - setIfcMacaddr [set node${i}] $ifname $vals(if${i}mac) - } - } - # adopt network address for WLAN (WLAN must be node 1) - if { [nodeType $node1] == "wlan" } { - set v4addr $vals(if2ipv4) - if { $v4addr != -1 } { - set v4net [ipv4ToNet $v4addr $vals(if2ipv4mask)] - setIfcIPv4addr $node1 wireless "$v4net/$vals(if2ipv4mask)" - } - set v6addr $vals(if2ipv6) - if { $v6addr != -1 } { - set v6net [ipv6ToNet $v6addr $vals(if2ipv6mask)] - setIfcIPv6addr $node1 wireless "${v6net}::0/$vals(if2ipv6mask)" - } - } - - if { $execMode == "batch" } { - return ;# no GUI to update in batch mode - } - # treat 100% loss as link delete - if { $flags == 0 && $vals(per) == 100 } { - apiLinkDelete $node1 $node2 vals - return - } - - # now we have all the information about this node - switch -exact -- "$flags" { - 0 { apiLinkAddModify $node1 $node2 vals 0 } - 1 { apiLinkAddModify $node1 $node2 vals 1 } - 2 { apiLinkDelete $node1 $node2 vals } - default { puts "LINK: unsupported flags ($flags)"; return } - } -} - -# -# add or modify a link -# if add flag is set, check if two nodes are part of same wlan, and do wlan -# linkage, or add a wired link; otherwise modify wired/wireless link with -# supplied parameters -proc apiLinkAddModify { node1 node2 vals_ref add } { - global eid defLinkWidth - set c .c - upvar $vals_ref vals - - if {$vals(key) > -1} { - if { [nodeType $node1] == "tunnel" } { - netconfInsertSection $node1 [list "tunnel-key" $vals(key)] - } - if { [nodeType $node2] == "tunnel" } { - netconfInsertSection $node2 [list "tunnel-key" $vals(key)] - } - } - - # look for a wired link in the link list - set wired_link [linkByPeers $node1 $node2] - if { $wired_link != "" && $add == 0 } { ;# wired link exists, modify it - #puts "modify wired link" - if { $vals(uni) == 1 } { ;# unidirectional link effects message - set peers [linkPeers $wired_link] - if { $node1 == [lindex $peers 0] } { ;# downstream n1 <-- n2 - set bw [list $vals(bw) [getLinkBandwidth $wired_link up]] - set delay [list $vals(delay) [getLinkDelay $wired_link up]] - set per [list $vals(per) [getLinkBER $wired_link up]] - set dup [list $vals(dup) [getLinkBER $wired_link up]] - set jitter [list $vals(jitter) [getLinkJitter $wired_link up]] - } else { ;# upstream n1 --> n2 - set bw [list [getLinkBandwidth $wired_link] $vals(bw)] - set delay [list [getLinkDelay $wired_link] $vals(delay)] - set per [list [getLinkBER $wired_link] $vals(per)] - set dup [list [getLinkBER $wired_link] $vals(dup)] - set jitter [list $vals(jitter) [getLinkJitter $wired_link]] - } - setLinkBandwidth $wired_link $bw - setLinkDelay $wired_link $delay - setLinkBER $wired_link $per - setLinkDup $wired_link $dup - setLinkJitter $wired_link $jitter - } else { - setLinkBandwidth $wired_link $vals(bw) - setLinkDelay $wired_link $vals(delay) - setLinkBER $wired_link $vals(per) - setLinkDup $wired_link $vals(dup) - setLinkJitter $wired_link $vals(jitter) - } - updateLinkLabel $wired_link - updateLinkGuiAttr $wired_link $vals(guiattr) - return - # if add flag is set and a wired link already exists, assume wlan linkage - # special case: rj45 model=1 means link via wireless - } elseif {[nodeType $node1] == "rj45" || [nodeType $node2] == "rj45"} { - if { [nodeType $node1] == "rj45" } { - set rj45node $node1; set othernode $node2; - } else { set rj45node $node2; set othernode $node1; } - if { [netconfFetchSection $rj45node model] == 1 } { - set wlan [findWlanNodes $othernode] - if {$wlan != ""} {newGUILink $wlan $rj45node};# link rj4node to wlan - } - } - - # no wired link; determine if both nodes belong to the same wlan, and - # link them; otherwise add a wired link if add flag is set - set wlan $vals(netid) - if { $wlan < 0 } { - # WLAN not specified with netid, search for common WLAN - set wlans1 [findWlanNodes $node1] - set wlans2 [findWlanNodes $node2] - foreach w $wlans1 { - if { [lsearch -exact $wlans2 $w] < 0 } { continue } - set wlan $w - break - } - } - - if { $wlan < 0 } { ;# no common wlan - if {$add == 1} { ;# add flag was set - add a wired link - global g_newLink_ifhints - set g_newLink_ifhints [list $vals(if1name) $vals(if2name)] - newGUILink $node1 $node2 - if { [getNodeCanvas $node1] != [getNodeCanvas $node2] } { - set wired_link [linkByPeersMirror $node1 $node2] - } else { - set wired_link [linkByPeers $node1 $node2] - } - setLinkBandwidth $wired_link $vals(bw) - setLinkDelay $wired_link $vals(delay) - setLinkBER $wired_link $vals(per) - setLinkDup $wired_link $vals(dup) - setLinkJitter $wired_link $vals(jitter) - updateLinkLabel $wired_link - updateLinkGuiAttr $wired_link $vals(guiattr) - # adopt link effects for WLAN (WLAN must be node 1) - if { [nodeType $node1] == "wlan" } { - setLinkBandwidth $node1 $vals(bw) - setLinkDelay $node1 $vals(delay) - setLinkBER $node1 $vals(per) - } - return - } else { ;# modify link, but no wired link or common wlan! - puts -nonewline "link modify message received, but no wired link" - puts " or wlan for nodes $node1-$node2, dropping" - return - } - } - - set wlan "n$wlan" - drawWlanLink $node1 $node2 $wlan -} - -# -# delete a link -# -proc apiLinkDelete { node1 node2 vals_ref } { - global eid - upvar $vals_ref vals - set c .c - - # look for a wired link in the link list - set wired_link [linkByPeers $node1 $node2] - if { $wired_link != "" } { - removeGUILink $wired_link non-atomic - return - } - - set wlan $vals(netid) - if { $wlan < 0 } { - # WLAN not specified with netid, search for common WLAN - set wlans1 [findWlanNodes $node1] - set wlans2 [findWlanNodes $node2] - foreach w $wlans1 { - if { [lsearch -exact $wlans2 $w] < 0 } { continue } - set wlan $w - break - } - } - if { $wlan < 0 } { - puts "apiLinkDelete: no common WLAN!" - return - } - set wlan "n$wlan" - - # look for wireless link on the canvas, remove GUI object - $c delete -withtags "wlanlink && $node2 && $node1 && $wlan" - $c delete -withtags "linklabel && $node2 && $node1 && $wlan" -} - -# -# CORE API Execute message TLVs -# -proc parseExecMessage { data len flags channel } { - global node_list curcanvas c router eid showAPI - global XSCALE YSCALE XOFFSET YOFFSET - set prmsg $showAPI - set current 0 - - # set default values - set nodenum 0 - set execnum 0 - set exectime 0 - set execcmd "" - set execres "" - set execstatus 0 - set session "" - - if { $prmsg==1 } { puts -nonewline "EXEC(flags=$flags," } - - # parse each TLV - while { $current < $len } { - # TLV header - set typelength [parseTLVHeader $data current] - set type [lindex $typelength 0] - set length [lindex $typelength 1] - if { $length == 0 || $length == "" } { break } - set pad [pad_32bit $length] - # verbose debugging - #puts "exec tlv type=$type length=$length pad=$pad current=$current" - if { [expr {$current + $length + $pad}] > $len } { - puts "error with EXEC message length (len=$len, TLV length=$length)" - break - } - # TLV data - switch -exact -- "$type" { - 1 { - incr current $pad - binary scan $data @${current}I nodenum - if { $prmsg==1 } { puts -nonewline "node=$nodenum/" } - } - 2 { - incr current $pad - binary scan $data @${current}I execnum - if { $prmsg == 1} { puts -nonewline "exec=$execnum," } - } - 3 { - incr current $pad - binary scan $data @${current}I exectime - if { $prmsg == 1} { puts -nonewline "time=$exectime," } - } - 4 { - binary scan $data @${current}a${length} execcmd - if { $prmsg == 1} { puts -nonewline "cmd=$execcmd," } - incr current $pad - } - 5 { - binary scan $data @${current}a${length} execres - if { $prmsg == 1} { puts -nonewline "res=($length bytes)," } - incr current $pad - } - 6 { - incr current $pad - binary scan $data @${current}I execstatus - if { $prmsg == 1} { puts -nonewline "status=$execstatus," } - } - 10 { - binary scan $data @${current}a${length} session - if { $prmsg == 1} { puts -nonewline "session=$session," } - incr current $pad - } - default { - if { $prmsg == 1} { puts -nonewline "unknown=" } - if { $prmsg == 1} { puts -nonewline "$type," } - } - } - # end switch - - # advance current pointer - incr current $length - } - if { $prmsg == 1 } { puts ") "} - - set node "n$nodenum" - set node_id "$eid\_$node" - # check for node existance - if { [lsearch $node_list $node] == -1 } { - puts "Execute message but node ($node) does not exist, dropping." - return - } - global $node - - # Callback support - match execnum from response with original request, and - # invoke type-specific callback - global g_execRequests - foreach type [array names g_execRequests] { - set idx [lsearch $g_execRequests($type) $execnum] - if { $idx > -1 } { - set g_execRequests($type) \ - [lreplace $g_execRequests($type) $idx $idx] - exec_${type}_callback $node $execnum $execcmd $execres $execstatus - return - } - } -} - -# spawn interactive terminal -proc exec_shell_callback { node execnum execcmd execres execstatus } { - #puts "opening terminal for $node by running '$execres'" - set title "CORE: [getNodeName $node] (console)" - set term [get_term_prog false] - set xi [string first "xterm -e" $execres] - - # shell callback already has xterm command, launch it using user-defined - # term program (e.g. remote nodes 'ssh -X -f a.b.c.d xterm -e ...' - if { $xi > -1 } { - set execres [string replace $execres $xi [expr $xi+7] $term] - if { [catch {exec sh -c "$execres" & } ] } { - puts "Warning: failed to open terminal for $node" - } - return - # no xterm command; execute shell callback in a terminal (e.g. local nodes) - } elseif { \ - [catch {eval exec $term "$execres" & } ] } { - puts "Warning: failed to open terminal for $node: ($term $execres)" - } -} - - -# -# CORE API Register message TLVs -# parse register message into plugin capabilities -# -proc parseRegMessage { data len flags channel } { - global regntypes showAPI - set prmsg $showAPI - set current 0 - set str 0 - set session "" - set fnhint "" - - set plugin_cap_list {} ;# plugin capabilities list - - if { $prmsg==1 } { puts -nonewline "REG(flags=$flags," } - - # parse each TLV - while { $current < $len } { - # TLV header - if { [binary scan $data @${current}cc type length] != 2 } { - puts "TLV header error" - break - } - set length [expr {$length & 0xFF}]; # convert signed to unsigned - if { $length == 0 } { - # prevent endless looping - if { $type == 0 } { - puts -nonewline "(extra padding)" - break - } else { - puts "Found zero-length TLV for type=$type, dropping." - break - } - } - set pad [pad_32bit $length] - # verbose debugging - #puts "tlv type=$type length=$length pad=$pad current=$current" - incr current 2 - # TLV data - if { [info exists regntypes($type)] } { - set plugin_type $regntypes($type) - binary scan $data @${current}a${length} str - if { $prmsg == 1} { puts -nonewline "$plugin_type=$str," } - if { $type == 10 } { ;# session number - set session $str - } else { - lappend plugin_cap_list "$plugin_type=$str" - if { $plugin_type == "exec" } { set fnhint $str } - } - } else { - if { $prmsg == 1} { puts -nonewline "unknown($type)," } - } - incr current $pad - # end switch - - # advance current pointer - incr current $length - } - if { $prmsg == 1 } { puts ") "} - - # reg message with session number indicates the sid of a session that - # was just started from XML or Python script (via reg exec=scriptfile.py) - if { $session != "" } { - # The channel passed to here is soon after discarded for - # sessions that are started from XML or Python scripts. This causes - # an exception in the GUI when responding back to daemon if the - # response is sent after the channel has been destroyed. Setting - # the channel to -1 basically disables the GUI response to the daemon, - # but it turns out the daemon does not need the response anyway. - set channel -1 - # assume session string only contains one session number - connectShutdownSession connect $channel $session $fnhint - return - } - - set plugin [pluginByChannel $channel] - if { [setPluginCapList $plugin $plugin_cap_list] < 0 } { - return - } - - # callback to refresh any open dialogs this message may refresh - pluginsConfigRefreshCallback -} - -proc parseConfMessage { data len flags channel } { - global showAPI node_list MACHINE_TYPES - set prmsg $showAPI - set current 0 - set str 0 - set nodenum -1 - set obj "" - set tflags 0 - set types {} - set values {} - set captions {} - set bitmap {} - set possible_values {} - set groups {} - set opaque {} - set session "" - set netid -1 - - if { $prmsg==1 } { puts -nonewline "CONF(flags=$flags," } - - # parse each TLV - while { $current < $len } { - set typelength [parseTLVHeader $data current] - set type [lindex $typelength 0] - set length [lindex $typelength 1] - set pad [pad_32bit $length] - if { $length == 0 || $length == "" } { - # allow some zero-length string TLVs - if { $type < 5 || $type > 9 } { break } - } - # verbose debugging - #puts "tlv type=$type length=$length pad=$pad current=$current" - # TLV data - switch -exact -- "$type" { - 1 { - incr current $pad - binary scan $data @${current}I nodenum - if { $prmsg == 1} { puts -nonewline "node=$nodenum/" } - } - 2 { - binary scan $data @${current}a${length} obj - if { $prmsg == 1} { puts -nonewline "obj=$obj," } - incr current $pad - } - 3 { - binary scan $data @${current}S tflags - if { $prmsg == 1} { puts -nonewline "cflags=$tflags," } - } - 4 { - set type 0 - set types {} - if { $prmsg == 1} { puts -nonewline "types=" } - # number of 16-bit values - set types_len $length - # get each 16-bit type value, add to list - while {$types_len > 0} { - binary scan $data @${current}S type - if {$type > 0 && $type < 12} { - lappend types $type - if { $prmsg == 1} { puts -nonewline "$type/" } - } - incr current 2 - incr types_len -2 - } - if { $prmsg == 1} { puts -nonewline "," } - incr current -$length; # length incremented below - incr current $pad - } - 5 { - set values {} - binary scan $data @${current}a${length} vals - if { $prmsg == 1} { puts -nonewline "vals=$vals," } - set values [split $vals |] - incr current $pad - } - 6 { - set captions {} - binary scan $data @${current}a${length} capt - if { $prmsg == 1} { puts -nonewline "capt=$capt," } - set captions [split $capt |] - incr current $pad - } - 7 { - set bitmap {} - binary scan $data @${current}a${length} bitmap - if { $prmsg == 1} { puts -nonewline "bitmap," } - incr current $pad - } - 8 { - set possible_values {} - binary scan $data @${current}a${length} pvals - if { $prmsg == 1} { puts -nonewline "pvals=$pvals," } - set possible_values [split $pvals |] - incr current $pad - } - 9 { - set groups {} - binary scan $data @${current}a${length} groupsstr - if { $prmsg == 1} { puts -nonewline "groups=$groupsstr," } - set groups [split $groupsstr |] - incr current $pad - } - 10 { - binary scan $data @${current}a${length} session - if { $prmsg == 1} { puts -nonewline "session=$session," } - incr current $pad - } - 35 { - incr current $pad - binary scan $data @${current}I netid - if { $prmsg == 1} { puts -nonewline "netid=$netid/" } - } - 80 { - set opaque {} - binary scan $data @${current}a${length} opaquestr - if { $prmsg == 1} { puts -nonewline "opaque=$opaquestr," } - set opaque [split $opaquestr |] - incr current $pad - } - default { - if { $prmsg == 1} { puts -nonewline "unknown=" } - if { $prmsg == 1} { puts -nonewline "$type," } - } - } - # end switch - - # advance current pointer - incr current $length - } - - if { $prmsg == 1 } { puts ") "} - - set objs_ok [concat "services session metadata emane" $MACHINE_TYPES] - if { $nodenum > -1 } { - set node "n$nodenum" - } else { - set node "" - } - # check for node existance - if { [lsearch $node_list $node] == -1 } { - if { [lsearch $objs_ok $obj] < 0 } { - set msg "Configure message for $obj but node ($node) does" - set msg "$msg not exist, dropping." - puts $msg - return - } - } else { - global $node - } - - # for handling node services - # this could be improved, instead of checking for the hard-coded object - # "services" and opaque data for service customization - if { $obj == "services" } { - if { $tflags & 0x2 } { ;# update flag - if { $opaque != "" } { - set services [lindex [split $opaque ":"] 1] - set services [split $services ","] - customizeServiceValues n$nodenum $values $services - } - # TODO: save services config with the node - } elseif { $tflags & 0x1 } { ;# request flag - # TODO: something else - } else { - popupServicesConfig $channel n$nodenum $types $values $captions \ - $possible_values $groups $session - } - return - # metadata received upon XML file load - } elseif { $obj == "metadata" } { - parseMetaData $values - return - # session options received upon XML file load - } elseif { $obj == "session" && $tflags & 0x2 } { - setSessionOptions $types $values - return - } - # handle node machine-type profile - if { [lsearch $MACHINE_TYPES $obj] != -1 } { - if { $tflags == 0 } { - popupNodeProfileConfig $channel n$nodenum $obj $types $values \ - $captions $bitmap $possible_values $groups $session \ - $opaque - } else { - puts -nonewline "warning: received Configure message for profile " - puts "with unexpected flags!" - } - return - } - - # update the configuration for a node without displaying dialog box - if { $tflags & 0x2 } { - if { $obj == "emane" && $node == "" } { - set node [lindex [findWlanNodes ""] 0] - } - if { $node == "" } { - puts "ignoring Configure message for $obj with no node" - return - } - # this is similar to popupCapabilityConfigApply - setCustomConfig $node $obj $types $values 0 - if { $obj != "emane" && [nodeType $node] == "wlan"} { - set section [list mobmodel coreapi $obj] - netconfInsertSection $node $section - } - # configuration request - unhandled - } elseif { $tflags & 0x1 } { - # configuration response data from our request (from GUI plugin configure) - } else { - popupCapabilityConfig $channel n$nodenum $obj $types $values \ - $captions $bitmap $possible_values $groups - } -} - -# process metadata received from Conf Message when loading XML -proc parseMetaData { values } { - global canvas_list annotation_list execMode g_comments - - foreach value $values { - # data looks like this: "annotation a1={iconcoords {514.0 132.0...}}" - lassign [splitKeyValue $value] key object_config - lassign $key class object - # metadata with no object name e.g. comments="Comment text" - if { "$class" == "comments" } { - set g_comments $object_config - continue - } elseif { "$class" == "global_options" } { - foreach opt $object_config { - lassign [split $opt =] key value - setGlobalOption $key $value - } - continue - } - # metadata having class and object name - if {"$class" == "" || $object == ""} { - puts "warning: invalid metadata value '$value'" - } - if { "$class" == "canvas" } { - if { [lsearch $canvas_list $object] < 0 } { - lappend canvas_list $object - } - } elseif { "$class" == "annotation" } { - if { [lsearch $annotation_list $object] < 0 } { - lappend annotation_list $object - } - } else { - puts "metadata parsing error: unknown object class $class" - } - global $object - set $object $object_config - } - - if { $execMode == "batch" } { return } - switchCanvas none - redrawAll -} - -proc parseFileMessage { data len flags channel } { - global showAPI node_list - set prmsg $showAPI - - array set tlvnames { 1 num 2 name 3 mode 4 fno 5 type 6 sname \ - 10 session 16 data 17 cdata } - array set tlvsizes { num 4 name -1 mode -3 fno 2 type -1 sname -1 \ - session -1 data -1 cdata -1 } - array set defvals { num -1 name "" mode -1 fno -1 type "" sname "" \ - session "" data "" cdata "" } - - if { $prmsg==1 } { puts -nonewline "FILE(flags=$flags," } - array set vals [parseMessage $data $len $flags [array get tlvnames] \ - [array get tlvsizes] [array get defvals]] - if { $prmsg } { puts ") "} - - # hook scripts received in File Message - if { [string range $vals(type) 0 4] == "hook:" } { - global g_hook_scripts - set state [string range $vals(type) 5 end] - lappend g_hook_scripts [list $vals(name) $state $vals(data)] - return - } - - # required fields - foreach t "num name data" { - if { $vals($t) == $defvals($t) } { - puts "Received File Message without $t, dropping."; return; - } - } - - # check for node existance - set node "n$vals(num)" - if { [lsearch $node_list $node] == -1 } { - puts "File message but node ($node) does not exist, dropping." - return - } else { - global $node - } - - # service customization received in File Message - if { [string range $vals(type) 0 7] == "service:" } { - customizeServiceFile $node $vals(name) $vals(type) $vals(data) true - } -} - -proc parseEventMessage { data len flags channel } { - global showAPI eventtypes g_traffic_start_opt execMode node_list - set prmsg $showAPI - set current 0 - set nodenum -1 - set eventtype -1 - set eventname "" - set eventdata "" - set eventtime "" - set session "" - - if { $prmsg==1 } { puts -nonewline "EVENT(flags=$flags," } - - # parse each TLV - while { $current < $len } { - set typelength [parseTLVHeader $data current] - set type [lindex $typelength 0] - set length [lindex $typelength 1] - if { $length == 0 || $length == "" } { break } - set pad [pad_32bit $length] - # verbose debugging - #puts "tlv type=$type length=$length pad=$pad current=$current" - # TLV data - switch -exact -- "$type" { - 1 { - incr current $pad - binary scan $data @${current}I nodenum - if { $prmsg == 1} { puts -nonewline "node=$nodenum," } - } - 2 { - incr current $pad - binary scan $data @${current}I eventtype - if { $prmsg == 1} { - set typestr "" - foreach t [array names eventtypes] { - if { $eventtypes($t) == $eventtype } { - set typestr "-$t" - break - } - } - puts -nonewline "type=$eventtype$typestr," - } - } - 3 { - binary scan $data @${current}a${length} eventname - if { $prmsg == 1} { puts -nonewline "name=$eventname," } - incr current $pad - } - 4 { - binary scan $data @${current}a${length} eventdata - if { $prmsg == 1} { puts -nonewline "data=$eventdata," } - incr current $pad - } - 5 { - binary scan $data @${current}a${length} eventtime - if { $prmsg == 1} { puts -nonewline "time=$eventtime," } - incr current $pad - } - 10 { - binary scan $data @${current}a${length} session - if { $prmsg == 1} { puts -nonewline "session=$session," } - incr current $pad - } - default { - if { $prmsg == 1} { puts -nonewline "unknown=" } - if { $prmsg == 1} { puts -nonewline "$type," } - } - } - # end switch - - # advance current pointer - incr current $length - } - - if { $prmsg == 1 } { puts ") "} - - # TODO: take other actions here based on Event Message - if { $eventtype == 4 } { ;# entered the runtime state - if { $g_traffic_start_opt == 1 } { startTrafficScripts } - if { $execMode == "batch" } { - global g_current_session g_abort_session - if {$g_abort_session} { - puts "Current session ($g_current_session) aborted. Disconnecting." - shutdownSession - } else { - puts "Session running. Session id is $g_current_session. Disconnecting." - } - exit.real - } - } elseif { $eventtype == 6 } { ;# shutdown state - set name [lindex [getEmulPlugin "*"] 0] - if { [getAssignedRemoteServers] == "" } { - # start a new session if not distributed - # otherwise we need to allow time for node delete messages - # from other servers - pluginConnect $name disconnect 1 - pluginConnect $name connect 1 - } - } elseif { $eventtype >= 7 || $eventtype <= 10 } { - if { [string range $eventname 0 8] == "mobility:" } { - set node "n$nodenum" - if {[lsearch $node_list $node] == -1} { - puts "Event message with unknown node %nodenum." - return - } - handleMobilityScriptEvent $node $eventtype $eventdata $eventtime - } - } -} - -proc parseSessionMessage { data len flags channel } { - global showAPI g_current_session g_session_dialog_hint execMode - set prmsg $showAPI - set current 0 - set sessionids {} - set sessionnames {} - set sessionfiles {} - set nodecounts {} - set sessiondates {} - set thumbs {} - set sessionopaque {} - - if { $prmsg==1 } { puts -nonewline "SESSION(flags=$flags," } - - # parse each TLV - while { $current < $len } { - set typelength [parseTLVHeader $data current] - set type [lindex $typelength 0] - set length [lindex $typelength 1] - if { $length == 0 || $length == "" } { - puts "warning: zero-length TLV, discarding remainder of message!" - break - } - set pad [pad_32bit $length] - # verbose debugging - #puts "tlv type=$type length=$length pad=$pad current=$current" - # TLV data - switch -exact -- "$type" { - 1 { - set sessionids {} - binary scan $data @${current}a${length} sids - if { $prmsg == 1} { puts -nonewline "sids=$sids," } - set sessionids [split $sids |] - incr current $pad - } - 2 { - set sessionnames {} - binary scan $data @${current}a${length} snames - if { $prmsg == 1} { puts -nonewline "names=$snames," } - set sessionnames [split $snames |] - incr current $pad - } - 3 { - set sessionfiles {} - binary scan $data @${current}a${length} sfiles - if { $prmsg == 1} { puts -nonewline "files=$sfiles," } - set sessionfiles [split $sfiles |] - incr current $pad - } - 4 { - set nodecounts {} - binary scan $data @${current}a${length} ncs - if { $prmsg == 1} { puts -nonewline "ncs=$ncs," } - set nodecounts [split $ncs |] - incr current $pad - } - 5 { - set sessiondates {} - binary scan $data @${current}a${length} sdates - if { $prmsg == 1} { puts -nonewline "dates=$sdates," } - set sessiondates [split $sdates |] - incr current $pad - } - 6 { - set thumbs {} - binary scan $data @${current}a${length} th - if { $prmsg == 1} { puts -nonewline "thumbs=$th," } - set thumbs [split $th |] - incr current $pad - } - 10 { - set sessionopaque {} - binary scan $data @${current}a${length} sessionopaque - if { $prmsg == 1} { puts -nonewline "$sessionopaque," } - incr current $pad - } - default { - if { $prmsg == 1} { puts -nonewline "unknown=" } - if { $prmsg == 1} { puts -nonewline "$type," } - } - } - # end switch - - # advance current pointer - incr current $length - } - - if { $prmsg == 1 } { puts ") "} - - if {$g_current_session == 0} { - # set the current session to the channel port number - set current_session [lindex [fconfigure $channel -sockname] 2] - } else { - set current_session $g_current_session - } - - if {[lsearch $sessionids $current_session] == -1} { - puts -nonewline "*** warning: current session ($g_current_session) " - puts "not found in session list: $sessionids" - } - - set orig_session_choice $g_current_session - set g_current_session $current_session - setGuiTitle "" - - if {$execMode == "closebatch"} { - # we're going to close some session, so this is expected - global g_session_choice - - if {[lsearch $sessionids $g_session_choice] == -1} { - puts -nonewline "*** warning: current session ($g_session_choice) " - puts "not found in session list: $sessionids" - } else { - set flags 0x2 ;# delete flag - set sid $g_session_choice - set name "" - set f "" - set nodecount "" - set thumb "" - set user "" - sendSessionMessage $channel $flags $sid $name $f $nodecount $thumb $user - - puts "Session shutdown message sent." - } - exit.real - } - - if {$orig_session_choice == 0 && [llength $sessionids] == 1} { - # we just started up and only the current session exists - set g_session_dialog_hint 0 - return - } - - if {$execMode == "batch"} { - puts "Another session is active." - exit.real - } - - if { $g_session_dialog_hint } { - popupSessionConfig $channel $sessionids $sessionnames $sessionfiles \ - $nodecounts $sessiondates $thumbs $sessionopaque - } - set g_session_dialog_hint 0 -} - -# parse message TLVs given the possible TLV names and sizes -# default values are supplied in defaultvals, parsed values are returned -proc parseMessage { data len flags tlvnamesl tlvsizesl defaultvalsl } { - global showAPI - set prmsg $showAPI - - array set tlvnames $tlvnamesl - array set tlvsizes $tlvsizesl - array set vals $defaultvalsl ;# this array is returned - - set current 0 - - while { $current < $len } { - set typelength [parseTLVHeader $data current] - set type [lindex $typelength 0] - set length [lindex $typelength 1] - if { $length == 0 || $length == "" } { break } - set pad [pad_32bit $length] - - if {![info exists tlvnames($type)] } { ;# unknown TLV type - if { $prmsg } { puts -nonewline "unknown=$type," } - incr current $length - continue - } - set tlvname $tlvnames($type) - set size $tlvsizes($tlvname) - # 32-bit and 64-bit vals pre-padded - if { $size == 4 || $size == 8 } { incr current $pad } - # read TLV data depending on size - switch -exact -- "$size" { - 2 { binary scan $data @${current}S vals($tlvname) } - 4 { binary scan $data @${current}I vals($tlvname) } - 8 { binary scan $data @${current}W vals($tlvname) } - 16 { binary scan $data @${current}c16 vals($tlvname) } - -1 { binary scan $data @${current}a${length} vals($tlvname) } - } - if { $size == -1 } { incr current $pad } ;# string vals post-padded - if { $type == 6 } { incr current $pad } ;# 128-bit vals post-padded - incr current $length - - if { $prmsg } { puts -nonewline "$tlvname=$vals($tlvname)," } - } - return [array get vals] -} - -proc parseExceptionMessage { data len flags channel } { - global showAPI - set prmsg $showAPI - - array set typenames { 1 num 2 sess 3 level 4 src 5 date 6 txt 10 opaque } - array set typesizes { num 4 sess -1 level 2 src -1 date -1 txt -1 \ - opaque -1 } - array set defvals { num -1 sess "" level -1 src "" date "" txt "" opaque ""} - - if { $prmsg==1 } { puts -nonewline "EXCEPTION(flags=$flags," } - array set vals [parseMessage $data $len $flags [array get typenames] \ - [array get typesizes] [array get defvals]] - if { $prmsg == 1 } { puts ") "} - - if { $vals(level) == $defvals(level) } { - puts "Exception Message received without an exception level."; return; - } - - receiveException [array get vals] -} - -proc sendNodePosMessage { channel node nodeid x y wlanid force } { - global showAPI - set prmsg $showAPI - - if { $channel == -1 } { - set channel [lindex [getEmulPlugin $node] 2] - if { $channel == -1 } { return } - } - set node_num [string range $node 1 end] - set x [format "%u" [expr int($x)]] - set y [format "%u" [expr int($y)]] - set len [expr 8+4+4] ;# node number, x, y - if {$nodeid > -1} { incr len 8 } - if {$wlanid > -1} { incr len 8 } - if {$force == 1 } { set crit 0x4 } else { set crit 0x0 } - #puts "sending [expr $len+4] bytes: $nodeid $x $y $wlanid" - if { $prmsg == 1 } { - puts -nonewline ">NODE(flags=$crit,$node,x=$x,y=$y" } - set msg [binary format ccSc2sIc2Sc2S \ - 1 $crit $len \ - {1 4} 0 $node_num \ - {0x20 2} $x \ - {0x21 2} $y - ] - - set msg2 "" - set msg3 "" - if { $nodeid > -1 } { - if { $prmsg == 1 } { puts -nonewline ",emuid=$nodeid" } - set msg2 [binary format c2sI {0x23 4} 0 $nodeid] - } - if { $wlanid > -1 } { - if { $prmsg == 1 } { puts -nonewline ",netid=$wlanid" } - set msg3 [binary format c2sI {0x24 4} 0 $wlanid] - } - - if { $prmsg == 1 } { puts ")" } - puts -nonewline $channel $msg$msg2$msg3 - flushChannel channel "Error sending node position" -} - -# build a new node -proc sendNodeAddMessage { channel node } { - global showAPI CORE_DATA_DIR - set prmsg $showAPI - set len [expr {8+8+4+4}]; # node number, type, x, y - set ipv4 0 - set ipv6 0 - set macstr "" - set wireless 0 - - # type, name - set type [getNodeTypeAPI $node] - set model [getNodeModel $node] - set model_len [string length $model] - set model_pad_len [pad_32bit $model_len] - set model_pad [binary format x$model_pad_len] - set name [getNodeName $node] - set name_len [string length $name] - set name_pad_len [pad_32bit $name_len] - set name_pad [binary format x$name_pad_len] - incr len [expr { 2+$name_len+$name_pad_len}] - if {$model_len > 0} { incr len [expr {2+$model_len+$model_pad_len }] } - set node_num [string range $node 1 end] - - # fixup node type for EMANE-enabled WLAN nodes - set opaque "" - if { [isEmane $node] } { set type 0xA } - - # emulation server (node location) - set emusrv [getNodeLocation $node] - set emusrv_len [string length $emusrv] - set emusrv_pad_len [pad_32bit $emusrv_len] - set emusrv_pad [binary format x$emusrv_pad_len] - if { $emusrv_len > 0 } { incr len [expr {2+$emusrv_len+$emusrv_pad_len } ] } - - # canvas - set canv [getNodeCanvas $node] - if { $canv != "c1" } { - set canv [string range $canv 1 end] ;# convert "c2" to "2" - incr len 4 - } else { - set canv "" - } - - # services - set svc [getNodeServices $node false] - set svc [join $svc "|"] - set svc_len [string length $svc] - set svc_pad_len [pad_32bit $svc_len] - set svc_pad [binary format x$svc_pad_len] - if { $svc_len > 0 } { incr len [expr {2+$svc_len+$svc_pad_len } ] } - - # icon - set icon [getCustomImage $node] - if { [file dirname $icon] == "$CORE_DATA_DIR/icons/normal" } { - set icon [file tail $icon] ;# don't include standard icon path - } - set icon_len [string length $icon] - set icon_pad_len [pad_32bit $icon_len] - set icon_pad [binary format x$icon_pad_len] - if { $icon_len > 0 } { incr len [expr {2+$icon_len+$icon_pad_len} ] } - - # opaque data - set opaque_len [string length $opaque] - set opaque_pad_len [pad_32bit $opaque_len] - set opaque_pad [binary format x$opaque_pad_len] - if { $opaque_len > 0 } { incr len [expr {2+$opaque_len+$opaque_pad_len} ] } - - # length must be calculated before this - if { $prmsg == 1 } { - puts -nonewline ">NODE(flags=add/str,$node,type=$type,$name," - } - set msg [binary format c2Sc2sIc2sIcc \ - {0x1 0x11} $len \ - {0x1 4} 0 $node_num \ - {0x2 4} 0 $type \ - 0x3 $name_len ] - puts -nonewline $channel $msg$name$name_pad - - # IPv4 address - if { $ipv4 > 0 } { - if { $prmsg == 1 } { puts -nonewline "$ipv4str," } - set msg [binary format c2sI {0x4 4} 0 $ipv4] - puts -nonewline $channel $msg - } - - # MAC address - if { $macstr != "" } { - if { $prmsg == 1 } { puts -nonewline "$macstr," } - set mac [join [split $macstr ":"] ""] - puts -nonewline $channel [binary format c2x2W {0x5 8} 0x$mac] - } - - # IPv6 address - if { $ipv6 != 0 } { - if { $prmsg == 1 } { puts -nonewline "$ipv6str," } - set msg [binary format c2 {0x6 16} ] - puts -nonewline $channel $msg - foreach ipv6w [split $ipv6 ":"] { - set msg [binary format S 0x$ipv6w] - puts -nonewline $channel $msg - } - puts -nonewline $channel [binary format x2]; # 2 bytes padding - } - - # model type - if { $model_len > 0 } { - set mh [binary format cc 0x7 $model_len] - puts -nonewline $channel $mh$model$model_pad - if { $prmsg == 1 } { puts -nonewline "m=$model," } - } - - # emulation server - if { $emusrv_len > 0 } { - puts -nonewline $channel [binary format cc 0x8 $emusrv_len] - puts -nonewline $channel $emusrv$emusrv_pad - if { $prmsg == 1 } { puts -nonewline "srv=$emusrv," } - } - - # X,Y coordinates - set coords [getNodeCoords $node] - set x [format "%u" [expr int([lindex $coords 0])]] - set y [format "%u" [expr int([lindex $coords 1])]] - set msg [binary format c2Sc2S {0x20 2} $x {0x21 2} $y] - puts -nonewline $channel $msg - - # canvas - if { $canv != "" } { - if { $prmsg == 1 } { puts -nonewline "canvas=$canv," } - set msg [binary format c2S {0x22 2} $canv] - puts -nonewline $channel $msg - } - - if { $prmsg == 1 } { puts -nonewline "x=$x,y=$y" } - - # services - if { $svc_len > 0 } { - puts -nonewline $channel [binary format cc 0x25 $svc_len] - puts -nonewline $channel $svc$svc_pad - if { $prmsg == 1 } { puts -nonewline ",svc=$svc" } - } - - # icon - if { $icon_len > 0 } { - puts -nonewline $channel [binary format cc 0x42 $icon_len] - puts -nonewline $channel $icon$icon_pad - if { $prmsg == 1 } { puts -nonewline ",icon=$icon" } - } - - # opaque data - if { $opaque_len > 0 } { - puts -nonewline $channel [binary format cc 0x50 $opaque_len] - puts -nonewline $channel $opaque$opaque_pad - if { $prmsg == 1 } { puts -nonewline ",opaque=$opaque" } - } - - if { $prmsg == 1 } { puts ")" } - - flushChannel channel "Error sending node add" -} - -# delete a node -proc sendNodeDelMessage { channel node } { - global showAPI - set prmsg $showAPI - set len 8; # node number - set node_num [string range $node 1 end] - - if { $prmsg == 1 } { puts ">NODE(flags=del/str,$node_num)" } - set msg [binary format c2Sc2sI \ - {0x1 0x12} $len \ - {0x1 4} 0 $node_num ] - puts -nonewline $channel $msg - flushChannel channel "Error sending node delete" -} - -# send a message to build, modify, or delete a link -# type should indicate add/delete/link/unlink -proc sendLinkMessage { channel link type {sendboth true} } { - global showAPI - set prmsg $showAPI - - set node1 [lindex [linkPeers $link] 0] - set node2 [lindex [linkPeers $link] 1] - set if1 [ifcByPeer $node1 $node2]; set if2 [ifcByPeer $node2 $node1] - if { [nodeType $node1] == "pseudo" } { return } ;# never seems to occur - if { [nodeType $node2] == "pseudo" } { - set mirror2 [getLinkMirror $node2] - set node2 [getNodeName $node2] - if { [string range $node1 1 end] > [string range $node2 1 end] } { - return ;# only send one link message (for two pseudo-links) - } - set if2 [ifcByPeer $node2 $mirror2] - } - set node1_num [string range $node1 1 end] - set node2_num [string range $node2 1 end] - - # flag for sending unidirectional link messages - set uni 0 - if { $sendboth && [isLinkUni $link] } { - set uni 1 - } - - # set flags and link message type from supplied type parameter - set flags 0 - set ltype 1 ;# add/delete a link (not wireless link/unlink) - set netid -1 - if { $type == "add" || $type == "link" } { - set flags 1 - } elseif { $type == "delete" || $type == "unlink" } { - set flags 2 - } - if { $type == "link" || $type == "unlink" } { - set ltype 0 ;# a wireless link/unlink event - set tmp [getLinkOpaque $link net] - if { $tmp != "" } { set netid [string range $tmp 1 end] } - } - - set key "" - if { [nodeType $node1] == "tunnel" } { - set key [netconfFetchSection $node1 "tunnel-key"] - if { $key == "" } { set key 1 } - } - if {[nodeType $node2] == "tunnel" } { - set key [netconfFetchSection $node2 "tunnel-key"] - if { $key == "" } { set key 1 } - } - - if { $prmsg == 1 } { - puts -nonewline ">LINK(flags=$flags,$node1_num-$node2_num," - } - - # len = node1num, node2num, type - set len [expr {8+8+8}] - set delay [getLinkDelay $link] - if { $delay == "" } { set delay 0 } - set jitter [getLinkJitter $link] - if { $jitter == "" } { set jitter 0 } - set bw [getLinkBandwidth $link] - if { $bw == "" } { set bw 0 } - set per [getLinkBER $link]; # PER and BER - if { $per == "" } { set per 0 } - set per_len 0 - set per_msg [buildStringTLV 0x5 $per per_len] - set dup [getLinkDup $link] - if { $dup == "" } { set dup 0 } - set dup_len 0 - set dup_msg [buildStringTLV 0x6 $dup dup_len] - if { $type != "delete" } { - incr len [expr {12+12+$per_len+$dup_len+12}] ;# delay,bw,per,dup,jitter - if {$prmsg==1 } { - puts -nonewline "$delay,$bw,$per,$dup,$jitter," - } - } - # TODO: mer, burst, mburst - if { $prmsg == 1 } { puts -nonewline "type=$ltype," } - if { $uni } { - incr len 4 - if { $prmsg == 1 } { puts -nonewline "uni=$uni," } - } - if { $netid > -1 } { - incr len 8 - if { $prmsg == 1 } { puts -nonewline "netid=$netid," } - } - if { $key != "" } { - incr len 8 - if { $prmsg == 1 } { puts -nonewline "key=$key," } - } - - set if1num [ifcNameToNum $if1]; set if2num [ifcNameToNum $if2] - set if1ipv4 0; set if2ipv4 0; set if1ipv6 ""; set if2ipv6 ""; - set if1ipv4mask 0; set if2ipv4mask 0; - set if1ipv6mask ""; set if2ipv6mask ""; set if1mac ""; set if2mac ""; - - if { $if1num >= 0 && ([[typemodel $node1].layer] == "NETWORK" || \ - [nodeType $node1] == "tunnel") } { - incr len 4 - if { $prmsg == 1 } { puts -nonewline "if1n=$if1num," } - if { $type != "delete" } { - getIfcAddrs $node1 $if1 if1ipv4 if1ipv6 if1mac if1ipv4mask \ - if1ipv6mask len - } - } - if { $if2num >= 0 && ([[typemodel $node2].layer] == "NETWORK" || \ - [nodeType $node2] == "tunnel") } { - incr len 4 - if { $prmsg == 1 } { puts -nonewline "if2n=$if2num," } - if { $type != "delete" } { - getIfcAddrs $node2 $if2 if2ipv4 if2ipv6 if2mac if2ipv4mask \ - if2ipv6mask len - } - } - - # start building the binary message on channel - # length must be calculated before this - set msg [binary format ccSc2sIc2sI \ - {0x2} $flags $len \ - {0x1 4} 0 $node1_num \ - {0x2 4} 0 $node2_num ] - puts -nonewline $channel $msg - - if { $type != "delete" } { - puts -nonewline $channel [binary format c2sW {0x3 8} 0 $delay] - puts -nonewline $channel [binary format c2sW {0x4 8} 0 $bw] - puts -nonewline $channel $per_msg - puts -nonewline $channel $dup_msg - puts -nonewline $channel [binary format c2sW {0x7 8} 0 $jitter] - } - # TODO: mer, burst, mburst - - # link type - puts -nonewline $channel [binary format c2sI {0x20 4} 0 $ltype] - - # unidirectional flag - if { $uni } { - puts -nonewline $channel [binary format c2S {0x22 2} $uni] - } - - # network ID - if { $netid > -1 } { - puts -nonewline $channel [binary format c2sI {0x24 4} 0 $netid] - } - - if { $key != "" } { - puts -nonewline $channel [binary format c2sI {0x25 4} 0 $key] - } - - # interface 1 info - if { $if1num >= 0 && ([[typemodel $node1].layer] == "NETWORK" || \ - [nodeType $node1] == "tunnel") } { - puts -nonewline $channel [ binary format c2S {0x30 2} $if1num ] - } - if { $if1ipv4 > 0 } { puts -nonewline $channel [binary format c2sIc2S \ - {0x31 4} 0 $if1ipv4 {0x32 2} $if1ipv4mask ] } - if { $if1mac != "" } { - set if1mac [join [split $if1mac ":"] ""] - puts -nonewline $channel [binary format c2x2W {0x33 8} 0x$if1mac] - } - if {$if1ipv6 != ""} { puts -nonewline $channel [binary format c2 {0x34 16}] - foreach ipv6w [split $if1ipv6 ":"] { puts -nonewline $channel \ - [binary format S 0x$ipv6w] } - puts -nonewline $channel [binary format x2c2S {0x35 2} $if1ipv6mask] } - - # interface 2 info - if { $if2num >= 0 && ([[typemodel $node2].layer] == "NETWORK" || \ - [nodeType $node2] == "tunnel") } { - puts -nonewline $channel [ binary format c2S {0x36 2} $if2num ] - } - if { $if2ipv4 > 0 } { puts -nonewline $channel [binary format c2sIc2S \ - {0x37 4} 0 $if2ipv4 {0x38 2} $if2ipv4mask ] } - if { $if2mac != "" } { - set if2mac [join [split $if2mac ":"] ""] - puts -nonewline $channel [binary format c2x2W {0x39 8} 0x$if2mac] - } - if {$if2ipv6 != ""} { puts -nonewline $channel [binary format c2 {0x40 16}] - foreach ipv6w [split $if2ipv6 ":"] { puts -nonewline $channel \ - [binary format S 0x$ipv6w] } - puts -nonewline $channel [binary format x2c2S {0x41 2} $if2ipv6mask] } - - if { $prmsg==1 } { puts ")" } - flushChannel channel "Error sending link message" - - ########################################################## - # send a second Link Message for unidirectional link effects - if { $uni < 1 } { - return - } - # first calculate length and possibly print the message - set flags 0 - if { $prmsg == 1 } { - puts -nonewline ">LINK(flags=$flags,$node2_num-$node1_num," - } - set len [expr {8+8+8}] ;# len = node2num, node1num (swapped), type - set delay [getLinkDelay $link up] - if { $delay == "" } { set delay 0 } - set jitter [getLinkJitter $link up] - if { $jitter == "" } { set jitter 0 } - set bw [getLinkBandwidth $link up] - if { $bw == "" } { set bw 0 } - set per [getLinkBER $link up]; # PER and BER - if { $per == "" } { set per 0 } - set per_len 0 - set per_msg [buildStringTLV 0x5 $per per_len] - set dup [getLinkDup $link up] - if { $dup == "" } { set dup 0 } - set dup_len 0 - set dup_msg [buildStringTLV 0x6 $dup dup_len] - incr len [expr {12+12+$per_len+$dup_len+12}] ;# delay,bw,per,dup,jitter - if {$prmsg==1 } { - puts -nonewline "$delay,$bw,$per,$dup,$jitter," - } - if { $prmsg == 1 } { puts -nonewline "type=$ltype," } - incr len 4 ;# unidirectional flag - if { $prmsg == 1 } { puts -nonewline "uni=$uni," } - # note that if1num / if2num are reversed here due to reversed node nums - if { $if2num >= 0 && ([[typemodel $node2].layer] == "NETWORK" || \ - [nodeType $node2] == "tunnel") } { - incr len 4 - if { $prmsg == 1 } { puts -nonewline "if1n=$if2num," } - } - if { $if1num >= 0 && ([[typemodel $node1].layer] == "NETWORK" || \ - [nodeType $node1] == "tunnel") } { - incr len 4 - if { $prmsg == 1 } { puts -nonewline "if2n=$if1num," } - } - # build and send the link message - set msg [binary format ccSc2sIc2sI \ - {0x2} $flags $len \ - {0x1 4} 0 $node2_num \ - {0x2 4} 0 $node1_num ] - puts -nonewline $channel $msg - puts -nonewline $channel [binary format c2sW {0x3 8} 0 $delay] - puts -nonewline $channel [binary format c2sW {0x4 8} 0 $bw] - puts -nonewline $channel $per_msg - puts -nonewline $channel $dup_msg - puts -nonewline $channel [binary format c2sW {0x7 8} 0 $jitter] - puts -nonewline $channel [binary format c2sI {0x20 4} 0 $ltype] - puts -nonewline $channel [binary format c2S {0x22 2} $uni] - if { $if2num >= 0 && ([[typemodel $node2].layer] == "NETWORK" || \ - [nodeType $node2] == "tunnel") } { - puts -nonewline $channel [ binary format c2S {0x30 2} $if2num ] - } - if { $if1num >= 0 && ([[typemodel $node1].layer] == "NETWORK" || \ - [nodeType $node1] == "tunnel") } { - puts -nonewline $channel [ binary format c2S {0x36 2} $if1num ] - } - if { $prmsg==1 } { puts ")" } - flushChannel channel "Error sending link message" -} - -# helper to get IPv4, IPv6, MAC address and increment length -# also prints TLV-style addresses if showAPI is true -proc getIfcAddrs { node ifc ipv4p ipv6p macp ipv4maskp ipv6maskp lenp } { - global showAPI - upvar $ipv4p ipv4 - upvar $ipv6p ipv6 - upvar $macp mac - upvar $ipv4maskp ipv4mask - upvar $ipv6maskp ipv6mask - upvar $lenp len - - if { $ifc == "" || $node == "" } { return } - - # IPv4 address - set ipv4str [getIfcIPv4addr $node $ifc] - if {$ipv4str != ""} { - set ipv4 [lindex [split $ipv4str /] 0] - if { [info exists ipv4mask ] } { - set ipv4mask [lindex [split $ipv4str / ] 1] - incr len 12; # 8 addr + 4 mask - if { $showAPI == 1 } { puts -nonewline "$ipv4str," } - } else { - incr len 8; # 8 addr - if { $showAPI == 1 } { puts -nonewline "$ipv4," } - } - set ipv4 [stringToIPv4 $ipv4]; # convert to integer - } - - # IPv6 address - set ipv6str [getIfcIPv6addr $node $ifc] - if {$ipv6str != ""} { - set ipv6 [lindex [split $ipv6str /] 0] - if { [info exists ipv6mask ] } { - set ipv6mask [lindex [split $ipv6str / ] 1] - incr len 24; # 20 addr + 4 mask - if { $showAPI == 1 } { puts -nonewline "$ipv6str," } - } else { - incr len 20; # 20 addr - if { $showAPI == 1 } { puts -nonewline "$ipv6," } - } - set ipv6 [expandIPv6 $ipv6]; # convert to long string - } - - # MAC address (from conf if there, otherwise generated) - if { [info exists mac] } { - set mac [lindex [getIfcMacaddr $node $ifc] 0] - if {$mac == ""} { - set mac [getNextMac] - } - if { $showAPI == 1 } { puts -nonewline "$mac," } - incr len 12; - } -} - -# -# Register Message: (registration types) -# This is a simple Register Message, types is an array of -# tuples. -proc sendRegMessage { channel flags types_list } { - global showAPI regtypes - set prmsg $showAPI - - if { $channel == -1 || $channel == "" } { - set plugin [lindex [getEmulPlugin "*"] 0] - set channel [pluginConnect $plugin connect true] - if { $channel == -1 } { return } - } - set len 0 - array set types $types_list - - # array names output is unreliable, sort it - set type_list [lsort -dict [array names types]] - foreach type $type_list { - if { ![info exists regtypes($type)] } { - puts "sendRegMessage: unknown registration type '$type'" - return -1 - } - set str_$type $types($type) - set str_${type}_len [string length [set str_$type]] - set str_${type}_pad_len [pad_32bit [set str_${type}_len]] - set str_${type}_pad [binary format x[set str_${type}_pad_len]] - incr len [expr { 2 + [set str_${type}_len] + [set str_${type}_pad_len]}] - } - - if { $prmsg == 1 } { puts ">REG($type_list)" } - # message header - set msg1 [binary format ccS 4 $flags $len] - puts -nonewline $channel $msg1 - - foreach type $type_list { - set type_num $regtypes($type) - set tlvh [binary format cc $type_num [set str_${type}_len]] - puts -nonewline $channel $tlvh[set str_${type}][set str_${type}_pad] - } - - flushChannel channel "Error: API channel was closed" -} - -# -# Configuration Message: (object, type flags, node) -# This is a simple Configuration Message containing flags -proc sendConfRequestMessage { channel node model flags netid opaque } { - global showAPI - set prmsg $showAPI - - if { $channel == -1 || $channel == "" } { - set pname [lindex [getEmulPlugin $node] 0] - set channel [pluginConnect $pname connect true] - if { $channel == -1 } { return } - } - - set model_len [string length $model] - set model_pad_len [pad_32bit $model_len] - set model_pad [binary format x$model_pad_len ] - set len [expr {4+2+$model_len+$model_pad_len}] - # optional network ID to provide Netgraph mapping - if { $netid != -1 } { incr len 8 } - # convert from node name to number - if { [string is alpha [string range $node 0 0]] } { - set node [string range $node 1 end] - } - - if { $node > 0 } { incr len 8 } - # add a session number when configuring services - set session "" - set session_len 0 - set session_pad_len 0 - set session_pad "" - if { $node <= 0 && $model == "services" } { - global g_current_session - set session [format "0x%x" $g_current_session] - set session_len [string length $session] - set session_pad_len [pad_32bit $session_len] - set session_pad [binary format x$session_pad_len] - incr len [expr {2 + $session_len + $session_pad_len}] - } - # opaque data - used when custom configuring services - set opaque_len 0 - set msgop [buildStringTLV 0x50 $opaque opaque_len] - if { $opaque_len > 0 } { incr len $opaque_len } - - if { $prmsg == 1 } { - puts -nonewline ">CONF(flags=0," - if { $node > 0 } { puts -nonewline "node=$node," } - puts -nonewline "obj=$model,cflags=$flags" - if { $session != "" } { puts -nonewline ",session=$session" } - if { $netid > -1 } { puts -nonewline ",netid=$netid" } - if { $opaque_len > 0 } { puts -nonewline ",opaque=$opaque" } - puts ") request" - } - # header, node node number, node model header - set msg1 [binary format c2S {5 0} $len ] - set msg1b "" - if { $node > 0 } { set msg1b [binary format c2sI {1 4} 0 $node] } - set msg1c [binary format cc 2 $model_len] - # request flag - set msg2 [binary format c2S {3 2} $flags ] - # session number - set msg3 "" - if { $session != "" } { - set msg3 [binary format cc 0x0A $session_len] - set msg3 $msg3$session$session_pad - } - # network ID - set msg4 "" - if { $netid != -1 } { - set msg4 [binary format c2sI {0x23 4} 0 0x$netid ] - } - - #catch {puts -nonewline $channel $msg1$model$model_pad$msg2$msg3$msg4$msg5} - puts -nonewline $channel $msg1$msg1b$msg1c$model$model_pad$msg2$msg3$msg4 - if { $opaque_len > 0 } { puts -nonewline $channel $msgop } - - flushChannel channel "Error: API channel was closed" -} - -# -# Configuration Message: (object, type flags, node, types, values) -# This message is more complicated to build because of the list of -# data types and values. -proc sendConfReplyMessage { channel node model types values opaque } { - global showAPI - set prmsg $showAPI - # convert from node name to number - if { [string is alpha [string range $node 0 0]] } { - set node [string range $node 1 end] - } - # add a session number when configuring services - set session "" - set session_len 0 - set session_pad_len 0 - set session_pad "" - if { $node <= 0 && $model == "services" && $opaque == "" } { - global g_current_session - set session [format "0x%x" $g_current_session] - set session_len [string length $session] - set session_pad_len [pad_32bit $session_len] - set session_pad [binary format x$session_pad_len] - incr len [expr {$session_len + $session_pad_len}] - } - - if { $prmsg == 1 } { - puts -nonewline ">CONF(flags=0," - if {$node > -1 } { puts -nonewline "node=$node," } - puts -nonewline "obj=$model,cflags=0" - if {$session != "" } { puts -nonewline "session=$session," } - if {$opaque != "" } { puts -nonewline "opaque=$opaque," } - puts "types=<$types>,values=<$values>) reply" - } - - # types (16-bit values) and values - set n 0 - set type_len [expr {[llength $types] * 2} ] - set type_data [binary format cc 4 $type_len] - set value_data "" - foreach type $types { - set t [binary format S $type] - set type_data $type_data$t - set val [lindex $values $n] - if { $val == "" } { - #puts "warning: empty value $n (type=$type)" - if { $type != 10 } { set val 0 } - } - incr n - lappend value_data $val - }; # end foreach - set value_len 0 - set value_data [join $value_data |] - set msgval [buildStringTLV 0x5 $value_data value_len] - set type_pad_len [pad_32bit $type_len] - set type_pad [binary format x$type_pad_len ] - set model_len [string length $model] - set model_pad_len [pad_32bit $model_len] - set model_pad [binary format x$model_pad_len ] - # opaque data - used when custom configuring services - set opaque_len 0 - set msgop [buildStringTLV 0x50 $opaque opaque_len] - - # 4 bytes header, model TLV - set len [expr 4+2+$model_len+$model_pad_len] - if { $node > -1 } { incr len 8 } - # session number - set msg3 "" - if { $session != "" } { - incr len [expr {2 + $session_len + $session_pad_len }] - set msg3 [binary format cc 0x0A $session_len] - set msg3 $msg3$session$session_pad - } - if { $opaque_len > 0 } { incr len $opaque_len } - # types TLV, values TLV - incr len [expr {2 + $type_len + $type_pad_len + $value_len}] - - # header, node node number, node model header - set msgh [binary format c2S {5 0} $len ] - set msgwl "" - if { $node > -1 } { set msgwl [binary format c2sI {1 4} 0 $node] } - set model_hdr [binary format cc 2 $model_len] - # no flags - set type_hdr [binary format c2S {3 2} 0 ] - set msg $msgh$msgwl$model_hdr$model$model_pad$type_hdr$type_data$type_pad - set msg $msg$msgval$msg3 - puts -nonewline $channel $msg - if { $opaque_len > 0 } { puts -nonewline $channel $msgop } - flushChannel channel "Error sending conf reply" -} - -# Event Message -proc sendEventMessage { channel type nodenum name data flags } { - global showAPI eventtypes - set prmsg $showAPI - - set len [expr 8] ;# event type - if {$nodenum > -1} { incr len 8 } - set name_len [string length $name] - set name_pad_len [pad_32bit $name_len] - if { $name_len > 0 } { incr len [expr {2 + $name_len + $name_pad_len}] } - set data_len [string length $data] - set data_pad_len [pad_32bit $data_len] - if { $data_len > 0 } { incr len [expr {2 + $data_len + $data_pad_len}] } - - if { $prmsg == 1 } { - puts -nonewline ">EVENT(flags=$flags," } - set msg [binary format ccS 8 $flags $len ] ;# message header - - set msg2 "" - if { $nodenum > -1 } { - if { $prmsg == 1 } { puts -nonewline "node=$nodenum," } - set msg2 [binary format c2sI {0x01 4} 0 $nodenum] - } - if { $prmsg == 1} { - set typestr "" - foreach t [array names eventtypes] { - if { $eventtypes($t) == $type } { set typestr "-$t"; break } - } - puts -nonewline "type=$type$typestr," - } - set msg3 [binary format c2sI {0x02 4} 0 $type] - set msg4 "" - set msg5 "" - if { $name_len > 0 } { - if { $prmsg == 1 } { puts -nonewline "name=$name," } - set msg4 [binary format cc 0x03 $name_len ] - set name_pad [binary format x$name_pad_len ] - set msg5 $name$name_pad - } - set msg6 "" - set msg7 "" - if { $data_len > 0 } { - if { $prmsg == 1 } { puts -nonewline "data=$data" } - set msg6 [binary format cc 0x04 $data_len ] - set data_pad [binary format x$data_pad_len ] - set msg7 $data$data_pad - } - - if { $prmsg == 1 } { puts ")" } - puts -nonewline $channel $msg$msg2$msg3$msg4$msg5$msg6$msg7 - flushChannel channel "Error sending Event type=$type" -} - - -# deploy working configuration using CORE API -# Deploys a current working configuration. It creates all the -# nodes and link as defined in configuration file. -proc deployCfgAPI { sock } { - global eid - global node_list link_list annotation_list canvas_list - global mac_byte4 mac_byte5 - global execMode - global ngnodemap - global mac_addr_start - global deployCfgAPI_lock - global eventtypes - global g_comments - - if { ![info exists deployCfgAPI_lock] } { set deployCfgAPI_lock 0 } - if { $deployCfgAPI_lock } { - puts "***error: deployCfgAPI called while deploying config" - return - } - - set deployCfgAPI_lock 1 ;# lock - - set mac_byte4 0 - set mac_byte5 0 - if { [info exists mac_addr_start] } { set mac_byte5 $mac_addr_start } - set t_start [clock seconds] - - global systype - set systype [lindex [checkOS] 0] - statgraph on [expr (2*[llength $node_list]) + [llength $link_list]] - - - sendSessionProperties $sock - - # this tells the CORE services that we are starting to send - # configuration data - # clear any existing config - sendEventMessage $sock $eventtypes(definition_state) -1 "" "" 0 - # inform CORE services about emulation servers, hook scripts, canvas info, - # and services - sendEventMessage $sock $eventtypes(configuration_state) -1 "" "" 0 - sendEmulationServerInfo $sock 0 - sendSessionOptions $sock - sendHooks $sock - sendCanvasInfo $sock - sendNodeTypeInfo $sock 0 - # send any custom service info before the node messages - sendNodeCustomServices $sock - - # send Node add messages for all emulation nodes - foreach node $node_list { - set node_id "$eid\_$node" - set type [nodeType $node] - set name [getNodeName $node] - if { $type == "pseudo" } { continue } - - statgraph inc 1 - statline "Creating node $name" - if { [[typemodel $node].layer] == "NETWORK" } { - nodeHighlights .c $node on red - } - # inform the CORE daemon of the node - sendNodeAddMessage $sock $node - pluginCapsInitialize $node "mobmodel" - writeNodeCoords $node [getNodeCoords $node] - } - - # send Link add messages for all network links - for { set pending_links $link_list } { $pending_links != "" } {} { - set link [lindex $pending_links 0] - set i [lsearch -exact $pending_links $link] - set pending_links [lreplace $pending_links $i $i] - statgraph inc 1 - - set lnode1 [lindex [linkPeers $link] 0] - set lnode2 [lindex [linkPeers $link] 1] - if { [nodeType $lnode2] == "router" && \ - [getNodeModel $lnode2] == "remote" } { - continue; # remote routers are ctrl. by GUI; TODO: move to daemon - } - sendLinkMessage $sock $link add - } - - # GUI-specific meta-data send via Configure Messages - if { [llength $annotation_list] > 0 } { - sendMetaData $sock $annotation_list "annotation" - } - sendMetaData $sock $canvas_list "canvas" ;# assume >= 1 canvas - # global GUI options - send as meta-data - set obj "metadata" - set values [getGlobalOptionList] - sendConfReplyMessage $sock -1 $obj "10" "{global_options=$values}" "" - if { [info exists g_comments] && $g_comments != "" } { - sendConfReplyMessage $sock -1 $obj "10" "{comments=$g_comments}" "" - } - - # status bar graph - statgraph off 0 - statline "Network topology instantiated in [expr [clock seconds] - $t_start] seconds ([llength $node_list] nodes and [llength $link_list] links)." - - # TODO: turn on tcpdump if enabled; customPostConfigCommands; - # addons 4 deployCfgHook - - # draw lines between wlan nodes - # initialization does not work earlier than this - - foreach node $node_list { - # WLAN handling: draw lines between wireless nodes - if { [nodeType $node] == "wlan" && $execMode == "interactive" } { - wlanRunMobilityScript $node - } - } - - sendTrafficScripts $sock - - # tell the CORE services that we are ready to instantiate - sendEventMessage $sock $eventtypes(instantiation_state) -1 "" "" 0 - - set deployCfgAPI_lock 0 ;# unlock - - statline "Network topology instantiated in [expr [clock seconds] - $t_start] seconds ([llength $node_list] nodes and [llength $link_list] links)." -} - -# -# emulation shutdown procedure when using the CORE API -proc shutdownSession {} { - global link_list node_list eid eventtypes execMode - - set nodecount [getNodeCount] - if { $nodecount == 0 } { - # This allows switching to edit mode without extra API messages, - # such as when file new is selected while running an existing session. - return - } - - # prepare the channel - set plugin [lindex [getEmulPlugin "*"] 0] - set sock [pluginConnect $plugin connect true] - - sendEventMessage $sock $eventtypes(datacollect_state) -1 "" "" 0 - - # shut down all links - foreach link $link_list { - - set lnode2 [lindex [linkPeers $link] 1] - if { [nodeType $lnode2] == "router" && \ - [getNodeModel $lnode2] == "remote" } { - continue; # remote routers are ctrl. by GUI; TODO: move to daemon - } - - sendLinkMessage $sock $link delete false - } - # shut down all nodes - foreach node $node_list { - set type [nodeType $node] - if { [[typemodel $node].layer] == "NETWORK" && $execMode != "batch" } { - nodeHighlights .c $node on red - } - sendNodeDelMessage $sock $node - pluginCapsDeinitialize $node "mobmodel" - deleteNodeCoords $node - } - - sendNodeTypeInfo $sock 1 - sendEmulationServerInfo $sock 1 -} - -# inform the CORE services about the canvas information to support -# conversion between X,Y and lat/long coordinates -proc sendCanvasInfo { sock } { - global curcanvas - - if { ![info exists curcanvas] } { return } ;# batch mode - set obj "location" - - set scale [getCanvasScale $curcanvas] - set refpt [getCanvasRefPoint $curcanvas] - set refx [lindex $refpt 0] - set refy [lindex $refpt 1] - set latitude [lindex $refpt 2] - set longitude [lindex $refpt 3] - set altitude [lindex $refpt 4] - - set types [list 2 2 10 10 10 10] - set values [list $refx $refy $latitude $longitude $altitude $scale] - - sendConfReplyMessage $sock -1 $obj $types $values "" -} - -# inform the CORE services about the default services for a node type, which -# are used when node-specific services have not been configured for a node -proc sendNodeTypeInfo { sock reset } { - global node_list - - set obj "services" - - if { $reset == 1} { - sendConfRequestMessage $sock -1 "all" 0x3 -1 "" - return - } - # build a list of node types in use - set typesinuse "" - foreach node $node_list { - set type [nodeType $node] - if { $type != "router" } { continue } - set model [getNodeModel $node] - if { [lsearch $typesinuse $model] < 0 } { lappend typesinuse $model } - } - - foreach type $typesinuse { - # build a list of type + enabled services, all strings - set values [getNodeTypeServices $type] - set values [linsert $values 0 $type] - set types [string repeat "10 " [llength $values]] - sendConfReplyMessage $sock -1 $obj $types $values "" - # send any custom profiles for a node type; node type passed in opaque - set machine_type [getNodeTypeMachineType $type] - set values [getNodeTypeProfile $type] - if { $values != "" } { - set types [string repeat "10 " [llength $values]] - sendConfReplyMessage $sock -1 $machine_type $types $values \ - "$machine_type:$type" - } - } - -} - -# inform the CORE services about any services that have been customized for -# a particular node -proc sendNodeCustomServices { sock } { - global node_list - foreach node $node_list { - set cfgs [getCustomConfig $node] - set cfgfiles "" - foreach cfg $cfgs { - set ids [split [getConfig $cfg "custom-config-id"] :] - if { [lindex $ids 0] != "service" } { continue } - if { [llength $ids] == 3 } { - # customized service config file -- build a list - lappend cfgfiles $cfg - continue - } - set s [lindex $ids 1] - set values [getConfig $cfg "config"] - set t [string repeat "10 " [llength $values]] - sendConfReplyMessage $sock $node services $t $values "service:$s" - } - # send customized service config files after the service info - foreach cfg $cfgfiles { - set idstr [getConfig $cfg "custom-config-id"] - set ids [split $idstr :] - if { [lindex $ids 0] != "service" } { continue } - set s [lindex $ids 1] - set filename [lindex $ids 2] - set data [join [getConfig $cfg "config"] "\n"] - sendFileMessage $sock $node "service:$s" $filename "" $data \ - [string length $data] - } - } -} - -# publish hooks to the CORE services -proc sendHooks { sock } { - global g_hook_scripts - if { ![info exists g_hook_scripts] } { return } - foreach hook $g_hook_scripts { - set name [lindex $hook 0] - set state [lindex $hook 1] - set data [lindex $hook 2] - # TODO: modify sendFileMessage to make node number optional - sendFileMessage $sock n0 "hook:$state" $name "" $data \ - [string length $data] - } -} - -# inform the CORE services about the emulation servers that will be used -proc sendEmulationServerInfo { sock reset } { - global exec_servers - set node -1 ;# not used - set obj "broker" - - set servernames [getAssignedRemoteServers] - if { $servernames == "" } { return } ;# not using emulation servers - - if { $reset == 1} { - sendConfRequestMessage $sock $node $obj 0x3 -1 "" - return - } - - set servers "" - foreach servername $servernames { - set host [lindex $exec_servers($servername) 0] - set port [lindex $exec_servers($servername) 1] - lappend servers "$servername:$host:$port" - } - - set serversstring [join $servers ,] - - set types [list 10] - set values [list $serversstring] - - sendConfReplyMessage $sock $node $obj $types $values "" -} - -# returns the length of node_list minus any pseudo-nodes (inter-canvas nodes) -proc getNodeCount {} { - global node_list - set nodecount 0 - foreach node $node_list { - if { [nodeType $node] != "pseudo" } { incr nodecount } - } - return $nodecount -} - -# send basic properties of a session -proc sendSessionProperties { sock } { - global currentFile CORE_DATA_DIR CORE_USER - set sessionname [file tail $currentFile] - set nodecount [getNodeCount] - if { $sessionname == "" } { set sessionname "untitled" } - set tf "/tmp/thumb.jpg" - if { ![writeCanvasThumbnail .c $tf] } { - set src "$CORE_DATA_DIR/icons/normal/thumb-unknown.gif" - set tf "/tmp/thumb.gif" - if [catch { file copy $src $tf } e] { - puts -nonewline "warning: failed to copy $src to $tf\n($e)" - set tf "" - } - } - set user $CORE_USER - sendSessionMessage $sock 0 0 $sessionname $currentFile $nodecount $tf $user -} - -# send session options from global array in Config Message -proc sendSessionOptions { sock } { - if { $sock == -1 } { - set sock [lindex [getEmulPlugin "*"] 2] - } - set values [getSessionOptionsList] - set types [string repeat "10 " [llength $values]] - sendConfReplyMessage $sock -1 "session" $types $values "" -} - -# send annotations as key=value metadata in Config Message -proc sendAnnotations { sock } { - global annotation_list - - if { $sock == -1 } { - set sock [lindex [getEmulPlugin "*"] 2] - } - set values "" - foreach a $annotation_list { - global $a - set val [set $a] - lappend values "annotation $a=$val" - } - set types [string repeat "10 " [llength $values]] - sendConfReplyMessage $sock -1 "metadata" $types $values "" -} - -# send items as key=value metadata in Config Message -proc sendMetaData { sock items itemtype } { - - if { $sock == -1 } { - set sock [lindex [getEmulPlugin "*"] 2] - } - set values "" - foreach i $items { - global $i - set val [set $i] - lappend values "$itemtype $i=$val" - } - set types [string repeat "10 " [llength $values]] - sendConfReplyMessage $sock -1 "metadata" $types $values "" -} - -# send an Event message for the definition state (this clears any existing -# state), then send all node and link definitions to the CORE services -proc sendNodeLinkDefinitions { sock } { - global node_list link_list annotation_list canvas_list eventtypes - global g_comments - #sendEventMessage $sock $eventtypes(definition_state) -1 "" "" 0 - foreach node $node_list { - sendNodeAddMessage $sock $node - pluginCapsInitialize $node "mobmodel" - } - foreach link $link_list { sendLinkMessage $sock $link add } - # GUI-specific meta-data send via Configure Messages - sendMetaData $sock $annotation_list "annotation" - sendMetaData $sock $canvas_list "canvas" - set obj "metadata" - set values [getGlobalOptionList] - sendConfReplyMessage $sock -1 $obj "10" "{global_options=$values}" "" - if { [info exists g_comments] && $g_comments != "" } { - sendConfReplyMessage $sock -1 $obj "10" "{comments=$g_comments}" "" - } -} - -proc getNodeTypeAPI { node } { - set type [nodeType $node] - if { $type == "router" } { - set model [getNodeModel $node] - set type [getNodeTypeMachineType $model] - } - switch -exact -- "$type" { - router { return 0x0 } - netns { return 0x0 } - jail { return 0x0 } - physical { return 0x1 } - tbd { return 0x3 } - lanswitch { return 0x4 } - hub { return 0x5 } - wlan { return 0x6 } - rj45 { return 0x7 } - tunnel { return 0x8 } - ktunnel { return 0x9 } - emane { return 0xA } - default { return 0x0 } - } -} - -# send an Execute message -proc sendExecMessage { channel node cmd exec_num flags } { - global showAPI g_api_exec_num - set prmsg $showAPI - - set node_num [string range $node 1 end] - set cmd_len [string length $cmd] - if { $cmd_len > 255 } { puts "sendExecMessage error: cmd too long!"; return} - set cmd_pad_len [pad_32bit $cmd_len] - set cmd_pad [binary format x$cmd_pad_len] - - if { $exec_num == 0 } { - incr g_api_exec_num - set exec_num $g_api_exec_num - } - - # node num + exec num + command string - set len [expr {8 + 8 + 2 + $cmd_len + $cmd_pad_len}] - - if { $prmsg == 1 } {puts ">EXEC(flags=$flags,$node,n=$exec_num,cmd='$cmd')" } - - set msg [binary format ccSc2sIc2sIcc \ - 3 $flags $len \ - {1 4} 0 $node_num \ - {2 4} 0 $exec_num \ - 4 $cmd_len \ - ] - puts -nonewline $channel $msg$cmd$cmd_pad - flushChannel channel "Error sending file message" -} - -# if source file (sf) is specified, then send a message that the file source -# file should be copied to the given file name (f); otherwise, include the file -# data in this message -proc sendFileMessage { channel node type f sf data data_len } { - global showAPI - set prmsg $showAPI - - set node_num [string range $node 1 end] - - set f_len [string length $f] - set f_pad_len [pad_32bit $f_len] - set f_pad [binary format x$f_pad_len] - set type_len [string length $type] - set type_pad_len [pad_32bit $type_len] - set type_pad [binary format x$type_pad_len] - if { $sf != "" } { - set sf_len [string length $sf] - set sf_pad_len [pad_32bit $sf_len] - set sf_pad [binary format x$sf_pad_len] - set data_len 0 - set data_pad_len 0 - } else { - set sf_len 0 - set sf_pad_len 0 - set data_pad_len [pad_32bit $data_len] - set data_pad [binary format x$data_pad_len] - } - # TODO: gzip compression w/tlv type 0x11 - - # node number TLV + file name TLV + ( file src name / data TLV) - set len [expr {8 + 2 + 2 + $f_len + $f_pad_len + $sf_len + $sf_pad_len \ - + $data_len + $data_pad_len}] - # 16-bit data length - if { $data_len > 255 } { - incr len 2 - if { $data_len > 65536 } { - puts -nonewline "*** error: File Message data length too large " - puts "($data_len > 65536)" - return - } - } - if { $type_len > 0 } { incr len [expr {2 + $type_len + $type_pad_len}] } - set flags 1; # add flag - - if { $prmsg == 1 } { - puts -nonewline ">FILE(flags=$flags,$node,f=$f," - if { $type != "" } { puts -nonewline "type=$type," } - if { $sf != "" } { puts "src=$sf)" - } else { puts "data=($data_len))" } - } - - set msg [binary format ccSc2sIcc \ - 6 $flags $len \ - {1 4} 0 $node_num \ - 2 $f_len \ - ] - set msg2 "" - if { $type_len > 0 } { - set msg2 [binary format cc 0x5 $type_len] - set msg2 $msg2$type$type_pad - } - if { $sf != "" } { ;# source file name TLV - set msg3 [binary format cc 0x6 $sf_len] - puts -nonewline $channel $msg$f$f_pad$msg2$msg3$sf$sf_pad - } else { ;# file data TLV - if { $data_len > 255 } { - set msg3 [binary format ccS 0x10 0 $data_len] - } else { - set msg3 [binary format cc 0x10 $data_len] - } - puts -nonewline $channel $msg$f$f_pad$msg2$msg3$data$data_pad - } - flushChannel channel "Error sending file message" -} - -# Session Message -proc sendSessionMessage { channel flags num name sfile nodecount tf user } { - global showAPI - set prmsg $showAPI - - if { $channel == -1 } { - set pname [lindex [getEmulPlugin "*"] 0] - set channel [pluginConnect $pname connect true] - if { $channel == -1 } { return } - } - - set num_len [string length $num] - set num_pad_len [pad_32bit $num_len] - set len [expr {2 + $num_len + $num_pad_len}] - if { $num_len <= 0 } { - puts "error: sendSessionMessage requires at least one session number" - return - } - set name_len [string length $name] - set name_pad_len [pad_32bit $name_len] - if { $name_len > 0 } { incr len [expr { 2 + $name_len + $name_pad_len }] } - set sfile_len [string length $sfile] - set sfile_pad_len [pad_32bit $sfile_len] - if { $sfile_len > 0 } { - incr len [expr { 2 + $sfile_len + $sfile_pad_len }] - } - set nc_len [string length $nodecount] - set nc_pad_len [pad_32bit $nc_len] - if { $nc_len > 0 } { incr len [expr { 2 + $nc_len + $nc_pad_len }] } - set tf_len [string length $tf] - set tf_pad_len [pad_32bit $tf_len] - if { $tf_len > 0 } { incr len [expr { 2 + $tf_len + $tf_pad_len }] } - set user_len [string length $user] - set user_pad_len [pad_32bit $user_len] - if { $user_len > 0 } { incr len [expr { 2 + $user_len + $user_pad_len }] } - - if { $prmsg == 1 } { - puts -nonewline ">SESSION(flags=$flags" } - set msgh [binary format ccS 0x09 $flags $len ] ;# message header - - if { $prmsg == 1 } { puts -nonewline ",sids=$num" } - set num_hdr [binary format cc 0x01 $num_len] - set num_pad [binary format x$num_pad_len ] - set msg1 "$num_hdr$num$num_pad" - - set msg2 "" - if { $name_len > 0 } { - if { $prmsg == 1 } { puts -nonewline ",name=$name" } - # TODO: name_len > 255 - set name_hdr [binary format cc 0x02 $name_len] - set name_pad [binary format x$name_pad_len] - set msg2 "$name_hdr$name$name_pad" - } - set msg3 "" - if { $sfile_len > 0 } { - if { $prmsg == 1 } { puts -nonewline ",file=$sfile" } - # TODO: sfile_len > 255 - set sfile_hdr [binary format cc 0x03 $sfile_len] - set sfile_pad [binary format x$sfile_pad_len] - set msg3 "$sfile_hdr$sfile$sfile_pad" - } - set msg4 "" - if { $nc_len > 0 } { - if { $prmsg == 1 } { puts -nonewline ",nc=$nodecount" } - set nc_hdr [binary format cc 0x04 $nc_len] - set nc_pad [binary format x$nc_pad_len] - set msg4 "$nc_hdr$nodecount$nc_pad" - } - set msg5 "" - if { $tf_len > 0 } { - if { $prmsg == 1 } { puts -nonewline ",thumb=$tf" } - set tf_hdr [binary format cc 0x06 $tf_len] - set tf_pad [binary format x$tf_pad_len] - set msg5 "$tf_hdr$tf$tf_pad" - } - set msg6 "" - if { $user_len > 0 } { - if { $prmsg == 1 } { puts -nonewline ",user=$user" } - set user_hdr [binary format cc 0x07 $user_len] - set user_pad [binary format x$user_pad_len] - set msg6 "$user_hdr$user$user_pad" - } - - if { $prmsg == 1 } { puts ")" } - puts -nonewline $channel $msgh$msg1$msg2$msg3$msg4$msg5$msg6 - flushChannel channel "Error sending Session num=$num" -} - -# return a new execution number and record it in the execution request list -# for the given callback (e.g. widget) type -proc newExecCallbackRequest { type } { - global g_api_exec_num g_execRequests - incr g_api_exec_num - set exec_num $g_api_exec_num - lappend g_execRequests($type) $exec_num - return $exec_num -} - -# ask daemon to load or save an XML file based on the current session -proc xmlFileLoadSave { cmd name } { - global oper_mode eventtypes - - set plugin [lindex [getEmulPlugin "*"] 0] - set sock [pluginConnect $plugin connect true] - if { $sock == -1 || $sock == "" } { return } - - # inform daemon about nodes and links when saving in edit mode - if { $cmd == "save" && $oper_mode != "exec" } { - sendSessionProperties $sock - # this tells the CORE services that we are starting to send - # configuration data - # clear any existing config - sendEventMessage $sock $eventtypes(definition_state) -1 "" "" 0 - sendEventMessage $sock $eventtypes(configuration_state) -1 "" "" 0 - sendEmulationServerInfo $sock 0 - sendSessionOptions $sock - sendHooks $sock - sendCanvasInfo $sock - sendNodeTypeInfo $sock 0 - # send any custom service info before the node messages - sendNodeCustomServices $sock - sendNodeLinkDefinitions $sock - } elseif { $cmd == "open" } { - # reset config objects - sendNodeTypeInfo $sock 1 - } - sendEventMessage $sock $eventtypes(file_$cmd) -1 $name "" 0 -} - -############################################################################ -# -# Helper functions below here -# - -# helper function to get interface number from name -proc ifcNameToNum { ifc } { - # eth0, eth1, etc. - if {[string range $ifc 0 2] == "eth"} { - set ifnum [string range $ifc 3 end] - # l0, l1, etc. - } else { - set ifnum [string range $ifc 1 end] - } - if { $ifnum == "" } { - return -1 - } - if {![string is integer $ifnum]} { - return -1 - } - return $ifnum -} - -# -# parse the type and length from a TLV header -proc parseTLVHeader { data current_ref } { - global showAPI - set prmsg $showAPI - upvar $current_ref current - - if { [binary scan $data @${current}cc type length] != 2 } { - if { $prmsg == 1 } { puts "TLV header error" } - return "" - } - set length [expr {$length & 0xFF}]; # convert signed to unsigned - if { $length == 0 } { - if { $type == 0 } { - # prevent endless looping - if { $prmsg == 1 } { puts -nonewline "(extra padding)" } - return "" - } else { - # support for length > 255 - incr current 2 - if { [binary scan $data @${current}S length] != 1 } { - puts "error reading TLV length (type=$type)" - return "" - } - set length [expr {$length & 0xFFFF}] - if { $length == 0 } { - # zero-length string, not length > 255 - incr current -2 - } - } - } - incr current 2 - return [list $type $length] -} - -# return the binary string, and length by reference -proc buildStringTLV { type data len_ref } { - upvar $len_ref len - set data_len [string length $data] - if { $data_len > 65536 } { - puts "warning: buildStringTLV data truncated" - set data_len 65536 - set data [string range 0 65535] - } - set data_pad_len [pad_32bit $data_len] - set data_pad [binary format x$data_pad_len] - - if { $data_len == 0 } { - set len 0 - return "" - } - - if { $data_len > 255 } { - set hdr [binary format ccS $type 0 $data_len] - set hdr_len 4 - } else { - set hdr [binary format cc $type $data_len] - set hdr_len 2 - } - - set len [expr {$hdr_len + $data_len + $data_pad_len}] - - return $hdr$data$data_pad -} - -# calculate padding to 32-bit word boundary -# 32-bit and 64-bit values are pre-padded, strings and 128-bit values are -# post-padded to word boundary, depending on type -proc pad_32bit { len } { - # total length = 2 + len + pad - if { $len < 256 } { - set hdrsiz 2 - } else { - set hdrsiz 4 - } - # calculate padding to fill 32-bit boundary - return [expr { -($hdrsiz + $len) % 4 }] -} - -proc macToString { mac_num } { - set mac_bytes "" - # convert 64-bit integer into 12-digit hex string - set mac_num 0x[format "%.12lx" $mac_num] - while { $mac_num > 0 } { - # append 8-bit hex number to list - set uchar [format "%02x" [expr $mac_num & 0xFF]] - lappend mac_bytes $uchar - # shift off 8-bits - set mac_num [expr $mac_num >> 8] - } - - # make sure we have six hex digits - set num_zeroes [expr 6 - [llength $mac_bytes]] - while { $num_zeroes > 0 } { - lappend mac_bytes 00 - incr num_zeroes -1 - } - - # this is lreverse in tcl8.5 and later - set r {} - set i [llength $mac_bytes] - while { $i > 0 } { lappend r [lindex $mac_bytes [incr i -1]] } - - return [join $r :] -} - -proc hexdump { data } { - # read data as hex - binary scan $data H* hex - # split into pairs of hex digits - regsub -all -- {..} $hex {& } hex - return $hex -} diff --git a/gui/canvas.tcl b/gui/canvas.tcl deleted file mode 100644 index 11c8217b..00000000 --- a/gui/canvas.tcl +++ /dev/null @@ -1,406 +0,0 @@ -# -# Copyright 2005-2008 University of Zagreb, Croatia. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. 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. -# -# THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. -# -# - -#****h* imunes/canvas.tcl -# NAME -# canvas.tcl -- file used for manipultaion with canvases in IMUNES -# FUNCTION -# This module is used to define all the actions used for configuring -# canvases in IMUNES. On each canvas a part of the simulation is presented -# If there is no additional canvas defined, simulation is presented on the -# defalut canvas. -# -#**** - -#****f* canvas.tcl/removeCanvas -# NAME -# removeCanvas -- remove canvas -# SYNOPSIS -# removeCanvas $canvas_id -# FUNCTION -# Removes the canvas from simulation. This function does not change the -# configuration of the nodes, i.e. nodes attached to the removed canvas -# remain attached to the same non existing canvas. -# INPUTS -# * canvas_id -- canvas id -#**** - -proc removeCanvas { canvas } { - global canvas_list $canvas - - set i [lsearch $canvas_list $canvas] - set canvas_list [lreplace $canvas_list $i $i] - set $canvas {} -} - -#****f* canvas.tcl/newCanvas -# NAME -# newCanvas -- craete new canvas -# SYNOPSIS -# set canvas_id [newCanvas $canvas_name] -# FUNCTION -# Creates new canvas. Returns the canvas_id of the new canvas. -# If the canvas_name parameter is empty, the name of the new canvas -# is set to CanvasN, where N represents the canvas_id of the new canvas. -# INPUTS -# * canvas_name -- canvas name -# RESULT -# * canvas_id -- canvas id -#**** - -proc newCanvas { name } { - global canvas_list - - set canvas [newObjectId canvas] - global $canvas - lappend canvas_list $canvas - set $canvas {} - if { $name != "" } { - setCanvasName $canvas $name - } else { - setCanvasName $canvas Canvas[string range $canvas 1 end] - } - - return $canvas -} - - -proc setCanvasSize { canvas x y } { - global $canvas - - set i [lsearch [set $canvas] "size *"] - if { $i >= 0 } { - set $canvas [lreplace [set $canvas] $i $i "size {$x $y}"] - } else { - set $canvas [linsert [set $canvas] 1 "size {$x $y}"] - } -} - -proc getCanvasSize { canvas } { - global $canvas g_prefs - - set entry [lrange [lsearch -inline [set $canvas] "size *"] 1 end] - set size [string trim $entry \{\}] - if { $size == "" } { - return "$g_prefs(gui_canvas_x) $g_prefs(gui_canvas_y)" - } else { - return $size - } -} - -#****f* canvas.tcl/getCanvasName -# NAME -# getCanvasName -- get canvas name -# SYNOPSIS -# set canvas_name [getCanvasName $canvas_id] -# FUNCTION -# Returns the name of the canvas. -# INPUTS -# * canvas_id -- canvas id -# RESULT -# * canvas_name -- canvas name -#**** - -proc getCanvasName { canvas } { - global $canvas - - set entry [lrange [lsearch -inline [set $canvas] "name *"] 1 end] - return [string trim $entry \{\}] -} - -#****f* canvas.tcl/setCanvasName -# NAME -# setCanvasName -- set canvas name -# SYNOPSIS -# setCanvasName $canvas_id $canvas_name -# FUNCTION -# Sets the name of the canvas. -# INPUTS -# * canvas_id -- canvas id -# * canvas_name -- canvas name -#**** - -proc setCanvasName { canvas name } { - global $canvas - - set i [lsearch [set $canvas] "name *"] - if { $i >= 0 } { - set $canvas [lreplace [set $canvas] $i $i "name {$name}"] - } else { - set $canvas [linsert [set $canvas] 1 "name {$name}"] - } -} - -# Boeing: canvas wallpaper support -proc getCanvasWallpaper { canvas } { - global $canvas - - set entry [lrange [lsearch -inline [set $canvas] "wallpaper *"] 1 end] - set entry2 [lrange [lsearch -inline \ - [set $canvas] "wallpaper-style *"] 1 end] - return [list [string trim $entry \{\}] [string trim $entry2 \{\}]] -} - -proc setCanvasWallpaper { canvas file style} { - global $canvas - - set i [lsearch [set $canvas] "wallpaper *"] - if { $i >= 0 } { - set $canvas [lreplace [set $canvas] $i $i "wallpaper {$file}"] - } else { - set $canvas [linsert [set $canvas] 1 "wallpaper {$file}"] - } - - set i [lsearch [set $canvas] "wallpaper-style *"] - if { $i >= 0 } { - set $canvas [lreplace [set $canvas] $i $i "wallpaper-style {$style}"] - } else { - set $canvas [linsert [set $canvas] 1 "wallpaper-style {$style}"] - } -} - -# Boeing: manage canvases -proc manageCanvasPopup { x y } { - global curcanvas CORE_DATA_DIR - - set w .entry1 - catch {destroy $w} - toplevel $w -takefocus 1 - - if { $x == 0 && $y == 0 } { - set screen [wm maxsize .] - set x [expr {[lindex $screen 0] / 4}] - set y [expr {[lindex $screen 1] / 4}] - } else { - set x [expr {$x + 10}] - set y [expr {$y - 250}] - } - wm geometry $w +$x+$y - wm title $w "Manage Canvases" - wm iconname $w "Manage Canvases" - - - ttk::frame $w.name - ttk::label $w.name.lab -text "Canvas name:" - ttk::entry $w.name.ent - $w.name.ent insert 0 [getCanvasName $curcanvas] - pack $w.name.lab $w.name.ent -side left -fill x - pack $w.name -side top -padx 4 -pady 4 - - global canvas_list - ttk::frame $w.canv - listbox $w.canv.cl -bg white -yscrollcommand "$w.canv.scroll set" - ttk::scrollbar $w.canv.scroll -orient vertical -command "$w.canv.cl yview" - foreach canvas $canvas_list { - $w.canv.cl insert end [getCanvasName $canvas] - if { $canvas == $curcanvas } { - set curindex [expr {[$w.canv.cl size] - 1}] - } - } - pack $w.canv.cl -side left -pady 4 -fill both -expand true - pack $w.canv.scroll -side left -fill y - pack $w.canv -side top -fill both -expand true -padx 4 -pady 4 - $w.canv.cl selection set $curindex - $w.canv.cl see $curindex - bind $w.canv.cl "manageCanvasSwitch $w" - - ttk::frame $w.buttons2 - foreach b {up down} { - set fn "$CORE_DATA_DIR/icons/tiny/arrow.${b}.gif" - set img$b [image create photo -file $fn] - ttk::button $w.buttons2.$b -image [set img${b}] \ - -command "manageCanvasUpDown $w $b" - } - pack $w.buttons2.up $w.buttons2.down -side left -expand 1 - pack $w.buttons2 -side top -fill x -pady 2 - - # hidden list of canvas numbers - ttk::label $w.list -text $canvas_list - - ttk::frame $w.buttons - ttk::button $w.buttons.apply -text "Apply" -command "manageCanvasApply $w" - ttk::button $w.buttons.cancel -text "Cancel" -command "destroy $w" - pack $w.buttons.apply $w.buttons.cancel -side left -expand 1 - pack $w.buttons -side bottom -fill x -pady 2m - - bind $w "destroy $w" - bind $w "manageCanvasApply $w" - -} - -# Boeing: manage canvases helper -# called when a canvas in the list is double-clicked -proc manageCanvasSwitch { w } { - global canvas_list curcanvas - set i [$w.canv.cl curselection] - if {$i == ""} { return} - set i [lindex $i 0] - set item [$w.canv.cl get $i] - - foreach canvas $canvas_list { - if {[getCanvasName $canvas] == $item} { - $w.name.ent delete 0 end - $w.name.ent insert 0 $item - set curcanvas $canvas - switchCanvas none - return - } - } -} - -# manage canvases helper -# handle the move up/down buttons for the canvas selection window -proc manageCanvasUpDown { w dir } { - global canvas_list - # get the currently selected item - set i [$w.canv.cl curselection] - if {$i == ""} { return} - set i [lindex $i 0] - set item [$w.canv.cl get $i] - - if {$dir == "down" } { - set max [expr {[llength $canvas_list] - 1}] - if {$i >= $max } { return } - set newi [expr {$i + 1}] - } else { - if {$i <= 0} { return } - set newi [expr {$i - 1}] - } - - # change the position - $w.canv.cl delete $i - $w.canv.cl insert $newi $item - $w.canv.cl selection set $newi - $w.canv.cl see $newi - - # update hidden list of canvas numbers - set new_canvas_list [$w.list cget -text] - set item [lindex $new_canvas_list $i] - set new_canvas_list [lreplace $new_canvas_list $i $i] - set new_canvas_list [linsert $new_canvas_list $newi $item] - $w.list configure -text $new_canvas_list -} - -# manage canvases helper -# called when apply button is pressed - changes the order of the canvases -proc manageCanvasApply { w } { - global canvas_list curcanvas changed - # we calculated this list earlier, making life easier here - set new_canvas_list [$w.list cget -text] - if {$canvas_list != $new_canvas_list} { - set canvas_list $new_canvas_list - } - set newname [$w.name.ent get] - destroy $w - if { $newname != [getCanvasName $curcanvas] } { - set changed 1 - } - setCanvasName $curcanvas $newname - switchCanvas none - updateUndoLog -} - -proc setCanvasScale { canvas scale } { - global $canvas - - set i [lsearch [set $canvas] "scale *"] - if { $i >= 0 } { - set $canvas [lreplace [set $canvas] $i $i "scale $scale"] - } else { - set $canvas [linsert [set $canvas] 1 "scale $scale"] - } -} - -proc getCanvasScale { canvas } { - global $canvas g_prefs - - set entry [lrange [lsearch -inline [set $canvas] "scale *"] 1 end] - set scale [string trim $entry \{\}] - if { $scale == "" } { - if { ![info exists g_prefs(gui_canvas_scale)] } { return 150.0 } - return "$g_prefs(gui_canvas_scale)" - } else { - return $scale - } -} - -proc setCanvasRefPoint { canvas refpt } { - global $canvas - - set i [lsearch [set $canvas] "refpt *"] - if { $i >= 0 } { - set $canvas [lreplace [set $canvas] $i $i "refpt {$refpt}"] - } else { - set $canvas [linsert [set $canvas] 1 "refpt {$refpt}"] - } -} - -proc getCanvasRefPoint { canvas } { - global $canvas g_prefs DEFAULT_REFPT - - set entry [lrange [lsearch -inline [set $canvas] "refpt *"] 1 end] - set altitude [string trim $entry \{\}] - if { $altitude == "" } { - if { ![info exists g_prefs(gui_canvas_refpt)] } { - return $DEFAULT_REFPT - } - return "$g_prefs(gui_canvas_refpt)" - } else { - return $altitude - } -} - -# from http://wiki.tcl.tk/1415 (MAK) -proc canvasSee { hWnd items } { - set box [eval $hWnd bbox $items] - - if {$box == ""} { return } - - if {[string match {} [$hWnd cget -scrollregion]] } { - # People really should set -scrollregion you know... - foreach {x y x1 y1} $box break - - set x [expr round(2.5 * ($x1+$x) / [winfo width $hWnd])] - set y [expr round(2.5 * ($y1+$y) / [winfo height $hWnd])] - - $hWnd xview moveto 0 - $hWnd yview moveto 0 - $hWnd xview scroll $x units - $hWnd yview scroll $y units - } else { - # If -scrollregion is set properly, use this - foreach { x y x1 y1 } $box break - foreach { top btm } [$hWnd yview] break - foreach { left right } [$hWnd xview] break - foreach { p q xmax ymax } [$hWnd cget -scrollregion] break - - set xpos [expr (($x1+$x) / 2.0) / $xmax - ($right-$left) / 2.0] - set ypos [expr (($y1+$y) / 2.0) / $ymax - ($btm-$top) / 2.0] - - $hWnd xview moveto $xpos - $hWnd yview moveto $ypos - } -} diff --git a/gui/cfgparse.tcl b/gui/cfgparse.tcl deleted file mode 100644 index 41f25594..00000000 --- a/gui/cfgparse.tcl +++ /dev/null @@ -1,1147 +0,0 @@ -# -# Copyright 2005-2008 University of Zagreb, Croatia. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. 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. -# -# THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. -# -# This work was supported in part by the Croatian Ministry of Science -# and Technology through the research contract #IP-2003-143. -# - -#****h* imunes/cfgparse.tcl -# NAME -# cfgparse.tcl -- file used for parsing the configuration -# FUNCTION -# This module is used for parsing the configuration, i.e. reading the -# configuration from a file or a string and writing the configuration -# to a file or a string. This module also contains a function for returning -# a new ID for nodes, links and canvases. -#**** - -#****f* nodecfg.tcl/dumpputs -# NAME -# dumpputs -- puts a string to a file or a string configuration -# SYNOPSIS -# dumpputs $method $destination $string -# FUNCTION -# Puts a sting to the file or appends the string configuration (used for -# undo functions), the choice depends on the value of method parameter. -# INPUTS -# * method -- method used. Possiable values are file (if saving the string -# to the file) and string (if appending the string configuration) -# * dest -- destination used. File_id for files, and string name for string -# configuration -# * string -- the string that is inserted to a file or appended to the string -# configuartion -#**** - -proc dumpputs {method dest string} { - switch -exact -- $method { - file { - puts $dest $string - } - string { - global $dest - append $dest "$string -" - } - } -} - -#****f* nodecfg.tcl/dumpCfg -# NAME -# dumpCfg -- puts the current configuraton to a file or a string -# SYNOPSIS -# dumpCfg $method $destination -# FUNCTION -# Writes the working (current) configuration to a file or a string. -# INPUTS -# * method -- used method. Possiable values are file (saving current congif -# to the file) and string (saving current config in a string) -# * dest -- destination used. File_id for files, and string name for string -# configurations -#**** - -proc dumpCfg {method dest} { - global node_list plot_list link_list canvas_list annotation_list - - global g_comments - if { [info exists g_comments] && $g_comments != "" } { - dumpputs $method $dest "comments \{" - foreach line [split $g_comments "\n"] { dumpputs $method $dest "$line" } - dumpputs $method $dest "\}" - dumpputs $method $dest "" - } - - foreach node $node_list { - global $node - upvar 0 $node lnode - dumpputs $method $dest "node $node \{" - foreach element $lnode { - if { "[lindex $element 0]" == "network-config" } { - dumpputs $method $dest " network-config \{" - foreach line [lindex $element 1] { - dumpputs $method $dest " $line" - } - dumpputs $method $dest " \}" - } elseif { "[lindex $element 0]" == "custom-config" } { - dumpputs $method $dest " custom-config \{" - foreach line [lindex $element 1] { - if { $line != {} } { - if { [catch {set str [lindex $line 0]} err] } { - puts "error loading config: $err" - puts "problem section: [lindex $element 0]" - puts "problem line: $line" - set str "" - } - if { $str == "config" } { - dumpputs $method $dest " config \{" - foreach element [lindex $line 1] { - dumpputs $method $dest " $element" - } - dumpputs $method $dest " \}" - } else { - dumpputs $method $dest " $line" - } - } - } - dumpputs $method $dest " \}" - } elseif { "[lindex $element 0]" == "ipsec-config" } { - dumpputs $method $dest " ipsec-config \{" - foreach line [lindex $element 1] { - if { $line != {} } { - dumpputs $method $dest " $line" - } - } - dumpputs $method $dest " \}" - } elseif { "[lindex $element 0]" == "custom-pre-config-commands" } { - #Boeing custom pre config commands - dumpputs $method $dest " custom-pre-config-commands \{" - foreach line [lindex $element 1] { - dumpputs $method $dest " $line" - } - dumpputs $method $dest " \}" - } elseif { "[lindex $element 0]" == "custom-post-config-commands" } { - #Boeing custom post config commands - dumpputs $method $dest " custom-post-config-commands \{" - foreach line [lindex $element 1] { - dumpputs $method $dest " $line" - } - dumpputs $method $dest " \}" - } elseif { "[lindex $element 0]" == "ine-config" } { - # Boeing: INE config support - dumpputs $method $dest " ine-config \{" - foreach line [lindex $element 1] { - dumpputs $method $dest " $line" - } - dumpputs $method $dest " \}" - # end Boeing - } else { - dumpputs $method $dest " $element" - } - } - dumpputs $method $dest "\}" - dumpputs $method $dest "" - } - - foreach obj "link annotation canvas plot" { - upvar 0 ${obj}_list obj_list - foreach elem $obj_list { - global $elem - upvar 0 $elem lelem - dumpputs $method $dest "$obj $elem \{" - foreach element $lelem { - dumpputs $method $dest " $element" - } - dumpputs $method $dest "\}" - dumpputs $method $dest "" - } - } - - global g_traffic_flows - if { [info exists g_traffic_flows] && [llength $g_traffic_flows] > 0 } { - dumpputs $method $dest "traffic \{" - foreach flow $g_traffic_flows { - dumpputs $method $dest " $flow" - } - dumpputs $method $dest "\}" - dumpputs $method $dest "" - } - - global g_hook_scripts - if { [info exists g_hook_scripts] && [llength $g_hook_scripts] > 0 } { - foreach hook $g_hook_scripts { - set name [lindex $hook 0] - set state [lindex $hook 1] - set script [lindex $hook 2] - dumpputs $method $dest "hook $state:$name \{" - # remove the final newline here because dumpputs adds a - # newline automatically - if {[string index $script end] == "\n"} { - set script [string replace $script end end] - } - dumpputs $method $dest $script - dumpputs $method $dest "\}" - dumpputs $method $dest "" - } - } - - dumpGlobalOptions $method $dest - - # session options - dumpputs $method $dest "option session \{" - foreach kv [getSessionOptionsList] { dumpputs $method $dest " $kv" } - dumpputs $method $dest "\}" - dumpputs $method $dest "" -} - -proc dumpGlobalOptions { method dest } { - global showIfNames showNodeLabels showLinkLabels - global showIfIPaddrs showIfIPv6addrs - global showBkgImage showGrid showAnnotations - global showAPI - global g_view_locked - global g_traffic_start_opt - global mac_addr_start - - dumpputs $method $dest "option global \{" - if {$showIfNames == 0} { - dumpputs $method $dest " interface_names no" - } else { - dumpputs $method $dest " interface_names yes" } - if {$showIfIPaddrs == 0} { - dumpputs $method $dest " ip_addresses no" - } else { - dumpputs $method $dest " ip_addresses yes" } - if {$showIfIPv6addrs == 0} { - dumpputs $method $dest " ipv6_addresses no" - } else { - dumpputs $method $dest " ipv6_addresses yes" } - if {$showNodeLabels == 0} { - dumpputs $method $dest " node_labels no" - } else { - dumpputs $method $dest " node_labels yes" } - if {$showLinkLabels == 0} { - dumpputs $method $dest " link_labels no" - } else { - dumpputs $method $dest " link_labels yes" } - if {$showAPI == 0} { - dumpputs $method $dest " show_api no" - } else { - dumpputs $method $dest " show_api yes" } - if {$showBkgImage == 0} { - dumpputs $method $dest " background_images no" - } else { - dumpputs $method $dest " background_images yes" } - if {$showAnnotations == 0} { - dumpputs $method $dest " annotations no" - } else { - dumpputs $method $dest " annotations yes" } - if {$showGrid == 0} { - dumpputs $method $dest " grid no" - } else { - dumpputs $method $dest " grid yes" } - if {$g_view_locked == 1} { - dumpputs $method $dest " locked yes" } - if { [info exists g_traffic_start_opt] } { - dumpputs $method $dest " traffic_start $g_traffic_start_opt" - } - if { [info exists mac_addr_start] && $mac_addr_start > 0 } { - dumpputs $method $dest " mac_address_start $mac_addr_start" - } - dumpputs $method $dest "\}" - dumpputs $method $dest "" -} - -# get the global options into a list of key=value pairs -proc getGlobalOptionList {} { - global tmp - set tmp "" - dumpGlobalOptions string tmp ;# put "options global {items}" into tmp - set items [lindex $tmp 2] - return [listToKeyValues $items] -} - -proc setGlobalOption { field value } { - global showIfNames showNodeLabels showLinkLabels - global showIfIPaddrs showIfIPv6addrs - global showBkgImage showGrid showAnnotations - global showAPI - global mac_addr_start - global g_traffic_start_opt - global g_view_locked - - switch -exact -- $field { - interface_names { - if { $value == "no" } { - set showIfNames 0 - } elseif { $value == "yes" } { - set showIfNames 1 - } - } - ip_addresses { - if { $value == "no" } { - set showIfIPaddrs 0 - } elseif { $value == "yes" } { - set showIfIPaddrs 1 - } - } - ipv6_addresses { - if { $value == "no" } { - set showIfIPv6addrs 0 - } elseif { $value == "yes" } { - set showIfIPv6addrs 1 - } - } - node_labels { - if { $value == "no" } { - set showNodeLabels 0 - } elseif { $value == "yes" } { - set showNodeLabels 1 - } - } - link_labels { - if { $value == "no" } { - set showLinkLabels 0 - } elseif { $value == "yes" } { - set showLinkLabels 1 - } - } - show_api { - if { $value == "no" } { - set showAPI 0 - } elseif { $value == "yes" } { - set showAPI 1 - } - } - background_images { - if { $value == "no" } { - set showBkgImage 0 - } elseif { $value == "yes" } { - set showBkgImage 1 - } - } - annotations { - if { $value == "no" } { - set showAnnotations 0 - } elseif { $value == "yes" } { - set showAnnotations 1 - } - } - grid { - if { $value == "no" } { - set showGrid 0 - } elseif { $value == "yes" } { - set showGrid 1 - } - } - locked { - if { $value == "yes" } { - set g_view_locked 1 - } else { - set g_view_locked 0 - } - } - mac_address_start { - set mac_addr_start $value - } - traffic_start { - set g_traffic_start_opt $value - } - } -} - -# reset global vars when opening a new file -proc cleanupGUIState {} { - global node_list link_list plot_list canvas_list annotation_list - global mac_addr_start g_comments - global g_traffic_flows g_traffic_start_opt g_hook_scripts - global g_view_locked - - set node_list {} - set link_list {} - set annotation_list {} - set plot_list {} - set canvas_list {} - set g_traffic_flows "" - set g_traffic_start_opt 0 - set g_hook_scripts "" - set g_comments "" - set g_view_locked 0 - resetSessionOptions -} - -#****f* nodecfg.tcl/loadCfg -# NAME -# loadCfg -- loads the current configuration. -# SYNOPSIS -# loadCfg $cfg -# FUNCTION -# Loads the configuration written in the cfg string to a current -# configuration. -# INPUTS -# * cfg -- string containing the new working configuration. -#**** - -proc loadCfg { cfg } { - global node_list plot_list link_list canvas_list annotation_list - global g_traffic_flows g_traffic_start_opt g_hook_scripts - global g_view_locked - global g_comments - - # maximum coordinates - set maxX 0 - set maxY 0 - set do_upgrade [upgradeOldConfig cfg] - if { $do_upgrade == "no"} { return } - - # Cleanup first - cleanupGUIState - set class "" - set object "" - foreach entry $cfg { - if {"$class" == ""} { - set class $entry - continue - } elseif {"$object" == ""} { - set object $entry - if {"$class" == "node"} { - lappend node_list $object - } elseif {"$class" == "link"} { - lappend link_list $object - } elseif {"$class" == "canvas"} { - lappend canvas_list $object - } elseif {"$class" == "plot"} { - lappend plot_list $object - } elseif {"$class" == "option"} { - # do nothing - } elseif {"$class" == "traffic"} { ;# save traffic flows - set g_traffic_flows [split [string trim $object] "\n"] - set class ""; set object ""; continue - } elseif {"$class" == "script"} { - # global_script (old config) becomes a runtime hook - set name "runtime_hook.sh" - set script [string trim $object] - lappend g_hook_scripts [list $name 4 $script] ;# 4=RUNTIME_STATE - set class ""; set object ""; continue - } elseif {"$class" == "hook"} { - continue - } elseif {"$class" == "comments"} { - set g_comments [string trim $object] - set class ""; set object ""; continue - } elseif {"$class" == "annotation"} { - lappend annotation_list $object - } else { - puts "configuration parsing error: unknown object class $class" - #exit 1 - } - # create an empty global variable named object for most objects - global $object - set $object {} - continue - } else { - set line [concat $entry] - # uses 'key=value' instead of 'key value' - if { $object == "session" } { - # 'key=value', values with space needs quoting 'key={space val}' - setSessionOptions "" [split $line "\n"] - set class "" - set object "" - continue - } - # extracts "field { value }" elements from line - if { [catch { set tmp [llength $line] } e] } { - puts "*** Error with line ('$e'):\n$line" - puts "*** Line will be skipped. This is a Tcl limitation, " - puts "*** consider using XML or fixing with whitespace." - continue - } - while {[llength $line] >= 2} { - set field [lindex $line 0] - if {"$field" == ""} { - set line [lreplace $line 0 0] - continue - } - - # consume first two list elements from line - set value [lindex $line 1] - set line [lreplace $line 0 1] - - if {"$class" == "node"} { - switch -exact -- $field { - type { - lappend $object "type $value" - } - mirror { - lappend $object "mirror $value" - } - model { - lappend $object "model $value" - } - cpu { - lappend $object "cpu {$value}" - } - interface-peer { - lappend $object "interface-peer {$value}" - } - network-config { - set cfg "" - foreach zline [split $value { -}] { - if { [string index "$zline" 0] == " " } { - set zline [string replace "$zline" 0 0] - } - lappend cfg $zline - } - set cfg [lrange $cfg 1 [expr {[llength $cfg] - 2}]] - lappend $object "network-config {$cfg}" - } - custom-enabled { - lappend $object "custom-enabled $value" - } - custom-command { - lappend $object "custom-command {$value}" - } - custom-config { - set cfg "" - set have_config 0 - set ccfg {} - foreach zline [split $value "\n"] { - if { [string index "$zline" 0] == \ - " " } { - # remove leading tab character - set zline [string replace "$zline" 0 0] - } - - # flag for config lines - if { $zline == "config \{" } { - set have_config 1 - # collect custom config lines into list - } elseif { $have_config == 1 } { - lappend ccfg $zline - # add non-config lines - } else { - lappend cfg $zline - } - } - # chop off last brace in config { } block and add it - if { $have_config } { - set ccfg [lrange $ccfg 0 \ - [expr {[llength $ccfg] - 3}]] - lappend cfg [list config $ccfg] - } - #set cfg [lrange $cfg 1 [expr {[llength $cfg] - 2}]] - lappend $object "custom-config {$cfg}" - } - ipsec-enabled { - lappend $object "ipsec-enabled $value" - } - ipsec-config { - set cfg "" - - foreach zline [split $value { -}] { - if { [string index "$zline" 0] == " " } { - set zline [string replace "$zline" 0 0] - } - lappend cfg $zline - } - set cfg [lrange $cfg 1 [expr {[llength $cfg] - 2}]] - lappend $object "ipsec-config {$cfg}" - } - iconcoords { - checkMaxCoords $value maxX maxY - lappend $object "iconcoords {$value}" - } - labelcoords { - checkMaxCoords $value maxX maxY - lappend $object "labelcoords {$value}" - } - canvas { - lappend $object "canvas $value" - } - hidden { - lappend $object "hidden $value" - } - /* { - set comment "$field $value" - foreach c $line { - lappend comment $c - # consume one element from line - set line [lreplace $line 0 0] - if { $c == "*/" } { break } - } - lappend $object "$comment" - } - - custom-pre-config-commands { - # Boeing - custom pre config commands - set cfg "" - foreach zline [split $value { -}] { - if { [string index "$zline" 0] == " " } { - set zline [string replace "$zline" 0 0] - } - lappend cfg $zline - } - set cfg [lrange $cfg 1 [expr [llength $cfg] - 2]] - lappend $object "custom-pre-config-commands {$cfg}" - } - custom-post-config-commands { - # Boeing - custom post config commands - set cfg "" - foreach zline [split $value { -}] { - if { [string index "$zline" 0] == " " } { - set zline [string replace "$zline" 0 0] - } - lappend cfg $zline - } - set cfg [lrange $cfg 1 [expr [llength $cfg] - 2]] - lappend $object "custom-post-config-commands {$cfg}" - } - custom-image { - # Boeing - custom-image - lappend $object "custom-image $value" - } - ine-config { - # Boeing - INE - set cfg "" - foreach zline [split $value { -}] { - if { [string index "$zline" 0] == " " } { - set zline [string replace "$zline" 0 0] - } - lappend cfg $zline - } - set cfg [lrange $cfg 1 [expr [llength $cfg] - 2]] - lappend $object "ine-config {$cfg}" - } - tunnel-peer { - # Boeing - Span tunnels - lappend $object "tunnel-peer {$value}" - } - range { - # Boeing - WLAN range - lappend $object "range $value" - } - bandwidth { - # Boeing - WLAN bandwidth - lappend $object "bandwidth $value" - } - cli-enabled { - puts "Warning: cli-enabled setting is deprecated" - } - delay { - # Boeing - WLAN delay - lappend $object "delay $value" - } - ber { - # Boeing - WLAN BER - lappend $object "ber $value" - } - location { - # Boeing - node location - lappend $object "location $value" - } - os { - # Boeing - node OS - # just ignore it, set at runtime - } - services { - lappend $object "services {$value}" - } - - default { - # Boeing - added warning - puts -nonewline "config file warning: unknown confi" - puts "guration item '$field' ignored for $object" - } - } - } elseif {"$class" == "plot"} { - switch -exact -- $field { - name { - lappend $object "name $value" - } - height { - lappend $object "height $value" - } - width { - lappend $object "width $value" - } - x { - lappend $object "x $value" - } - y { - lappend $object "y $value" - } - color { - lappend $object "color $value" - } - } - } elseif {"$class" == "link"} { - switch -exact -- $field { - nodes { - lappend $object "nodes {$value}" - } - mirror { - lappend $object "mirror $value" - } - bandwidth - - delay - - ber - - duplicate - - jitter { - if { [llength $value] > 1 } { ;# down/up-stream - lappend $object "$field {$value}" - } else { - lappend $object "$field $value" - } - } - color { - lappend $object "color $value" - } - width { - lappend $object "width $value" - } - default { - # this enables opaque data to be stored along with - # each link (any key is stored) - lappend $object "$field $value" - # Boeing - added warning - #puts -nonewline "config file warning: unknown conf" - #puts "iguration item '$field' ignored for $object" - } - } - } elseif {"$class" == "canvas"} { - switch -exact -- $field { - name { - lappend $object "name {$value}" - } - size { - lappend $object "size {$value}" - } - bkgImage { - lappend $object "wallpaper {$value}" - } - wallpaper { - lappend $object "wallpaper {$value}" - } - wallpaper-style { - lappend $object "wallpaper-style {$value}" - } - scale { - lappend $object "scale {$value}" - } - refpt { - lappend $object "refpt {$value}" - } - } - } elseif {"$class" == "option"} { - setGlobalOption $field $value - } elseif {"$class" == "annotation"} { - switch -exact -- $field { - type { - lappend $object "type $value" - } - iconcoords { - lappend $object "iconcoords {$value}" - } - color { - lappend $object "color $value" - } - border { - lappend $object "border $value" - } - label { - lappend $object "label {$value}" - } - labelcolor { - lappend $object "labelcolor $value" - } - size { - lappend $object "size $value" - } - canvas { - lappend $object "canvas $value" - } - font { - lappend $object "font {$value}" - } - fontfamily { - lappend $object "fontfamily {$value}" - } - fontsize { - lappend $object "fontsize {$value}" - } - effects { - lappend $object "effects {$value}" - } - width { - lappend $object "width $value" - } - rad { - lappend $object "rad $value" - } - } ;# end switch - } elseif {"$class" == "hook"} { - set state_name [split $object :] - if { [llength $state_name] != 2 } { - puts "invalid hook in config file" - continue - } - set state [lindex $state_name 0] - set name [lindex $state_name 1] - set lines [split $entry "\n"] - set lines [lreplace $lines 0 0] ;# chop extra newline - set lines [join $lines "\n"] - set hook [list $name $state $lines] - lappend g_hook_scripts $hook - set line "" ;# exit this while loop - } ;#endif class - } - } - set class "" - set object "" - } - - # - # Hack for comaptibility with old format files (no canvases) - # - if { $canvas_list == "" } { - set curcanvas [newCanvas ""] - foreach node $node_list { - setNodeCanvas $node $curcanvas - } - } - - - # auto resize canvas - set curcanvas [lindex $canvas_list 0] - set newX 0 - set newY 0 - if { $maxX > [lindex [getCanvasSize $curcanvas] 0] } { - set newX [expr {$maxX + 50}] - } - if { $maxY > [lindex [getCanvasSize $curcanvas] 1] } { - set newY [expr {$maxY + 50}] - } - if { $newX > 0 || $newY > 0 } { - if { $newX == 0 } { set newX [lindex [getCanvasSize $curcanvas] 0] } - if { $newY == 0 } { set newY [lindex [getCanvasSize $curcanvas] 1] } - setCanvasSize $curcanvas $newX $newY - } - - # extra upgrade steps - if { $do_upgrade == "yes" } { - upgradeNetworkConfigToServices - } - upgradeConfigRemoveNode0 - upgradeConfigServices - upgradeWlanConfigs -} - -#****f* nodecfg.tcl/newObjectId -# NAME -# newObjectId -- new object Id -# SYNOPSIS -# set obj_id [newObjectId $type] -# FUNCTION -# Returns the Id for a new object of the defined type. Supported types -# are node, link and canvas. The Id is in the form $mark$number. $mark is the -# first letter of the given type and $number is the first available number to -# that can be used for id. -# INPUTS -# * type -- the type of the new object. Can be node, link or canvas. -# RESULT -# * obj_id -- object Id in the form $mark$number. $mark is the -# first letter of the given type and $number is the first available number to -# that can be used for id. -#**** - -proc newObjectId { type } { - global node_list link_list annotation_list canvas_list - - set mark [string range [set type] 0 0] - set id 1 ;# start numbering at 1, not 0 - while {[lsearch [set [set type]_list] "$mark$id"] != -1} { - incr id - } - return $mark$id -} - - - -# Boeing: pick a new link id for temporary newlinks -proc newlinkId { } { - global link_list - set id [newObjectId link] - set mark "l" - set id 0 - - # alllinks contains a list of all existing and new links - set alllinks $link_list - foreach newlink [.c find withtag "newlink"] { - set newlinkname [lindex [.c gettags $newlink] 1] - lappend alllinks $newlinkname - } - - while {[lsearch $alllinks "$mark$id"] != -1 } { - incr id - } - return $mark$id -} - -# Boeing: helper fn to determine canvas size during load -proc checkMaxCoords { str maxXp maxYp } { - upvar 1 $maxXp maxX - upvar 1 $maxYp maxY - set x [lindex $str 0] - set y [lindex $str 1] - if { $x > $maxX } { - set maxX $x - } - if { $y > $maxY } { - set maxY $y - } - if { [llength $str] == 4 } { - set x [lindex $str 2] - set y [lindex $str 3] - if { $x > $maxX } { - set maxX $x - } - if { $y > $maxY } { - set maxY $y - } - } -} - -# Boeing: pick a router for OSPF -proc newRouterId { type node } { - set mark [string range [set type] 0 0] - for { set id 0 } { $node != "$mark$id" } { incr id } { - } - return "0.0.0.${id}" -} -# end Boeing - -# Boeing: load servers.conf file into exec_servers array -proc loadServersConf { } { - global CONFDIR exec_servers DEFAULT_API_PORT - set confname "$CONFDIR/servers.conf" - if { [catch { set f [open "$confname" r] } ] } { - puts "Creating a default $confname" - if { [catch { set f [open "$confname" w+] } ] } { - puts "***Warning: could not create a default $confname file." - return - } - puts $f "core1 192.168.0.2 $DEFAULT_API_PORT" - puts $f "core2 192.168.0.3 $DEFAULT_API_PORT" - close $f - if { [catch { set f [open "$confname" r] } ] } { - return - } - } - - array unset exec_servers - - while { [ gets $f line ] >= 0 } { - if { [string range $line 0 0] == "#" } { continue } ;# skip comments - set l [split $line] ;# parse fields separated by whitespace - set name [lindex $l 0] - set ip [lindex $l 1] - set port [lindex $l 2] - set sock -1 - if { $name == "" } { continue } ;# blank name - # load array of servers - array set exec_servers [list $name [list $ip $port $sock]] - } - close $f -} -# end Boeing - -# Boeing: write servers.conf file from exec_servers array -proc writeServersConf { } { - global CONFDIR exec_servers - set confname "$CONFDIR/servers.conf" - if { [catch { set f [open "$confname" w] } ] } { - puts "***Warning: could not write servers file: $confname" - return - } - - set header "# servers.conf: list of CORE emulation servers for running" - set header "$header remotely." - puts $f $header - foreach server [lsort -dictionary [array names exec_servers]] { - set ip [lindex $exec_servers($server) 0] - set port [lindex $exec_servers($server) 1] - puts $f "$server $ip $port" - } - close $f -} -# end Boeing - -# display the preferences dialog -proc popupPrefs {} { - global EDITORS TERMS - - set wi .core_prefs - catch { destroy $wi } - toplevel $wi - - wm transient $wi . - wm resizable $wi 0 0 - wm title $wi "Preferences" - - global g_prefs g_prefs_old - array set g_prefs_old [array get g_prefs] - - # - # Paths - # - labelframe $wi.dirs -borderwidth 4 -text "Paths" -relief raised - frame $wi.dirs.conf - label $wi.dirs.conf.label -text "Default configuration file path:" - entry $wi.dirs.conf.entry -bg white -width 40 \ - -textvariable g_prefs(default_conf_path) - pack $wi.dirs.conf.label $wi.dirs.conf.entry -side left - pack $wi.dirs.conf -side top -anchor w -padx 4 -pady 4 - - frame $wi.dirs.mru - label $wi.dirs.mru.label -text "Number of recent files to remember:" - entry $wi.dirs.mru.num -bg white -width 3 \ - -textvariable g_prefs(num_recent) - button $wi.dirs.mru.clear -text "Clear recent files" \ - -command "addFileToMrulist \"\"" - pack $wi.dirs.mru.label $wi.dirs.mru.num $wi.dirs.mru.clear -side left - pack $wi.dirs.mru -side top -anchor w -padx 4 -pady 4 - - pack $wi.dirs -side top -fill x - - # - # Window - # - labelframe $wi.win -borderwidth 4 -text "GUI Window" -relief raised - frame $wi.win.win - checkbutton $wi.win.win.savepos -text "remember window position" \ - -variable g_prefs(gui_save_pos) - checkbutton $wi.win.win.savesiz -text "remember window size" \ - -variable g_prefs(gui_save_size) - pack $wi.win.win.savepos $wi.win.win.savesiz -side left -anchor w -padx 4 - pack $wi.win.win -side top -anchor w -padx 4 -pady 4 - - frame $wi.win.a - checkbutton $wi.win.a.snaptogrid -text "snap to grid" \ - -variable g_prefs(gui_snap_grid) - checkbutton $wi.win.a.showtooltips -text "show tooltips" \ - -variable g_prefs(gui_show_tooltips) - pack $wi.win.a.snaptogrid $wi.win.a.showtooltips \ - -side left -anchor w -padx 4 - pack $wi.win.a -side top -anchor w -padx 4 -pady 4 - - frame $wi.win.canv - label $wi.win.canv.label -text "Default canvas size:" - entry $wi.win.canv.x -bg white -width 5 -textvariable g_prefs(gui_canvas_x) - entry $wi.win.canv.y -bg white -width 5 -textvariable g_prefs(gui_canvas_y) - label $wi.win.canv.label2 -text "Default # of canvases:" - entry $wi.win.canv.num -bg white -width 5 \ - -textvariable g_prefs(gui_num_canvases) - pack $wi.win.canv.label $wi.win.canv.x $wi.win.canv.y \ - $wi.win.canv.label2 $wi.win.canv.num \ - -side left -anchor w -padx 4 - pack $wi.win.canv -side top -anchor w -padx 4 -pady 4 - pack $wi.win -side top -fill x - - # - # Programs - # - labelframe $wi.pr -borderwidth 4 -text "Programs" -relief raised - - frame $wi.pr.editor - label $wi.pr.editor.label -text "Text editor:" - set editors [linsert $EDITORS 0 "EDITOR"] - ttk::combobox $wi.pr.editor.combo -width 10 -exportselection 0 \ - -values $editors -textvariable g_prefs(gui_text_editor) - label $wi.pr.editor.label2 -text "Terminal program:" - set terms [linsert $TERMS 0 "TERM"] - ttk::combobox $wi.pr.editor.combo2 -width 20 -exportselection 0 \ - -values $terms -textvariable g_prefs(gui_term_prog) - pack $wi.pr.editor.label $wi.pr.editor.combo -padx 4 -pady 4 -side left - pack $wi.pr.editor.label2 $wi.pr.editor.combo2 -padx 4 -pady 4 -side left - pack $wi.pr.editor -side top -anchor w -padx 4 -pady 4 - - frame $wi.pr.3d - label $wi.pr.3d.label -text "3D GUI command:" - entry $wi.pr.3d.entry -bg white -width 40 -textvariable g_prefs(gui_3d_path) - pack $wi.pr.3d.label $wi.pr.3d.entry -side left -padx 4 -pady 4 - pack $wi.pr.3d -side top -anchor w -padx 4 -pady 4 - - pack $wi.pr -side top -fill x - - # - # Buttons at the bottom - # - frame $wi.bot -borderwidth 0 - button $wi.bot.apply -text "Save" -command "savePrefsFile; destroy $wi" - button $wi.bot.defaults -text "Load defaults" -command initDefaultPrefs - button $wi.bot.cancel -text "Cancel" -command { - global g_prefs g_prefs_old - array set g_prefs [array get g_prefs_old] - destroy .core_prefs - } - pack $wi.bot.cancel $wi.bot.defaults $wi.bot.apply -side right - pack $wi.bot -side bottom -fill x - after 100 { - catch { grab .core_prefs } - } -} - -# initialize preferences array with default values -proc initDefaultPrefs {} { - global g_prefs CONFDIR SBINDIR DEFAULT_REFPT tcl_platform - - # variable expansions must be done here - array set g_prefs [list default_conf_path "$CONFDIR/configs"] - array set g_prefs [list gui_canvas_refpt "$DEFAULT_REFPT"] - set shell "bash" - array set g_prefs [list shell $shell] - array set g_prefs [list gui_text_editor [get_text_editor true]] - array set g_prefs [list gui_term_prog [get_term_prog true]] - setDefaultAddrs ipv4 - setDefaultAddrs ipv6 - # preferences will be reordered alphabetically - array set g_prefs { - num_recent 4 - log_path "/tmp/core_logs" - gui_save_pos 0 - gui_save_size 0 - gui_snap_grid 0 - gui_show_tooltips 1 - gui_canvas_x 1000 - gui_canvas_y 750 - gui_canvas_scale 150.0 - gui_num_canvases 1 - gui_3d_path "/usr/local/bin/sdt3d.sh" - } - # add new preferences above; keep this at the end of the file -} - - diff --git a/gui/configs/sample1-bg.gif b/gui/configs/sample1-bg.gif deleted file mode 100644 index 98344744698658e0fdbc19a8be28f9bf065018c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319126 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

    NU9e(u@he7O? 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

    uvBR5V{f}J-cJ3y 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�p?wYX4M{|;z0QetGSy4BB6qLhTB>RQV~-Ph#j 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 v&=+@&p7_)!bWV9_&7i6OSe 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 HKmY(cCWiQ$ diff --git a/gui/configs/sample1.imn b/gui/configs/sample1.imn deleted file mode 100644 index da646f1d..00000000 --- a/gui/configs/sample1.imn +++ /dev/null @@ -1,462 +0,0 @@ -node n1 { - type router - model router - network-config { - hostname n1 - ! - interface eth1 - ip address 10.0.5.1/24 - ipv6 address a:5::1/64 - ! - interface eth0 - ip address 10.0.3.2/24 - ipv6 address a:3::2/64 - ! - } - canvas c1 - iconcoords {384.0 456.0} - labelcoords {384.0 484.0} - interface-peer {eth0 n2} - interface-peer {eth1 n15} -} - -node n2 { - type router - model router - network-config { - hostname n2 - ! - interface eth2 - ip address 10.0.4.1/24 - ipv6 address a:4::1/64 - ! - interface eth1 - ip address 10.0.3.1/24 - ipv6 address a:3::1/64 - ! - interface eth0 - ip address 10.0.2.2/24 - ipv6 address a:2::2/64 - ! - } - canvas c1 - iconcoords {264.0 432.0} - labelcoords {264.0 460.0} - interface-peer {eth0 n3} - interface-peer {eth1 n1} - interface-peer {eth2 n15} -} - -node n3 { - type router - model router - network-config { - hostname n3 - ! - interface eth1 - ip address 10.0.2.1/24 - ipv6 address a:2::1/64 - ! - interface eth0 - ip address 10.0.1.1/24 - ipv6 address a:1::1/64 - ! - } - canvas c1 - iconcoords {120.0 360.0} - labelcoords {120.0 388.0} - interface-peer {eth0 n4} - interface-peer {eth1 n2} -} - -node n4 { - type lanswitch - network-config { - hostname n4 - ! - } - canvas c1 - iconcoords {192.0 252.0} - labelcoords {192.0 280.0} - interface-peer {e0 n3} - interface-peer {e1 n11} - interface-peer {e2 n12} - interface-peer {e3 n13} - interface-peer {e4 n14} -} - -node n5 { - type router - model mdr - network-config { - hostname n5 - ! - interface eth0 - ipv6 address a:0::3/128 - ip address 10.0.0.5/32 - ! - interface eth1 - ip address 10.0.6.2/24 - ipv6 address a:6::2/64 - ! - } - canvas c1 - iconcoords {540.0 348.0} - labelcoords {540.0 376.0} - interface-peer {eth0 n10} - interface-peer {eth1 n15} - services {zebra OSPFv2 OSPFv3MDR IPForward} -} - -node n6 { - type router - model mdr - network-config { - hostname n6 - ! - interface eth0 - ip address 10.0.0.6/32 - ipv6 address a:0::6/128 - ! - } - canvas c1 - iconcoords {780.0 228.0} - labelcoords {780.0 252.0} - interface-peer {eth0 n10} -} - -node n7 { - type router - model mdr - network-config { - hostname n7 - ! - interface eth0 - ip address 10.0.0.7/32 - ipv6 address a:0::7/128 - ! - } - canvas c1 - iconcoords {816.0 348.0} - labelcoords {816.0 372.0} - interface-peer {eth0 n10} -} - -node n8 { - type router - model mdr - network-config { - hostname n8 - ! - interface eth0 - ip address 10.0.0.8/32 - ipv6 address a:0::8/128 - ! - } - canvas c1 - iconcoords {672.0 420.0} - labelcoords {672.0 444.0} - interface-peer {eth0 n10} -} - -node n9 { - type router - model mdr - network-config { - hostname n9 - ! - interface eth0 - ip address 10.0.0.9/32 - ipv6 address a:0::9/128 - ! - } - canvas c1 - iconcoords {672.0 96.0} - labelcoords {672.0 120.0} - interface-peer {eth0 n10} -} - -node n10 { - type wlan - network-config { - hostname wlan10 - ! - interface wireless - ip address 10.0.0.0/32 - ipv6 address a:0::0/128 - ! - mobmodel - coreapi - basic_range - ns2script - ! - } - canvas c1 - iconcoords {852.0 564.0} - labelcoords {852.0 596.0} - interface-peer {e0 n8} - interface-peer {e1 n7} - interface-peer {e2 n5} - interface-peer {e3 n6} - interface-peer {e4 n9} - custom-config { - custom-config-id basic_range - custom-command {3 3 9 9 9} - config { - range=240 - bandwidth=54000000 - jitter=0 - delay=50000 - error=0 - } - } - custom-config { - custom-config-id ns2script - custom-command {10 3 11 10 10} - config { - file=sample1.scen - refresh_ms=50 - loop=1 - autostart=5 - map= - } - } -} - -node n11 { - type router - model PC - network-config { - hostname n11 - ! - interface eth0 - ip address 10.0.1.20/24 - ipv6 address a:1::20/64 - ! - } - canvas c1 - iconcoords {192.0 156.0} - labelcoords {192.0 188.0} - interface-peer {eth0 n4} -} - -node n12 { - type router - model PC - network-config { - hostname n12 - ! - interface eth0 - ip address 10.0.1.21/24 - ipv6 address a:1::21/64 - ! - } - canvas c1 - iconcoords {264.0 156.0} - labelcoords {264.0 188.0} - interface-peer {eth0 n4} -} - -node n13 { - type router - model PC - network-config { - hostname n13 - ! - interface eth0 - ip address 10.0.1.22/24 - ipv6 address a:1::22/64 - ! - } - canvas c1 - iconcoords {336.0 156.0} - labelcoords {336.0 188.0} - interface-peer {eth0 n4} -} - -node n14 { - type router - model host - network-config { - hostname n14 - ! - interface eth0 - ip address 10.0.1.10/24 - ipv6 address a:1::10/64 - ! - } - canvas c1 - iconcoords {348.0 228.0} - labelcoords {348.0 260.0} - interface-peer {eth0 n4} -} - -node n15 { - type router - model router - network-config { - hostname n15 - ! - interface eth2 - ip address 10.0.6.1/24 - ipv6 address a:6::1/64 - ! - interface eth1 - ip address 10.0.5.2/24 - ipv6 address a:5::2/64 - ! - interface eth0 - ip address 10.0.4.2/24 - ipv6 address a:4::2/64 - ! - } - canvas c1 - iconcoords {384.0 312.0} - labelcoords {384.0 340.0} - interface-peer {eth0 n2} - interface-peer {eth1 n1} - interface-peer {eth2 n5} -} - -link l1 { - nodes {n10 n8} - bandwidth 11000000 - delay 25000 -} - -link l0 { - nodes {n10 n7} - bandwidth 11000000 - delay 25000 -} - -link l2 { - nodes {n10 n5} - bandwidth 11000000 - delay 25000 -} - -link l3 { - nodes {n10 n6} - bandwidth 11000000 - delay 25000 -} - -link l4 { - nodes {n10 n9} - bandwidth 11000000 - delay 25000 -} - -link l5 { - nodes {n3 n4} - bandwidth 100000000 -} - -link l6 { - delay 25000 - nodes {n3 n2} - bandwidth 100000000 -} - -link l7 { - nodes {n2 n1} - bandwidth 100000000 -} - -link l8 { - delay 50000 - nodes {n2 n15} - bandwidth 100000000 -} - -link l9 { - nodes {n1 n15} - bandwidth 100000000 -} - -link l10 { - nodes {n15 n5} - bandwidth 100000000 -} - -link l11 { - nodes {n4 n11} - bandwidth 100000000 -} - -link l12 { - nodes {n4 n12} - bandwidth 100000000 -} - -link l13 { - nodes {n4 n13} - bandwidth 100000000 -} - -link l14 { - nodes {n4 n14} - bandwidth 100000000 -} - -annotation a0 { - iconcoords {612.0 492.0} - type text - label {wireless network} - labelcolor black - fontfamily {Arial} - fontsize {12} - effects {bold} - canvas c1 -} - -annotation a1 { - iconcoords {142.0 112.0 393.0 291.0} - type rectangle - label {} - labelcolor black - fontfamily {Arial} - fontsize {12} - color #ebebde - width 1 - border #ffffff - rad 25 - canvas c1 -} - -annotation a2 { - iconcoords {492.0 384.0} - type text - label {gateway} - labelcolor black - fontfamily {Arial} - fontsize {12} - effects {bold} - canvas c1 -} - -canvas c1 { - name {Canvas1} - wallpaper-style {upperleft} - wallpaper {sample1-bg.gif} -} - -option global { - interface_names no - ip_addresses yes - ipv6_addresses no - node_labels yes - link_labels yes - ipsec_configs yes - exec_errors no - show_api no - background_images no - annotations yes - grid no - traffic_start 0 -} - -option session { -} - diff --git a/gui/configs/sample1.scen b/gui/configs/sample1.scen deleted file mode 100644 index c2fc5a44..00000000 --- a/gui/configs/sample1.scen +++ /dev/null @@ -1,28 +0,0 @@ -# -# nodes: 4, max time: 27.000000, max x: 600.00, max y: 600.00 -# nominal range: 300.00 link bw: 54000000.00 -# pause: 30.00, min speed 1.50 max speed: 4.50 - -$node_(6) set X_ 780.0 -$node_(6) set Y_ 228.0 -$node_(6) set Z_ 0.00 -$node_(7) set X_ 816.0 -$node_(7) set Y_ 348.0 -$node_(7) set Z_ 0.00 -$node_(8) set X_ 672.0 -$node_(8) set Y_ 420.0 -$node_(8) set Z_ 0.00 -$node_(9) set X_ 672.0 -$node_(9) set Y_ 96.0 -$node_(9) set Z_ 0.00 -$ns_ at 1.00 "$node_(6) setdest 500.0 178.0 25.0" -$ns_ at 2.00 "$node_(7) setdest 400.0 288.0 15.0" -$ns_ at 1.00 "$node_(8) setdest 590.0 520.0 17.0" -$ns_ at 3.00 "$node_(9) setdest 720.0 300.0 20.0" -$ns_ at 8.00 "$node_(7) setdest 600.0 350.0 10.0" -$ns_ at 9.00 "$node_(8) setdest 730.0 300.0 15.0" -$ns_ at 10.00 "$node_(6) setdest 600.0 108.0 10.0" -$ns_ at 16.00 "$node_(9) setdest 672.0 96.0 20.0" -$ns_ at 17.00 "$node_(7) setdest 816.0 348.0 20.0" -$ns_ at 18.00 "$node_(6) setdest 780.0 228.0 25.0" -$ns_ at 22.00 "$node_(8) setdest 672.0 420.0 20.0" diff --git a/gui/configs/sample10-kitchen-sink.imn b/gui/configs/sample10-kitchen-sink.imn deleted file mode 100644 index dacee547..00000000 --- a/gui/configs/sample10-kitchen-sink.imn +++ /dev/null @@ -1,848 +0,0 @@ -comments { -Kitchen Sink -============ - -Contains every type of node available in CORE, except for physical (prouter) -machine types, and nodes distributed on other emulation servers. - -To get the RJ45 node to work, a test0 interface should first be created like this: - sudo ip link add name test0 type veth peer name test0.1 - -wlan15 uses the basic range model, while wlan24 uses EMANE 802.11 - -gateway nodes n11 and n20 are customized to redistribute routing between OSPFv2 and -OSPFv3 MDR (the MANET networks) -} - -node n1 { - type router - model router - network-config { - hostname n1 - ! - interface eth2 - ip address 10.0.11.2/24 - ipv6 address 2001:11::2/64 - ! - interface eth1 - ip address 10.0.3.1/24 - ipv6 address 2001:3::1/64 - ! - interface eth0 - ip address 10.0.2.1/24 - ipv6 address 2001:2::1/64 - ! - } - canvas c1 - iconcoords {288.0 264.0} - labelcoords {288.0 292.0} - interface-peer {eth0 n3} - interface-peer {eth1 n2} - interface-peer {eth2 n20} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif -} - -node n2 { - type router - model router - network-config { - hostname n2 - ! - interface eth2 - ip address 10.0.5.2/24 - ipv6 address 2001:5::2/64 - ! - interface eth1 - ip address 10.0.3.2/24 - ipv6 address 2001:3::2/64 - ! - interface eth0 - ip address 10.0.0.1/24 - ipv6 address 2001:0::1/64 - ! - } - canvas c1 - iconcoords {576.0 264.0} - labelcoords {576.0 292.0} - interface-peer {eth0 n5} - interface-peer {eth1 n1} - interface-peer {eth2 n19} -} - -node n3 { - type router - model router - network-config { - hostname n3 - ! - interface eth3 - ip address 10.0.9.1/24 - ipv6 address 2001:9::1/64 - ! - interface eth2 - ip address 10.0.4.1/24 - ipv6 address 2001:4::1/64 - ! - interface eth1 - ip address 10.0.2.2/24 - ipv6 address 2001:2::2/64 - ! - interface eth0 - ip address 10.0.1.1/24 - ipv6 address 2001:1::1/64 - ! - } - canvas c1 - iconcoords {288.0 408.0} - labelcoords {288.0 436.0} - interface-peer {eth0 n4} - interface-peer {eth1 n1} - interface-peer {eth2 n19} - interface-peer {eth3 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif -} - -node n4 { - type hub - network-config { - hostname n4 - ! - } - canvas c1 - iconcoords {216.0 528.0} - labelcoords {216.0 552.0} - interface-peer {e0 n3} - interface-peer {e1 n16} - interface-peer {e2 n17} - interface-peer {e3 n18} -} - -node n5 { - type lanswitch - network-config { - hostname n5 - ! - } - canvas c1 - iconcoords {672.0 264.0} - labelcoords {672.0 288.0} - interface-peer {e0 n2} - interface-peer {e1 n6} - interface-peer {e2 n7} - interface-peer {e3 n8} - interface-peer {e4 n25} -} - -node n6 { - type router - model host - network-config { - hostname n6 - ! - interface eth0 - ip address 10.0.0.10/24 - ipv6 address 2001:0::10/64 - ! - } - canvas c1 - iconcoords {792.0 216.0} - labelcoords {792.0 248.0} - interface-peer {eth0 n5} -} - -node n7 { - type router - model host - network-config { - hostname n7 - ! - interface eth0 - ip address 10.0.0.11/24 - ipv6 address 2001:0::11/64 - ! - } - canvas c1 - iconcoords {792.0 288.0} - labelcoords {792.0 320.0} - interface-peer {eth0 n5} -} - -node n8 { - type router - model host - network-config { - hostname n8 - ! - interface eth0 - ip address 10.0.0.12/24 - ipv6 address 2001:0::12/64 - ! - } - canvas c1 - iconcoords {792.0 360.0} - labelcoords {792.0 392.0} - interface-peer {eth0 n5} -} - -node n9 { - type rj45 - network-config { - hostname test0 - ! - } - canvas c1 - iconcoords {576.0 528.0} - labelcoords {576.0 556.0} - interface-peer {0 n19} -} - -node n10 { - type tunnel - network-config { - hostname 10.250.0.91 - ! - interface e0 - ip address 10.250.0.91/24 - ! - tunnel-type - UDP - ! - tunnel-tap - off - ! - tunnel-key - 1 - ! - } - canvas c1 - iconcoords {672.0 504.0} - labelcoords {672.0 536.0} - interface-peer {e0 n19} -} - -node n11 { - type router - model mdr - network-config { - hostname n11 - ! - interface eth1 - ip address 10.0.9.2/24 - ipv6 address 2001:9::2/64 - ! - interface eth0 - ip address 10.0.8.1/32 - ipv6 address 2001:8::1/128 - ! - } - canvas c1 - iconcoords {288.0 624.0} - labelcoords {288.0 656.0} - interface-peer {eth0 n15} - interface-peer {eth1 n3} - custom-config { - custom-config-id service:zebra - custom-command zebra - config { - files=('/usr/local/etc/quagga/Quagga.conf', 'quaggaboot.sh', '/usr/local/etc/quagga/vtysh.conf', ) - } - } - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth0 - ip address 10.0.8.1/32 - ipv6 address 2001:8::1/128 - ipv6 ospf6 instance-id 65 - ipv6 ospf6 hello-interval 2 - ipv6 ospf6 dead-interval 6 - ipv6 ospf6 retransmit-interval 5 - ipv6 ospf6 network manet-designated-router - ipv6 ospf6 diffhellos - ipv6 ospf6 adjacencyconnectivity uniconnected - ipv6 ospf6 lsafullness mincostlsa - ! - interface eth1 - ip address 10.0.9.2/24 - ipv6 address 2001:9::2/64 - ! - router ospf - router-id 10.0.8.1 - network 10.0.8.1/32 area 0 - network 10.0.9.0/24 area 0 - redistribute connected metric-type 1 - redistribute ospf6 metric-type 1 - ! - router ospf6 - router-id 10.0.8.1 - interface eth0 area 0.0.0.0 - redistribute connected - redistribute ospf - ! - - } - } - services {zebra OSPFv2 OSPFv3MDR IPForward} -} - -node n12 { - type router - model mdr - network-config { - hostname n12 - ! - interface eth0 - ip address 10.0.8.2/32 - ipv6 address 2001:8::2/128 - ! - } - canvas c1 - iconcoords {504.0 792.0} - labelcoords {504.0 824.0} - interface-peer {eth0 n15} -} - -node n13 { - type router - model mdr - network-config { - hostname n13 - ! - interface eth0 - ip address 10.0.8.3/32 - ipv6 address 2001:8::3/128 - ! - } - canvas c1 - iconcoords {552.0 672.0} - labelcoords {552.0 704.0} - interface-peer {eth0 n15} -} - -node n14 { - type router - model mdr - network-config { - hostname n14 - ! - interface eth0 - ip address 10.0.8.4/32 - ipv6 address 2001:8::4/128 - ! - } - canvas c1 - iconcoords {720.0 792.0} - labelcoords {720.0 824.0} - interface-peer {eth0 n15} -} - -node n15 { - type wlan - network-config { - hostname wlan15 - ! - interface wireless - ip address 10.0.8.0/32 - ipv6 address 2001:8::0/128 - ! - mobmodel - coreapi - basic_range - ! - } - custom-config { - custom-config-id basic_range - custom-command {3 3 9 9 9} - config { - range=275 - bandwidth=54000000 - jitter=0 - delay=20000 - error=0 - } - } - canvas c1 - iconcoords {120.0 768.0} - labelcoords {120.0 800.0} - interface-peer {e0 n11} - interface-peer {e1 n12} - interface-peer {e2 n13} - interface-peer {e3 n14} -} - -node n16 { - type router - model PC - network-config { - hostname n16 - ! - interface eth0 - ip address 10.0.1.20/24 - ipv6 address 2001:1::20/64 - ! - } - canvas c1 - iconcoords {96.0 456.0} - labelcoords {96.0 488.0} - interface-peer {eth0 n4} -} - -node n17 { - type router - model PC - network-config { - hostname n17 - ! - interface eth0 - ip address 10.0.1.21/24 - ipv6 address 2001:1::21/64 - ! - } - canvas c1 - iconcoords {96.0 600.0} - labelcoords {96.0 632.0} - interface-peer {eth0 n4} -} - -node n18 { - type router - model PC - network-config { - hostname n18 - ! - interface eth0 - ip address 10.0.1.22/24 - ipv6 address 2001:1::22/64 - ! - } - canvas c1 - iconcoords {96.0 528.0} - labelcoords {96.0 560.0} - interface-peer {eth0 n4} -} - -node n19 { - type router - model router - network-config { - hostname n19 - ! - interface eth3 - ip address 10.0.7.1/24 - ipv6 address 2001:7::1/64 - ! - interface eth2 - ip address 10.0.6.1/24 - ipv6 address 2001:6::1/64 - ! - interface eth1 - ip address 10.0.5.1/24 - ipv6 address 2001:5::1/64 - ! - interface eth0 - ip address 10.0.4.2/24 - ipv6 address 2001:4::2/64 - ! - } - canvas c1 - iconcoords {576.0 408.0} - labelcoords {576.0 436.0} - interface-peer {eth0 n3} - interface-peer {eth1 n2} - interface-peer {eth2 n9} - interface-peer {eth3 n10} -} - -node n20 { - type router - model mdr - network-config { - hostname n20 - ! - interface eth1 - ip address 10.0.11.1/24 - ipv6 address 2001:11::1/64 - ! - interface eth0 - ip address 10.0.10.1/32 - ipv6 address 2001:10::1/128 - ! - } - canvas c1 - iconcoords {288.0 168.0} - labelcoords {288.0 200.0} - interface-peer {eth0 n24} - interface-peer {eth1 n1} - custom-config { - custom-config-id service:zebra - custom-command zebra - config { - files=('/usr/local/etc/quagga/Quagga.conf', 'quaggaboot.sh', '/usr/local/etc/quagga/vtysh.conf', ) - } - } - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth0 - ip address 10.0.10.1/32 - ipv6 address 2001:10::1/128 - ipv6 ospf6 instance-id 65 - ipv6 ospf6 hello-interval 2 - ipv6 ospf6 dead-interval 6 - ipv6 ospf6 retransmit-interval 5 - ipv6 ospf6 network manet-designated-router - ipv6 ospf6 diffhellos - ipv6 ospf6 adjacencyconnectivity uniconnected - ipv6 ospf6 lsafullness mincostlsa - ! - interface eth1 - ip address 10.0.11.1/24 - ipv6 address 2001:11::1/64 - ! - router ospf - router-id 10.0.10.1 - network 10.0.10.1/32 area 0 - network 10.0.11.0/24 area 0 - redistribute connected metric-type 1 - redistribute ospf6 metric-type 1 - ! - router ospf6 - router-id 10.0.10.1 - interface eth0 area 0.0.0.0 - redistribute connected - redistribute ospf - ! - - } - } - services {zebra OSPFv2 OSPFv3MDR IPForward} -} - -node n21 { - type router - model mdr - network-config { - hostname n21 - ! - interface eth0 - ip address 10.0.10.2/32 - ipv6 address 2001:10::2/128 - ! - } - canvas c1 - iconcoords {240.0 48.0} - labelcoords {240.0 80.0} - interface-peer {eth0 n24} -} - -node n22 { - type router - model mdr - network-config { - hostname n22 - ! - interface eth0 - ip address 10.0.10.3/32 - ipv6 address 2001:10::3/128 - ! - } - canvas c1 - iconcoords {504.0 48.0} - labelcoords {504.0 80.0} - interface-peer {eth0 n24} -} - -node n23 { - type router - model mdr - network-config { - hostname n23 - ! - interface eth0 - ip address 10.0.10.4/32 - ipv6 address 2001:10::4/128 - ! - } - canvas c1 - iconcoords {144.0 168.0} - labelcoords {144.0 200.0} - interface-peer {eth0 n24} -} - -node n24 { - type wlan - network-config { - hostname wlan24 - ! - interface wireless - ip address 10.0.10.0/32 - ipv6 address 2001:10::0/128 - ! - mobmodel - coreapi - emane_ieee80211abg - ! - } - custom-config { - custom-config-id basic_range - custom-command {3 3 9 9 9} - config { - range=275 - bandwidth=54000000 - jitter=0 - delay=20000 - error=0 - } - } - canvas c1 - iconcoords {48.0 72.0} - labelcoords {48.0 104.0} - interface-peer {e0 n20} - interface-peer {e1 n21} - interface-peer {e2 n22} - interface-peer {e3 n23} -} - -node n25 { - type lanswitch - network-config { - hostname n25 - ! - } - canvas c1 - iconcoords {624.0 192.0} - labelcoords {624.0 216.0} - interface-peer {e0 n5} - interface-peer {e1 n26} -} - -node n26 { - type router - model PC - network-config { - hostname n26 - ! - interface eth0 - ip address 10.0.0.20/24 - ipv6 address 2001:0::20/64 - ! - } - canvas c1 - iconcoords {720.0 144.0} - labelcoords {720.0 176.0} - interface-peer {eth0 n25} -} - -link l1 { - nodes {n2 n5} - bandwidth 0 -} - -link l2 { - delay 8000 - nodes {n3 n4} - bandwidth 1024000 -} - -link l3 { - nodes {n1 n3} - bandwidth 0 -} - -link l4 { - nodes {n1 n2} - bandwidth 0 -} - -link l5 { - nodes {n5 n6} - bandwidth 0 -} - -link l6 { - nodes {n5 n7} - bandwidth 0 -} - -link l7 { - nodes {n5 n8} - bandwidth 0 -} - -link l8 { - nodes {n3 n19} - bandwidth 0 -} - -link l9 { - nodes {n19 n2} - bandwidth 0 -} - -link l10 { - nodes {n4 n16} - bandwidth 0 -} - -link l11 { - nodes {n4 n17} - bandwidth 0 -} - -link l12 { - nodes {n4 n18} - bandwidth 0 -} - -link l13 { - nodes {n19 n9} -} - -link l14 { - nodes {n19 n10} -} - -link l15 { - nodes {n15 n11} -} - -link l16 { - nodes {n15 n12} -} - -link l17 { - nodes {n15 n13} -} - -link l18 { - nodes {n15 n14} -} - -link l19 { - nodes {n3 n11} - bandwidth 0 -} - -link l20 { - nodes {n24 n20} -} - -link l21 { - nodes {n24 n21} -} - -link l22 { - nodes {n24 n22} -} - -link l23 { - nodes {n24 n23} -} - -link l24 { - nodes {n20 n1} - bandwidth 0 -} - -link l25 { - delay 5000 - nodes {n25 n5} - bandwidth 0 -} - -link l26 { - nodes {n25 n26} - bandwidth 0 -} - -annotation a1 { - iconcoords {45.0 431.0 220.0 642.0} - type rectangle - label {} - labelcolor black - fontfamily {Arial} - fontsize {12} - color #e6f4f4 - width 0 - border black - rad 0 - canvas c1 -} - -annotation a2 { - iconcoords {642 189 821 404} - type rectangle - label {} - labelcolor black - fontfamily {Arial} - fontsize {12} - color #e6f4f4 - width 0 - border black - rad 0 - canvas c1 -} - -annotation a3 { - iconcoords {200 218 655 463} - type rectangle - label {} - labelcolor black - fontfamily {Arial} - fontsize {12} - color #f4f1f0 - width 0 - border black - rad 0 - canvas c1 -} - -annotation a4 { - iconcoords {600.0 48.0} - type text - label {Kitchen Sink Scenario} - labelcolor black - fontfamily {FreeSans} - fontsize {16} - effects {bold} - canvas c1 -} - -annotation a5 { - iconcoords {648.0 72.0} - type text - label {see scenario comments} - labelcolor black - fontfamily {FreeSans} - fontsize {12} - canvas c1 -} - -canvas c1 { - name {Canvas1} - refpt {0 0 47.5791667 -122.132322 150} - scale {150.0} - size {1000 1000} -} - -option global { - interface_names no - ip_addresses yes - ipv6_addresses yes - node_labels yes - link_labels yes - ipsec_configs yes - exec_errors yes - show_api no - background_images no - annotations yes - grid yes - traffic_start 0 -} - -option session { - enablesdt=1 -} - diff --git a/gui/configs/sample11-sdn.imn b/gui/configs/sample11-sdn.imn deleted file mode 100644 index a41dbc11..00000000 --- a/gui/configs/sample11-sdn.imn +++ /dev/null @@ -1,291 +0,0 @@ -node n1 { - type router - model host - network-config { - hostname ryu1 - ! - interface eth1 - ip address 10.0.5.10/24 - ipv6 address 2001:5::10/64 - ! - interface eth0 - ip address 10.0.4.10/24 - ipv6 address 2001:4::10/64 - ! - } - canvas c1 - iconcoords {203.0 65.0} - labelcoords {203.0 97.0} - interface-peer {eth0 n2} - interface-peer {eth1 n3} -} - -node n2 { - type router - model OVS - network-config { - hostname ovs1 - ! - interface eth2 - ip address 10.0.4.1/24 - ipv6 address 2001:4::1/64 - ! - interface eth1 - ip address 10.0.1.1/24 - ipv6 address 2001:1::1/64 - ! - interface eth0 - ip address 10.0.0.1/24 - ipv6 address 2001:0::1/64 - ! - } - canvas c1 - iconcoords {124.0 213.0} - labelcoords {124.0 245.0} - interface-peer {eth0 n6} - interface-peer {eth1 n4} - interface-peer {eth2 n1} -} - -node n3 { - type router - model OVS - network-config { - hostname ovs2 - ! - interface eth2 - ip address 10.0.5.1/24 - ipv6 address 2001:5::1/64 - ! - interface eth1 - ip address 10.0.3.1/24 - ipv6 address 2001:3::1/64 - ! - interface eth0 - ip address 10.0.2.1/24 - ipv6 address 2001:2::1/64 - ! - } - canvas c1 - iconcoords {299.0 220.0} - labelcoords {299.0 252.0} - interface-peer {eth0 n7} - interface-peer {eth1 n5} - interface-peer {eth2 n1} -} - -node n4 { - type router - model host - network-config { - hostname n4 - ! - interface eth0 - ip address 10.0.1.10/24 - ipv6 address 2001:1::10/64 - ! - } - canvas c1 - iconcoords {39.0 313.0} - labelcoords {39.0 345.0} - interface-peer {eth0 n2} -} - -node n5 { - type router - model host - network-config { - hostname n5 - ! - interface eth0 - ip address 10.0.3.10/24 - ipv6 address 2001:3::10/64 - ! - } - canvas c1 - iconcoords {286.0 327.0} - labelcoords {286.0 359.0} - interface-peer {eth0 n3} -} - -node n6 { - type router - model host - network-config { - hostname n6 - ! - interface eth0 - ip address 10.0.0.10/24 - ipv6 address 2001:0::10/64 - ! - } - canvas c1 - iconcoords {131.0 322.0} - labelcoords {131.0 354.0} - interface-peer {eth0 n2} -} - -node n7 { - type router - model host - network-config { - hostname n7 - ! - interface eth0 - ip address 10.0.2.10/24 - ipv6 address 2001:2::10/64 - ! - } - canvas c1 - iconcoords {373.0 328.0} - labelcoords {373.0 360.0} - interface-peer {eth0 n3} -} - -node n8 { - type router - model mdr - network-config { - hostname n8 - ! - interface eth0 - ip address 10.0.6.1/32 - ipv6 address 2001:6::1/128 - ! - } - canvas c1 - iconcoords {579.0 102.0} - labelcoords {579.0 134.0} - interface-peer {eth0 n11} -} - -node n9 { - type router - model mdr - network-config { - hostname n9 - ! - interface eth0 - ip address 10.0.6.2/32 - ipv6 address 2001:6::2/128 - ! - } - canvas c1 - iconcoords {493.0 212.0} - labelcoords {493.0 244.0} - interface-peer {eth0 n11} -} - -node n10 { - type router - model mdr - network-config { - hostname n10 - ! - interface eth0 - ip address 10.0.6.3/32 - ipv6 address 2001:6::3/128 - ! - } - canvas c1 - iconcoords {674.0 225.0} - labelcoords {674.0 257.0} - interface-peer {eth0 n11} -} - -node n11 { - type wlan - network-config { - hostname mobile-sdn - ! - interface wireless - ip address 10.0.6.0/32 - ipv6 address 2001:6::0/128 - ! - mobmodel - coreapi - basic_range - ! - } - custom-config { - custom-config-id basic_range - custom-command {3 3 9 9 9} - config { - range=275 - bandwidth=54000000 - jitter=0 - delay=20000 - error=0 - } - } - canvas c1 - iconcoords {683.0 127.0} - labelcoords {683.0 159.0} - interface-peer {e0 n8} - interface-peer {e1 n9} - interface-peer {e2 n10} -} - -link l1 { - nodes {n2 n6} - bandwidth 0 -} - -link l2 { - nodes {n2 n4} - bandwidth 0 -} - -link l3 { - nodes {n3 n7} - bandwidth 0 -} - -link l4 { - nodes {n3 n5} - bandwidth 0 -} - -link l5 { - nodes {n1 n2} - bandwidth 0 -} - -link l6 { - nodes {n1 n3} - bandwidth 0 -} - -link l7 { - nodes {n11 n8} -} - -link l8 { - nodes {n11 n9} -} - -link l9 { - nodes {n11 n10} -} - -canvas c1 { - name {Canvas1} -} - -option global { - interface_names no - ip_addresses yes - ipv6_addresses no - node_labels yes - link_labels yes - show_api no - background_images no - annotations yes - grid yes - traffic_start 0 - mac_address_start 80 -} - -option session { -} - diff --git a/gui/configs/sample2-ssh.imn b/gui/configs/sample2-ssh.imn deleted file mode 100644 index d79a5f3b..00000000 --- a/gui/configs/sample2-ssh.imn +++ /dev/null @@ -1,248 +0,0 @@ -node n8 { - type router - model router - network-config { - hostname n8 - ! - interface eth3 - ip address 10.0.6.2/24 - ipv6 address a:6::2/64 - ! - interface eth2 - ip address 10.0.3.1/24 - ipv6 address a:3::1/64 - ! - interface eth1 - ip address 10.0.1.1/24 - ipv6 address a:1::1/64 - ! - interface eth0 - ip address 10.0.0.1/24 - ipv6 address a:0::1/64 - ! - } - canvas c1 - iconcoords {264.0 168.0} - labelcoords {264.0 196.0} - interface-peer {eth0 n1} - interface-peer {eth1 n4} - interface-peer {eth2 n7} - interface-peer {eth3 n6} -} - -node n1 { - type router - model router - network-config { - hostname n1 - ! - interface eth3 - ip address 10.0.5.1/24 - ipv6 address a:5::1/64 - ! - interface eth2 - ip address 10.0.4.2/24 - ipv6 address a:4::2/64 - ! - interface eth1 - ip address 10.0.2.1/24 - ipv6 address a:2::1/64 - ! - interface eth0 - ip address 10.0.0.2/24 - ipv6 address a:0::2/64 - ! - } - canvas c1 - iconcoords {528.0 312.0} - labelcoords {528.0 340.0} - interface-peer {eth0 n8} - interface-peer {eth1 n5} - interface-peer {eth2 n7} - interface-peer {eth3 n6} -} - -node n2 { - type router - model host - cpu {{min 0} {max 100} {weight 1}} - network-config { - hostname sshserver - ! - interface eth0 - ip address 10.0.2.10/24 - ipv6 address a:2::10/64 - ! - } - canvas c1 - iconcoords {732.0 84.0} - labelcoords {671.0 95.0} - interface-peer {eth0 n5} -} - -node n3 { - type router - model PC - cpu {{min 0} {max 100} {weight 1}} - network-config { - hostname sshclient - ! - interface eth0 - ip address 10.0.1.20/24 - ipv6 address a:1::20/64 - ! - } - canvas c1 - iconcoords {72.0 252.0} - labelcoords {86.0 295.0} - interface-peer {eth0 n4} -} - -node n4 { - type lanswitch - network-config { - hostname n4 - ! - } - canvas c1 - iconcoords {120.0 120.0} - labelcoords {120.0 148.0} - interface-peer {e0 n3} - interface-peer {e1 n8} -} - -node n5 { - type lanswitch - network-config { - hostname n5 - ! - } - canvas c1 - iconcoords {708.0 204.0} - labelcoords {708.0 232.0} - interface-peer {e0 n1} - interface-peer {e1 n2} -} - -node n6 { - type router - model router - network-config { - hostname n6 - ! - interface eth1 - ip address 10.0.6.1/24 - ipv6 address a:6::1/64 - ! - interface eth0 - ip address 10.0.5.2/24 - ipv6 address a:5::2/64 - ! - } - canvas c1 - iconcoords {480.0 132.0} - labelcoords {480.0 160.0} - interface-peer {eth0 n1} - interface-peer {eth1 n8} -} - -node n7 { - type router - model router - network-config { - hostname n7 - ! - interface eth1 - ip address 10.0.4.1/24 - ipv6 address a:4::1/64 - ! - interface eth0 - ip address 10.0.3.2/24 - ipv6 address a:3::2/64 - ! - } - canvas c1 - iconcoords {312.0 348.0} - labelcoords {312.0 376.0} - interface-peer {eth0 n8} - interface-peer {eth1 n1} -} - -link l0 { - nodes {n8 n1} - bandwidth 0 -} - -link l1 { - nodes {n4 n3} - bandwidth 0 -} - -link l2 { - nodes {n4 n8} - bandwidth 0 -} - -link l3 { - nodes {n1 n5} - bandwidth 0 -} - -link l4 { - nodes {n5 n2} - bandwidth 0 -} - -link l5 { - nodes {n8 n7} - bandwidth 0 -} - -link l6 { - nodes {n7 n1} - bandwidth 0 -} - -link l7 { - nodes {n1 n6} - bandwidth 0 -} - -link l8 { - nodes {n6 n8} - bandwidth 0 -} - -annotation a0 { - iconcoords {202 75 612 405} - type rectangle - label {provider network} - labelcolor black - fontfamily {Arial} - fontsize 10 - color #f8f8d6 - width 0 - border black - rad 25 - canvas c1 -} - -canvas c1 { - name {Canvas1} -} - -option global { - interface_names no - ip_addresses yes - ipv6_addresses yes - node_labels yes - link_labels yes - ipsec_configs yes - remote_exec no - exec_errors yes - show_api no - background_images no - annotations yes - grid yes -} - diff --git a/gui/configs/sample3-bgp.imn b/gui/configs/sample3-bgp.imn deleted file mode 100644 index b31693ef..00000000 --- a/gui/configs/sample3-bgp.imn +++ /dev/null @@ -1,657 +0,0 @@ -node n1 { - type router - model router - network-config { - hostname router1 - ! - interface eth2 - ip address 10.0.8.2/24 - ! - interface eth1 - ip address 10.0.6.1/24 - ! - interface eth0 - ip address 10.0.5.2/24 - ! - } - iconcoords {168.0 264.0} - labelcoords {168.0 288.0} - interface-peer {eth0 n16} - interface-peer {eth1 n2} - interface-peer {eth2 n3} - canvas c1 - services {zebra BGP IPForward} - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth2 - ip address 10.0.8.2/24 - ! - interface eth1 - ip address 10.0.6.1/24 - ! - interface eth0 - ip address 10.0.5.2/24 - ! - router bgp 105 - bgp router-id 10.0.8.2 - redistribute connected - neighbor 10.0.6.2 remote-as 105 - neighbor 10.0.6.2 next-hop-self - neighbor 10.0.5.1 remote-as 105 - neighbor 10.0.5.1 next-hop-self - neighbor 10.0.8.1 remote-as 2901 - neighbor 10.0.8.1 next-hop-self - ! - } - } -} - -node n2 { - type router - model router - network-config { - hostname router2 - ! - interface eth2 - ip address 10.0.9.1/24 - ! - interface eth1 - ip address 10.0.7.1/24 - ! - interface eth0 - ip address 10.0.6.2/24 - ! - } - iconcoords {312.0 168.0} - labelcoords {312.0 192.0} - interface-peer {eth0 n1} - interface-peer {eth1 n16} - interface-peer {eth2 n6} - canvas c1 - services {zebra BGP IPForward} - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth2 - ip address 10.0.9.1/24 - ! - interface eth1 - ip address 10.0.7.1/24 - ! - interface eth0 - ip address 10.0.6.2/24 - ! - router bgp 105 - bgp router-id 10.0.8.2 - redistribute connected - neighbor 10.0.7.2 remote-as 105 - neighbor 10.0.7.2 next-hop-self - neighbor 10.0.6.1 remote-as 105 - neighbor 10.0.6.1 next-hop-self - neighbor 10.0.9.2 remote-as 2902 - neighbor 10.0.9.2 next-hop-self - ! - } - } -} - -node n3 { - type router - model router - network-config { - hostname router3 - ! - interface eth1 - ip address 10.0.8.1/24 - ! - interface eth0 - ip address 10.0.2.1/24 - ! - } - iconcoords {96.0 408.0} - labelcoords {96.0 432.0} - interface-peer {eth0 n4} - interface-peer {eth1 n1} - canvas c1 - services {zebra BGP IPForward} - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth1 - ip address 10.0.8.1/24 - ! - interface eth0 - ip address 10.0.2.1/24 - ! - router bgp 2901 - bgp router-id 10.0.2.1 - redistribute connected - neighbor 10.0.2.2 remote-as 2901 - neighbor 10.0.2.2 next-hop-self - neighbor 10.0.8.2 remote-as 105 - neighbor 10.0.8.2 next-hop-self - ! - } - } -} - -node n4 { - type router - model router - network-config { - hostname router4 - ! - interface eth0 - ip address 10.0.2.2/24 - ! - interface eth1 - ip address 10.0.10.1/24 - ! - interface eth2 - ip address 10.0.0.1/24 - ! - } - iconcoords {240.0 432.0} - labelcoords {240.0 456.0} - interface-peer {eth2 n9} - interface-peer {eth0 n3} - interface-peer {eth1 n7} - canvas c1 - services {zebra BGP IPForward} - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth0 - ip address 10.0.2.2/24 - ! - interface eth1 - ip address 10.0.10.1/24 - ! - interface eth2 - ip address 10.0.0.1/24 - ! - router bgp 2901 - bgp router-id 10.0.10.1 - redistribute connected - neighbor 10.0.2.1 remote-as 2901 - neighbor 10.0.2.1 next-hop-self - neighbor 10.0.10.2 remote-as 2902 - neighbor 10.0.10.2 next-hop-self - network 10.0.0.0 mask 255.255.255.0 - ! - } - } -} - -node n5 { - type router - model router - network-config { - hostname router5 - ! - interface eth1 - ip address 10.0.4.1/24 - ! - interface eth0 - ip address 10.0.3.2/24 - ! - interface eth2 - ip address 10.0.1.1/24 - ! - } - iconcoords {528.0 336.0} - labelcoords {528.0 360.0} - interface-peer {eth2 n8} - interface-peer {eth0 n7} - interface-peer {eth1 n6} - canvas c1 - services {zebra BGP IPForward} - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth1 - ip address 10.0.4.1/24 - ! - interface eth0 - ip address 10.0.3.2/24 - ! - interface eth2 - ip address 10.0.1.1/24 - ! - router bgp 2902 - bgp router-id 10.0.4.1 - redistribute connected - neighbor 10.0.4.2 remote-as 2902 - neighbor 10.0.4.2 next-hop-self - neighbor 10.0.3.1 remote-as 2902 - neighbor 10.0.3.1 next-hop-self - network 10.0.1.0 mask 255.255.255.0 - ! - } - } -} - -node n6 { - type router - model router - network-config { - hostname router6 - ! - interface eth1 - ip address 10.0.9.2/24 - ! - interface eth0 - ip address 10.0.4.2/24 - ! - router bgp 2902 - bgp router-id 10.0.9.2 - redistribute connected - neighbor 10.0.4.1 remote-as 2902 - neighbor 10.0.4.1 next-hop-self - neighbor 10.0.9.1 remote-as 105 - neighbor 10.0.9.1 next-hop-self - ! - } - iconcoords {624.0 240.0} - labelcoords {624.0 264.0} - interface-peer {eth0 n5} - interface-peer {eth1 n2} - canvas c1 - services {zebra BGP IPForward} - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth1 - ip address 10.0.9.2/24 - ! - interface eth0 - ip address 10.0.4.2/24 - ! - router bgp 2902 - bgp router-id 10.0.9.2 - redistribute connected - neighbor 10.0.4.1 remote-as 2902 - neighbor 10.0.4.1 next-hop-self - neighbor 10.0.9.1 remote-as 105 - neighbor 10.0.9.1 next-hop-self - ! - } - } -} - -node n7 { - type router - model router - network-config { - hostname router7 - ! - interface eth1 - ip address 10.0.10.2/24 - ! - interface eth0 - ip address 10.0.3.1/24 - ! - } - iconcoords {528.0 456.0} - labelcoords {528.0 480.0} - interface-peer {eth0 n5} - interface-peer {eth1 n4} - canvas c1 - services {zebra BGP IPForward} - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth1 - ip address 10.0.10.2/24 - ! - interface eth0 - ip address 10.0.3.1/24 - ! - router bgp 2902 - bgp router-id 10.0.3.1 - redistribute connected - neighbor 10.0.3.2 remote-as 2902 - neighbor 10.0.3.2 next-hop-self - neighbor 10.0.10.1 remote-as 2901 - neighbor 10.0.10.1 next-hop-self - ! - } - } -} - -node n8 { - type lanswitch - network-config { - hostname lanswitch8 - ! - } - iconcoords {672.0 432.0} - labelcoords {672.0 456.0} - interface-peer {e0 n5} - interface-peer {e1 n10} - interface-peer {e2 n11} - canvas c1 -} - -node n9 { - type hub - network-config { - hostname hub9 - ! - } - iconcoords {120.0 504.0} - labelcoords {120.0 528.0} - interface-peer {e0 n4} - interface-peer {e1 n15} - interface-peer {e2 n14} - interface-peer {e3 n13} - interface-peer {e4 n12} - canvas c1 -} - -node n10 { - type router - model host - network-config { - hostname host10 - ! - interface eth0 - ip address 10.0.1.10/24 - ! - } - iconcoords {576.0 552.0} - labelcoords {576.0 584.0} - interface-peer {eth0 n8} - canvas c1 -} - -node n11 { - type router - model host - network-config { - hostname host11 - ! - interface eth0 - ip address 10.0.1.11/24 - ! - } - iconcoords {696.0 552.0} - labelcoords {696.0 584.0} - interface-peer {eth0 n8} - canvas c1 -} - -node n12 { - type router - model PC - network-config { - hostname pc12 - ! - interface eth0 - ip address 10.0.0.23/24 - ! - } - iconcoords {288.0 576.0} - labelcoords {288.0 608.0} - interface-peer {eth0 n9} - canvas c1 -} - -node n13 { - type router - model PC - network-config { - hostname pc13 - ! - interface eth0 - ip address 10.0.0.22/24 - ! - } - iconcoords {216.0 600.0} - labelcoords {216.0 632.0} - interface-peer {eth0 n9} - canvas c1 -} - -node n14 { - type router - model PC - network-config { - hostname pc14 - ! - interface eth0 - ip address 10.0.0.21/24 - ! - } - iconcoords {120.0 624.0} - labelcoords {120.0 656.0} - interface-peer {eth0 n9} - canvas c1 -} - -node n15 { - type router - model PC - network-config { - hostname pc15 - ! - interface eth0 - ip address 10.0.0.20/24 - ! - } - iconcoords {24.0 576.0} - labelcoords {24.0 608.0} - interface-peer {eth0 n9} - canvas c1 -} - -node n16 { - type router - model router - network-config { - hostname router0 - ! - interface eth0 - ip address 10.0.5.1/24 - ! - interface eth1 - ip address 10.0.7.2/24 - ! - } - iconcoords {120.0 120.0} - labelcoords {120.0 144.0} - interface-peer {eth0 n1} - interface-peer {eth1 n2} - canvas c1 - services {zebra BGP IPForward} - custom-config { - custom-config-id service:zebra:/usr/local/etc/quagga/Quagga.conf - custom-command /usr/local/etc/quagga/Quagga.conf - config { - interface eth0 - ip address 10.0.5.1/24 - ! - interface eth1 - ip address 10.0.7.2/24 - ! - router bgp 105 - bgp router-id 10.0.5.1 - redistribute connected - neighbor 10.0.7.1 remote-as 105 - neighbor 10.0.7.1 next-hop-self - neighbor 10.0.5.2 remote-as 105 - neighbor 10.0.5.2 next-hop-self - ! - } - } -} - -link l0 { - nodes {n9 n4} - bandwidth 100000000 -} - -link l1 { - nodes {n8 n5} - bandwidth 100000000 -} - -link l2 { - nodes {n15 n9} - bandwidth 100000000 -} - -link l3 { - nodes {n14 n9} - bandwidth 100000000 -} - -link l4 { - nodes {n13 n9} - bandwidth 100000000 -} - -link l5 { - nodes {n12 n9} - bandwidth 100000000 -} - -link l6 { - nodes {n10 n8} - bandwidth 100000000 -} - -link l7 { - nodes {n11 n8} - bandwidth 100000000 -} - -link l8 { - nodes {n3 n4} - bandwidth 2048000 - delay 2500 -} - -link l9 { - nodes {n7 n5} - bandwidth 2048000 - delay 2500 -} - -link l10 { - nodes {n5 n6} - bandwidth 2048000 - delay 2500 -} - -link l11 { - nodes {n16 n1} - bandwidth 2048000 - delay 2500 -} - -link l12 { - nodes {n1 n2} - bandwidth 2048000 - delay 2500 -} - -link l13 { - nodes {n2 n16} - bandwidth 2048000 - delay 2500 -} - -link l14 { - nodes {n3 n1} - bandwidth 10000000 - delay 650000 -} - -link l15 { - nodes {n2 n6} - bandwidth 10000000 - delay 650000 -} - -link l16 { - nodes {n4 n7} - bandwidth 5000000 - delay 7500 -} - -annotation a0 { - iconcoords { 70 55 345 330 } - type oval - label {AS 105} - labelcolor #CFCFAC - fontfamily {Arial} - fontsize {12} - color #FFFFCC - width 0 - border black - canvas c1 -} - -annotation a1 { - iconcoords { 470 170 740 630 } - type oval - label {AS 2902} - labelcolor #C0C0CF - fontfamily {Arial} - fontsize {12} - color #F0F0FF - width 0 - border black - canvas c1 -} - -annotation a2 { - iconcoords { 0 355 320 660 } - type oval - label {AS 2901} - labelcolor #C0C0CF - fontfamily {Arial} - fontsize {12} - color #F0F0FF - width 0 - border black - canvas c1 -} - -annotation a10 { - type text - canvas c1 - iconcoords { 450 55 } - color #FFCCCC - fontsize {20} - label {Sample Topology 1} -} - -canvas c1 { - name {Canvas1} - size {900 706.0} -} - -option global { - interface_names yes - ip_addresses yes - ipv6_addresses yes - node_labels yes - link_labels yes - ipsec_configs yes - remote_exec no - exec_errors yes - show_api no - background_images no - annotations yes - grid yes -} diff --git a/gui/configs/sample4-bg.jpg b/gui/configs/sample4-bg.jpg deleted file mode 100644 index 2b3d29dc60c3c76c56a31a1dde3c280ce1c23fea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201030 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 -without output it will stream to stdout. -} - -node n1 { - type router - model mdr - network-config { - hostname n1 - ! - interface eth0 - ip address 10.0.0.1/32 - ipv6 address a:0::1/128 - ! - } - iconcoords {186.2364578872143 137.89039496012572} - labelcoords {186.2364578872143 161.89039496012572} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_green.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n2 { - type router - model mdr - network-config { - hostname n2 - ! - interface eth0 - ip address 10.0.0.2/32 - ipv6 address a:0::2/128 - ! - } - iconcoords {49.97421009111123 297.31725181124926} - labelcoords {49.97421009111123 321.31725181124926} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_green.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n3 { - type router - model mdr - network-config { - hostname n3 - ! - interface eth0 - ip address 10.0.0.3/32 - ipv6 address a:0::3/128 - ! - } - iconcoords {176.46110847174833 328.14864514530865} - labelcoords {176.46110847174833 352.14864514530865} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_green.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n4 { - type router - model mdr - network-config { - hostname n4 - ! - interface eth0 - ip address 10.0.0.4/32 - ipv6 address a:0::4/128 - ! - } - iconcoords {145.04062040794378 195.27962082775758} - labelcoords {145.04062040794378 219.27962082775758} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_green.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n5 { - type router - model mdr - network-config { - hostname n5 - ! - interface eth0 - ip address 10.0.0.5/32 - ipv6 address a:0::5/128 - ! - } - iconcoords {137.9101266949479 257.51849231830334} - labelcoords {137.9101266949479 281.51849231830334} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_green.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n6 { - type router - model mdr - network-config { - hostname n6 - ! - interface eth0 - ip address 10.0.0.6/32 - ipv6 address a:0::6/128 - ! - } - iconcoords {119.15850324229558 93.2505296351548} - labelcoords {119.15850324229558 117.2505296351548} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n7 { - type router - model mdr - network-config { - hostname n7 - ! - interface eth0 - ip address 10.0.0.7/32 - ipv6 address a:0::7/128 - ! - } - iconcoords {79.1102256826161 50.123535235375556} - labelcoords {79.1102256826161 74.12353523537556} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n8 { - type router - model mdr - network-config { - hostname n8 - ! - interface eth0 - ip address 10.0.0.8/32 - ipv6 address a:0::8/128 - ! - } - iconcoords {159.90259315202974 8.220638318379141} - labelcoords {159.90259315202974 32.220638318379144} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n9 { - type router - model mdr - network-config { - hostname n9 - ! - interface eth0 - ip address 10.0.0.9/32 - ipv6 address a:0::9/128 - ! - } - iconcoords {150.43010603614704 165.70781621981482} - labelcoords {150.43010603614704 189.70781621981482} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n10 { - type router - model mdr - network-config { - hostname n10 - ! - interface eth0 - ip address 10.0.0.10/32 - ipv6 address a:0::10/128 - ! - } - iconcoords {64.19289632467826 42.49909518554088} - labelcoords {64.19289632467826 66.49909518554088} - canvas c1 - interface-peer {eth0 n11} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif - services {zebra OSPFv3MDR SMF IPForward UserDefined} - custom-config { - custom-config-id service:UserDefined:custom-post-config-commands.sh - custom-command custom-post-config-commands.sh - config { - route add default dev eth0 - route add -net 224.0.0.0 netmask 224.0.0.0 dev eth0 - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('custom-post-config-commands.sh', ) - startidx=35 - cmdup=('sh custom-post-config-commands.sh', ) - } - } -} - -node n11 { - type wlan - network-config { - hostname wlan11 - ! - interface wireless - ip address 10.0.0.0/32 - ipv6 address a:0::0/128 - ! - mobmodel - coreapi - basic_range - ns2script - ! - } - iconcoords {0 0} - labelcoords {0 0} - canvas c1 - interface-peer {e0 n1} - interface-peer {e1 n2} - interface-peer {e2 n3} - interface-peer {e3 n4} - interface-peer {e4 n5} - interface-peer {e5 n6} - interface-peer {e6 n7} - interface-peer {e7 n8} - interface-peer {e8 n9} - interface-peer {e9 n10} - custom-config { - custom-config-id ns2script - custom-command {10 3 11 10 10} - config { - file=sample4.scen - refresh_ms=50 - loop=1 - autostart=5 - map= - } - } - custom-config { - custom-config-id basic_range - custom-command {3 3 9 9 9} - config { - range=200 - bandwidth=54000000 - jitter=0 - delay=50000 - error=0 - } - } -} - -link l1 { - nodes {n11 n1} - bandwidth 54000000 - delay 50000 -} - -link l2 { - nodes {n11 n2} - bandwidth 54000000 - delay 50000 -} - -link l3 { - nodes {n11 n3} - bandwidth 54000000 - delay 50000 -} - -link l4 { - nodes {n11 n4} - bandwidth 54000000 - delay 50000 -} - -link l5 { - nodes {n11 n5} - bandwidth 54000000 - delay 50000 -} - -link l6 { - nodes {n11 n6} - bandwidth 54000000 - delay 50000 -} - -link l7 { - nodes {n11 n7} - bandwidth 54000000 - delay 50000 -} - -link l8 { - nodes {n11 n8} - bandwidth 54000000 - delay 50000 -} - -link l9 { - nodes {n11 n9} - bandwidth 54000000 - delay 50000 -} - -link l10 { - nodes {n11 n10} - bandwidth 54000000 - delay 50000 -} - -canvas c1 { - name {Canvas1} - wallpaper-style {upperleft} - wallpaper {sample4-bg.jpg} - size {1000 750} -} - -option global { - interface_names no - ip_addresses yes - ipv6_addresses yes - node_labels yes - link_labels yes - show_api no - background_images no - annotations yes - grid no - traffic_start 0 -} - -option session { -} - diff --git a/gui/configs/sample4.scen b/gui/configs/sample4.scen deleted file mode 100644 index 939176e7..00000000 --- a/gui/configs/sample4.scen +++ /dev/null @@ -1,2791 +0,0 @@ -$node_(1) set X_ 196.387421 -$node_(1) set Y_ 462.134022 -$ns_ at 0.000000 "$node_(1) setdest 196.387421 462.134022 1.000000" -$ns_ at 0.000000 "$node_(1) setdest 195.956911 462.201568 0.435777" -$node_(2) set X_ 108.414716 -$node_(2) set Y_ 393.160360 -$ns_ at 0.000000 "$node_(2) setdest 108.414716 393.160360 1.000000" -$ns_ at 0.000000 "$node_(2) setdest 108.686466 392.778045 0.469055" -$node_(3) set X_ 14.254378 -$node_(3) set Y_ 541.257030 -$ns_ at 0.000000 "$node_(3) setdest 14.254378 541.257030 1.000000" -$ns_ at 0.000000 "$node_(3) setdest 14.839150 541.372844 0.596131" -$node_(4) set X_ 41.851670 -$node_(4) set Y_ 545.867138 -$ns_ at 0.000000 "$node_(4) setdest 41.851670 545.867138 1.000000" -$ns_ at 0.000000 "$node_(4) setdest 42.442273 545.926217 0.593550" -$node_(5) set X_ 182.809226 -$node_(5) set Y_ 513.055969 -$ns_ at 0.000000 "$node_(5) setdest 182.809226 513.055969 1.000000" -$ns_ at 0.000000 "$node_(5) setdest 183.335280 513.337339 0.596575" -$node_(6) set X_ 122.027997 -$node_(6) set Y_ 524.087717 -$ns_ at 0.000000 "$node_(6) setdest 122.027997 524.087717 1.000000" -$ns_ at 0.000000 "$node_(6) setdest 122.475860 524.470641 0.589248" -$node_(7) set X_ 186.692167 -$node_(7) set Y_ 453.103964 -$ns_ at 0.000000 "$node_(7) setdest 186.692167 453.103964 1.000000" -$ns_ at 0.000000 "$node_(7) setdest 186.362331 453.043815 0.335275" -$node_(8) set X_ 6.841010 -$node_(8) set Y_ 411.004614 -$ns_ at 0.000000 "$node_(8) setdest 6.841010 411.004614 1.000000" -$ns_ at 0.000000 "$node_(8) setdest 6.715910 410.970880 0.129569" -$node_(9) set X_ 180.514289 -$node_(9) set Y_ 395.901964 -$ns_ at 0.000000 "$node_(9) setdest 180.514289 395.901964 1.000000" -$ns_ at 0.000000 "$node_(9) setdest 180.863640 396.303766 0.532438" -$node_(10) set X_ 148.853602 -$node_(10) set Y_ 357.991260 -$ns_ at 0.000000 "$node_(10) setdest 148.853602 357.991260 1.000000" -$ns_ at 0.000000 "$node_(10) setdest 148.959253 358.166829 0.204906" - -$ns_ at 1.000000 "$node_(1) setdest 194.187758 463.051431 1.962694" -$ns_ at 1.000000 "$node_(2) setdest 109.321754 390.842582 2.037058" -$ns_ at 1.000000 "$node_(3) setdest 16.393600 542.808055 2.115690" -$ns_ at 1.000000 "$node_(4) setdest 44.634359 546.049079 2.195526" -$ns_ at 1.000000 "$node_(5) setdest 184.328928 515.246522 2.152281" -$ns_ at 1.000000 "$node_(6) setdest 123.835691 526.192539 2.194099" -$ns_ at 1.000000 "$node_(7) setdest 184.877733 452.038170 1.793140" -$ns_ at 1.000000 "$node_(8) setdest 6.671562 410.117567 0.854465" -$ns_ at 1.000000 "$node_(9) setdest 181.894113 398.159435 2.122590" -$ns_ at 1.000000 "$node_(10) setdest 148.870931 359.695988 1.531708" - -$ns_ at 2.000000 "$node_(1) setdest 190.851655 464.311512 3.566145" -$ns_ at 2.000000 "$node_(2) setdest 110.783099 387.546466 3.605539" -$ns_ at 2.000000 "$node_(3) setdest 14.881262 545.183484 2.815996" -$ns_ at 2.000000 "$node_(4) setdest 48.394729 546.584695 3.798324" -$ns_ at 2.000000 "$node_(5) setdest 184.473917 519.006641 3.762914" -$ns_ at 2.000000 "$node_(6) setdest 126.386821 528.676353 3.560561" -$ns_ at 2.000000 "$node_(7) setdest 182.160868 450.006458 3.392523" -$ns_ at 2.000000 "$node_(8) setdest 8.577394 409.839307 1.926038" -$ns_ at 2.000000 "$node_(9) setdest 182.309184 401.800750 3.664895" -$ns_ at 2.000000 "$node_(10) setdest 149.229189 362.797090 3.121727" - -$ns_ at 3.000000 "$node_(1) setdest 185.998912 466.082945 5.165955" -$ns_ at 3.000000 "$node_(2) setdest 114.977824 384.500577 5.183932" -$ns_ at 3.000000 "$node_(3) setdest 12.849462 546.572220 2.461056" -$ns_ at 3.000000 "$node_(4) setdest 52.522431 543.493688 5.156767" -$ns_ at 3.000000 "$node_(5) setdest 181.227267 523.091806 5.218171" -$ns_ at 3.000000 "$node_(6) setdest 122.849749 526.513462 4.145958" -$ns_ at 3.000000 "$node_(7) setdest 178.377101 446.748671 4.993003" -$ns_ at 3.000000 "$node_(8) setdest 11.957948 411.081133 3.601427" -$ns_ at 3.000000 "$node_(9) setdest 179.694536 406.348826 5.246083" -$ns_ at 3.000000 "$node_(10) setdest 150.721736 367.286506 4.731021" - -$ns_ at 4.000000 "$node_(1) setdest 179.555767 468.148449 6.766123" -$ns_ at 4.000000 "$node_(2) setdest 121.705230 383.835205 6.760230" -$ns_ at 4.000000 "$node_(3) setdest 12.743213 545.655478 0.922878" -$ns_ at 4.000000 "$node_(4) setdest 54.718112 536.856974 6.990493" -$ns_ at 4.000000 "$node_(5) setdest 174.581069 521.988831 6.737099" -$ns_ at 4.000000 "$node_(6) setdest 117.358177 524.776868 5.759612" -$ns_ at 4.000000 "$node_(7) setdest 173.583229 442.224357 6.591709" -$ns_ at 4.000000 "$node_(8) setdest 16.085272 414.253650 5.205734" -$ns_ at 4.000000 "$node_(9) setdest 174.174132 410.497488 6.905523" -$ns_ at 4.000000 "$node_(10) setdest 152.442894 373.377115 6.329131" - -$ns_ at 5.000000 "$node_(1) setdest 184.255964 467.324102 4.771939" -$ns_ at 5.000000 "$node_(2) setdest 130.096253 384.724742 8.438041" -$ns_ at 5.000000 "$node_(3) setdest 13.104636 545.386686 0.450418" -$ns_ at 5.000000 "$node_(4) setdest 60.821055 533.607888 6.913933" -$ns_ at 5.000000 "$node_(5) setdest 176.727658 522.545813 2.217673" -$ns_ at 5.000000 "$node_(6) setdest 109.928718 524.861347 7.429940" -$ns_ at 5.000000 "$node_(7) setdest 168.331832 435.943930 8.186631" -$ns_ at 5.000000 "$node_(8) setdest 20.338476 419.569962 6.808298" -$ns_ at 5.000000 "$node_(9) setdest 166.303912 413.725191 8.506376" -$ns_ at 5.000000 "$node_(10) setdest 153.598648 381.217946 7.925553" - -$ns_ at 6.000000 "$node_(1) setdest 190.713020 468.199291 6.516097" -$ns_ at 6.000000 "$node_(2) setdest 140.041968 386.083359 10.038083" -$ns_ at 6.000000 "$node_(3) setdest 15.010480 545.397474 1.905875" -$ns_ at 6.000000 "$node_(4) setdest 69.199175 531.278561 8.695899" -$ns_ at 6.000000 "$node_(5) setdest 180.271997 521.405130 3.723372" -$ns_ at 6.000000 "$node_(6) setdest 100.969155 523.987540 9.002072" -$ns_ at 6.000000 "$node_(7) setdest 162.840946 427.835646 9.792553" -$ns_ at 6.000000 "$node_(8) setdest 24.574187 426.845069 8.418339" -$ns_ at 6.000000 "$node_(9) setdest 156.473605 416.105660 10.114424" -$ns_ at 6.000000 "$node_(10) setdest 153.809976 390.743972 9.528370" - -$ns_ at 7.000000 "$node_(1) setdest 198.802940 468.836289 8.114961" -$ns_ at 7.000000 "$node_(2) setdest 151.520674 388.001681 11.637897" -$ns_ at 7.000000 "$node_(3) setdest 18.516288 545.400428 3.505809" -$ns_ at 7.000000 "$node_(4) setdest 79.188417 528.784398 10.295912" -$ns_ at 7.000000 "$node_(5) setdest 185.412195 520.020244 5.323489" -$ns_ at 7.000000 "$node_(6) setdest 91.080154 520.135759 10.612660" -$ns_ at 7.000000 "$node_(7) setdest 157.194066 417.952547 11.382569" -$ns_ at 7.000000 "$node_(8) setdest 29.470473 435.584536 10.017580" -$ns_ at 7.000000 "$node_(9) setdest 144.909476 418.020989 11.721670" -$ns_ at 7.000000 "$node_(10) setdest 154.204220 401.865406 11.128419" - -$ns_ at 8.000000 "$node_(1) setdest 208.501664 469.415232 9.715988" -$ns_ at 8.000000 "$node_(2) setdest 164.443430 390.863715 13.235894" -$ns_ at 8.000000 "$node_(3) setdest 23.619197 545.235409 5.105577" -$ns_ at 8.000000 "$node_(4) setdest 90.784905 526.131143 11.896146" -$ns_ at 8.000000 "$node_(5) setdest 192.096154 518.214428 6.923603" -$ns_ at 8.000000 "$node_(6) setdest 80.107574 514.731340 12.231323" -$ns_ at 8.000000 "$node_(7) setdest 153.494434 405.549908 12.942672" -$ns_ at 8.000000 "$node_(8) setdest 34.279206 446.159167 11.616658" -$ns_ at 8.000000 "$node_(9) setdest 131.868827 420.741097 13.321318" -$ns_ at 8.000000 "$node_(10) setdest 155.452554 414.535462 12.731405" - -$ns_ at 9.000000 "$node_(1) setdest 219.760670 470.533402 11.314394" -$ns_ at 9.000000 "$node_(2) setdest 178.682089 395.031168 14.836006" -$ns_ at 9.000000 "$node_(3) setdest 30.308442 544.767661 6.705579" -$ns_ at 9.000000 "$node_(4) setdest 103.964771 523.226201 13.496205" -$ns_ at 9.000000 "$node_(5) setdest 200.282657 515.840475 8.523761" -$ns_ at 9.000000 "$node_(6) setdest 69.403546 506.039069 13.788828" -$ns_ at 9.000000 "$node_(7) setdest 157.365544 391.985292 14.106179" -$ns_ at 9.000000 "$node_(8) setdest 38.646714 458.620995 13.205010" -$ns_ at 9.000000 "$node_(9) setdest 117.255049 423.747093 14.919736" -$ns_ at 9.000000 "$node_(10) setdest 155.850673 428.857711 14.327781" - -$ns_ at 10.000000 "$node_(1) setdest 232.472738 472.803312 12.913139" -$ns_ at 10.000000 "$node_(2) setdest 194.127048 400.653131 16.436339" -$ns_ at 10.000000 "$node_(3) setdest 38.581962 544.035935 8.305815" -$ns_ at 10.000000 "$node_(4) setdest 118.685377 519.880090 15.096115" -$ns_ at 10.000000 "$node_(5) setdest 210.050487 513.181447 10.123286" -$ns_ at 10.000000 "$node_(6) setdest 59.302514 494.374293 15.430420" -$ns_ at 10.000000 "$node_(7) setdest 169.643190 381.472758 16.163353" -$ns_ at 10.000000 "$node_(8) setdest 40.877385 473.255023 14.803063" -$ns_ at 10.000000 "$node_(9) setdest 100.860701 425.784585 16.520473" -$ns_ at 10.000000 "$node_(10) setdest 154.521863 444.723981 15.921817" - -$ns_ at 11.000000 "$node_(1) setdest 246.478612 476.598268 14.510900" -$ns_ at 11.000000 "$node_(2) setdest 210.951195 407.159256 18.038337" -$ns_ at 11.000000 "$node_(3) setdest 48.438708 543.050999 9.905834" -$ns_ at 11.000000 "$node_(4) setdest 134.861031 515.746212 16.695530" -$ns_ at 11.000000 "$node_(5) setdest 221.527307 510.799257 11.721444" -$ns_ at 11.000000 "$node_(6) setdest 49.457411 480.494289 17.017067" -$ns_ at 11.000000 "$node_(7) setdest 180.598709 367.456279 17.790028" -$ns_ at 11.000000 "$node_(8) setdest 39.538357 489.562934 16.362792" -$ns_ at 11.000000 "$node_(9) setdest 83.020566 428.952409 18.119203" -$ns_ at 11.000000 "$node_(10) setdest 151.821820 462.044995 17.530195" - -$ns_ at 12.000000 "$node_(1) setdest 261.629729 482.087033 16.114679" -$ns_ at 12.000000 "$node_(2) setdest 229.245871 414.133015 19.578776" -$ns_ at 12.000000 "$node_(3) setdest 59.881260 541.845844 11.505842" -$ns_ at 12.000000 "$node_(4) setdest 152.423948 510.621388 18.295352" -$ns_ at 12.000000 "$node_(5) setdest 234.527040 507.889458 13.321411" -$ns_ at 12.000000 "$node_(6) setdest 40.966307 463.915095 18.627091" -$ns_ at 12.000000 "$node_(7) setdest 185.609934 356.000078 12.504276" -$ns_ at 12.000000 "$node_(8) setdest 30.885561 505.096833 17.781252" -$ns_ at 12.000000 "$node_(9) setdest 63.625003 431.905828 19.619138" -$ns_ at 12.000000 "$node_(10) setdest 146.050593 480.248923 19.096860" - -$ns_ at 13.000000 "$node_(1) setdest 278.393127 487.812114 17.714064" -$ns_ at 13.000000 "$node_(2) setdest 248.189196 420.533024 19.995242" -$ns_ at 13.000000 "$node_(3) setdest 72.938784 540.726815 13.105387" -$ns_ at 13.000000 "$node_(4) setdest 171.235204 504.613101 19.747478" -$ns_ at 13.000000 "$node_(5) setdest 249.025623 504.352557 14.923758" -$ns_ at 13.000000 "$node_(6) setdest 30.880946 446.819434 19.848832" -$ns_ at 13.000000 "$node_(7) setdest 184.657559 357.512927 1.787661" -$ns_ at 13.000000 "$node_(8) setdest 14.206642 507.144149 16.804101" -$ns_ at 13.000000 "$node_(9) setdest 44.005432 428.793757 19.864857" -$ns_ at 13.000000 "$node_(10) setdest 132.025204 492.782747 18.809792" - -$ns_ at 14.000000 "$node_(1) setdest 297.118073 492.525399 19.309031" -$ns_ at 14.000000 "$node_(2) setdest 267.609451 425.285611 19.993334" -$ns_ at 14.000000 "$node_(3) setdest 87.624368 539.967665 14.705193" -$ns_ at 14.000000 "$node_(4) setdest 190.013797 497.736791 19.997979" -$ns_ at 14.000000 "$node_(5) setdest 265.067340 500.390654 16.523722" -$ns_ at 14.000000 "$node_(6) setdest 22.990420 428.699834 19.763105" -$ns_ at 14.000000 "$node_(7) setdest 182.833109 360.375049 3.394165" -$ns_ at 14.000000 "$node_(8) setdest 11.626599 492.727976 14.645227" -$ns_ at 14.000000 "$node_(9) setdest 26.668091 418.946242 19.938830" -$ns_ at 14.000000 "$node_(10) setdest 123.299921 486.526765 10.736287" - -$ns_ at 15.000000 "$node_(1) setdest 316.902786 495.404161 19.993052" -$ns_ at 15.000000 "$node_(2) setdest 287.409944 428.039581 19.991095" -$ns_ at 15.000000 "$node_(3) setdest 103.927453 539.724173 16.304903" -$ns_ at 15.000000 "$node_(4) setdest 208.447762 489.981073 19.999056" -$ns_ at 15.000000 "$node_(5) setdest 282.569771 495.688589 18.123038" -$ns_ at 15.000000 "$node_(6) setdest 32.358017 413.328574 18.000764" -$ns_ at 15.000000 "$node_(7) setdest 180.522818 364.802409 4.993892" -$ns_ at 15.000000 "$node_(8) setdest 17.250049 478.879349 14.946828" -$ns_ at 15.000000 "$node_(9) setdest 19.305071 401.972918 18.501562" -$ns_ at 15.000000 "$node_(10) setdest 122.308127 476.484801 10.090823" - -$ns_ at 16.000000 "$node_(1) setdest 336.810376 497.321840 19.999742" -$ns_ at 16.000000 "$node_(2) setdest 307.390871 428.541832 19.987239" -$ns_ at 16.000000 "$node_(3) setdest 121.831706 539.952811 17.905713" -$ns_ at 16.000000 "$node_(4) setdest 227.120033 482.822730 19.997389" -$ns_ at 16.000000 "$node_(5) setdest 301.236586 489.579183 19.641151" -$ns_ at 16.000000 "$node_(6) setdest 46.948370 420.814042 16.398495" -$ns_ at 16.000000 "$node_(7) setdest 177.898557 370.854610 6.596658" -$ns_ at 16.000000 "$node_(8) setdest 30.672025 469.903968 16.146420" -$ns_ at 16.000000 "$node_(9) setdest 28.762169 396.296220 11.030031" -$ns_ at 16.000000 "$node_(10) setdest 119.039643 465.199922 11.748680" - -$ns_ at 17.000000 "$node_(1) setdest 356.723919 496.365486 19.936494" -$ns_ at 17.000000 "$node_(2) setdest 327.327857 427.009656 19.995774" -$ns_ at 17.000000 "$node_(3) setdest 141.310307 540.046329 19.478826" -$ns_ at 17.000000 "$node_(4) setdest 246.180029 476.772114 19.997335" -$ns_ at 17.000000 "$node_(5) setdest 320.056175 482.812486 19.999128" -$ns_ at 17.000000 "$node_(6) setdest 50.106366 436.546462 16.046245" -$ns_ at 17.000000 "$node_(7) setdest 175.044087 378.536882 8.195444" -$ns_ at 17.000000 "$node_(8) setdest 48.497193 467.760705 17.953557" -$ns_ at 17.000000 "$node_(9) setdest 38.413556 402.420929 11.430719" -$ns_ at 17.000000 "$node_(10) setdest 114.693546 452.584125 13.343422" - -$ns_ at 18.000000 "$node_(1) setdest 376.664288 496.703412 19.943231" -$ns_ at 18.000000 "$node_(2) setdest 346.945189 423.241158 19.976018" -$ns_ at 18.000000 "$node_(3) setdest 161.304062 539.571077 19.999402" -$ns_ at 18.000000 "$node_(4) setdest 265.558802 471.836704 19.997378" -$ns_ at 18.000000 "$node_(5) setdest 338.448532 474.970956 19.994209" -$ns_ at 18.000000 "$node_(6) setdest 54.288270 451.088370 15.131272" -$ns_ at 18.000000 "$node_(7) setdest 172.073073 387.868710 9.793362" -$ns_ at 18.000000 "$node_(8) setdest 67.655050 465.445201 19.297281" -$ns_ at 18.000000 "$node_(9) setdest 49.709921 408.850378 12.997910" -$ns_ at 18.000000 "$node_(10) setdest 114.878490 437.804560 14.780722" - -$ns_ at 19.000000 "$node_(1) setdest 396.221169 500.830441 19.987596" -$ns_ at 19.000000 "$node_(2) setdest 364.910034 414.653995 19.911680" -$ns_ at 19.000000 "$node_(3) setdest 181.265387 538.352550 19.998483" -$ns_ at 19.000000 "$node_(4) setdest 285.155517 467.848358 19.998454" -$ns_ at 19.000000 "$node_(5) setdest 356.023480 465.435990 19.994859" -$ns_ at 19.000000 "$node_(6) setdest 59.822992 466.650093 16.516669" -$ns_ at 19.000000 "$node_(7) setdest 170.484709 399.136223 11.378916" -$ns_ at 19.000000 "$node_(8) setdest 84.504418 457.452149 18.649130" -$ns_ at 19.000000 "$node_(9) setdest 63.410973 414.003103 14.637944" -$ns_ at 19.000000 "$node_(10) setdest 124.979075 425.189235 16.160700" - -$ns_ at 20.000000 "$node_(1) setdest 414.959731 507.703787 19.959373" -$ns_ at 20.000000 "$node_(2) setdest 380.876777 402.624609 19.991073" -$ns_ at 20.000000 "$node_(3) setdest 201.169537 536.405487 19.999156" -$ns_ at 20.000000 "$node_(4) setdest 304.943032 464.963448 19.996711" -$ns_ at 20.000000 "$node_(5) setdest 372.787924 454.543588 19.992274" -$ns_ at 20.000000 "$node_(6) setdest 70.020001 481.532051 18.040280" -$ns_ at 20.000000 "$node_(7) setdest 170.249709 412.128831 12.994733" -$ns_ at 20.000000 "$node_(8) setdest 93.638312 442.200433 17.777595" -$ns_ at 20.000000 "$node_(9) setdest 78.562641 419.829513 16.233302" -$ns_ at 20.000000 "$node_(10) setdest 142.579167 424.108364 17.633250" - -$ns_ at 21.000000 "$node_(1) setdest 429.209520 521.348596 19.729097" -$ns_ at 21.000000 "$node_(2) setdest 397.102346 390.982114 19.970398" -$ns_ at 21.000000 "$node_(3) setdest 220.965783 533.570502 19.998213" -$ns_ at 21.000000 "$node_(4) setdest 324.852277 463.066604 19.999402" -$ns_ at 21.000000 "$node_(5) setdest 388.665021 442.382765 19.999195" -$ns_ at 21.000000 "$node_(6) setdest 86.716919 491.602850 19.498924" -$ns_ at 21.000000 "$node_(7) setdest 169.847567 426.715435 14.592147" -$ns_ at 21.000000 "$node_(8) setdest 97.710618 423.903178 18.744951" -$ns_ at 21.000000 "$node_(9) setdest 95.770736 424.404680 17.805917" -$ns_ at 21.000000 "$node_(10) setdest 161.156216 426.885868 18.783538" - -$ns_ at 22.000000 "$node_(1) setdest 430.473009 540.114895 18.808785" -$ns_ at 22.000000 "$node_(2) setdest 416.281990 386.251137 19.754515" -$ns_ at 22.000000 "$node_(3) setdest 240.636740 529.963240 19.998972" -$ns_ at 22.000000 "$node_(4) setdest 344.804967 461.695943 19.999714" -$ns_ at 22.000000 "$node_(5) setdest 405.064820 430.950640 19.991171" -$ns_ at 22.000000 "$node_(6) setdest 105.990772 495.255793 19.616967" -$ns_ at 22.000000 "$node_(7) setdest 167.385262 442.713557 16.186502" -$ns_ at 22.000000 "$node_(8) setdest 103.162186 405.249727 19.433755" -$ns_ at 22.000000 "$node_(9) setdest 115.163365 425.341594 19.415248" -$ns_ at 22.000000 "$node_(10) setdest 179.829755 431.479678 19.230293" - -$ns_ at 23.000000 "$node_(1) setdest 415.678953 543.404262 15.155331" -$ns_ at 23.000000 "$node_(2) setdest 435.187649 392.319327 19.855651" -$ns_ at 23.000000 "$node_(3) setdest 260.149758 525.579574 19.999361" -$ns_ at 23.000000 "$node_(4) setdest 364.757106 460.319210 19.999581" -$ns_ at 23.000000 "$node_(5) setdest 423.001973 422.178788 19.967143" -$ns_ at 23.000000 "$node_(6) setdest 123.055577 489.304227 18.072872" -$ns_ at 23.000000 "$node_(7) setdest 163.127378 459.989903 17.793305" -$ns_ at 23.000000 "$node_(8) setdest 100.668183 387.349777 18.072860" -$ns_ at 23.000000 "$node_(9) setdest 134.745751 421.781273 19.903410" -$ns_ at 23.000000 "$node_(10) setdest 192.254617 443.561434 17.330494" - -$ns_ at 24.000000 "$node_(1) setdest 406.160525 540.747525 9.882242" -$ns_ at 24.000000 "$node_(2) setdest 449.530999 405.814727 19.694098" -$ns_ at 24.000000 "$node_(3) setdest 279.642597 521.105699 19.999658" -$ns_ at 24.000000 "$node_(4) setdest 384.596757 457.826144 19.995677" -$ns_ at 24.000000 "$node_(5) setdest 442.473674 417.861163 19.944649" -$ns_ at 24.000000 "$node_(6) setdest 134.199736 475.485411 17.752521" -$ns_ at 24.000000 "$node_(7) setdest 160.485918 479.161017 19.352233" -$ns_ at 24.000000 "$node_(8) setdest 89.621312 373.738896 17.529673" -$ns_ at 24.000000 "$node_(9) setdest 151.033770 410.479558 19.824942" -$ns_ at 24.000000 "$node_(10) setdest 187.121532 459.497919 16.742763" - -$ns_ at 25.000000 "$node_(1) setdest 409.358404 540.925330 3.202818" -$ns_ at 25.000000 "$node_(2) setdest 458.447905 423.373342 19.693049" -$ns_ at 25.000000 "$node_(3) setdest 299.300679 517.470033 19.991455" -$ns_ at 25.000000 "$node_(4) setdest 404.207394 453.940099 19.991959" -$ns_ at 25.000000 "$node_(5) setdest 462.251199 419.968804 19.889511" -$ns_ at 25.000000 "$node_(6) setdest 137.331615 457.789340 17.971076" -$ns_ at 25.000000 "$node_(7) setdest 163.430534 498.853924 19.911840" -$ns_ at 25.000000 "$node_(8) setdest 77.657124 359.369184 18.698407" -$ns_ at 25.000000 "$node_(9) setdest 164.260780 395.480602 19.998061" -$ns_ at 25.000000 "$node_(10) setdest 184.039441 474.459839 15.276071" - -$ns_ at 26.000000 "$node_(1) setdest 413.898194 539.190016 4.860144" -$ns_ at 26.000000 "$node_(2) setdest 472.249585 436.422368 18.993774" -$ns_ at 26.000000 "$node_(3) setdest 319.267001 516.756455 19.979069" -$ns_ at 26.000000 "$node_(4) setdest 422.915330 447.007413 19.951166" -$ns_ at 26.000000 "$node_(5) setdest 477.938097 430.823097 19.076018" -$ns_ at 26.000000 "$node_(6) setdest 140.850027 439.467490 18.656618" -$ns_ at 26.000000 "$node_(7) setdest 173.893091 515.708878 19.838210" -$ns_ at 26.000000 "$node_(8) setdest 62.077819 360.254769 15.604455" -$ns_ at 26.000000 "$node_(9) setdest 179.407140 382.455787 19.976437" -$ns_ at 26.000000 "$node_(10) setdest 185.534654 490.826466 16.434784" - -$ns_ at 27.000000 "$node_(1) setdest 419.345130 535.713495 6.461836" -$ns_ at 27.000000 "$node_(2) setdest 485.947996 449.586921 18.998734" -$ns_ at 27.000000 "$node_(3) setdest 339.044367 519.533812 19.971427" -$ns_ at 27.000000 "$node_(4) setdest 438.826119 435.000710 19.932740" -$ns_ at 27.000000 "$node_(5) setdest 473.471267 424.832381 7.472701" -$ns_ at 27.000000 "$node_(6) setdest 135.925019 421.904243 18.240706" -$ns_ at 27.000000 "$node_(7) setdest 186.435379 531.166580 19.906018" -$ns_ at 27.000000 "$node_(8) setdest 57.119411 374.294350 14.889447" -$ns_ at 27.000000 "$node_(9) setdest 192.143744 373.866180 15.362370" -$ns_ at 27.000000 "$node_(10) setdest 185.569664 508.866862 18.040430" - -$ns_ at 28.000000 "$node_(1) setdest 425.125458 530.097247 8.059430" -$ns_ at 28.000000 "$node_(2) setdest 493.049174 466.718934 18.545421" -$ns_ at 28.000000 "$node_(3) setdest 358.303469 524.898542 19.992332" -$ns_ at 28.000000 "$node_(4) setdest 450.847143 419.080495 19.948891" -$ns_ at 28.000000 "$node_(5) setdest 466.757695 428.118270 7.474565" -$ns_ at 28.000000 "$node_(6) setdest 128.600444 404.149699 19.206072" -$ns_ at 28.000000 "$node_(7) setdest 190.977325 534.505975 5.637449" -$ns_ at 28.000000 "$node_(8) setdest 50.549060 388.112799 15.300949" -$ns_ at 28.000000 "$node_(9) setdest 191.629729 374.111864 0.569712" -$ns_ at 28.000000 "$node_(10) setdest 181.834449 527.981880 19.476543" - -$ns_ at 29.000000 "$node_(1) setdest 431.663417 522.972367 9.669997" -$ns_ at 29.000000 "$node_(2) setdest 500.999975 483.730217 18.777619" -$ns_ at 29.000000 "$node_(3) setdest 378.191935 526.327594 19.939741" -$ns_ at 29.000000 "$node_(4) setdest 458.446194 400.622892 19.960678" -$ns_ at 29.000000 "$node_(5) setdest 461.699992 435.699961 9.113857" -$ns_ at 29.000000 "$node_(6) setdest 122.697249 385.435598 19.623081" -$ns_ at 29.000000 "$node_(7) setdest 183.725190 529.813555 8.637839" -$ns_ at 29.000000 "$node_(8) setdest 38.920729 400.522858 17.006694" -$ns_ at 29.000000 "$node_(9) setdest 190.433575 375.757305 2.034271" -$ns_ at 29.000000 "$node_(10) setdest 169.338208 541.367431 18.311990" - -$ns_ at 30.000000 "$node_(1) setdest 440.262619 515.700706 11.261586" -$ns_ at 30.000000 "$node_(2) setdest 500.811238 501.442061 17.712850" -$ns_ at 30.000000 "$node_(3) setdest 397.439899 521.321197 19.888392" -$ns_ at 30.000000 "$node_(4) setdest 464.984365 381.792314 19.933348" -$ns_ at 30.000000 "$node_(5) setdest 458.178246 445.894374 10.785581" -$ns_ at 30.000000 "$node_(6) setdest 117.489012 366.365374 19.768641" -$ns_ at 30.000000 "$node_(7) setdest 174.343370 525.704745 10.242113" -$ns_ at 30.000000 "$node_(8) setdest 24.090640 411.759729 18.606419" -$ns_ at 30.000000 "$node_(9) setdest 187.828459 378.293814 3.636002" -$ns_ at 30.000000 "$node_(10) setdest 152.821188 535.712898 17.458113" - -$ns_ at 31.000000 "$node_(1) setdest 451.405438 509.290896 12.854885" -$ns_ at 31.000000 "$node_(2) setdest 491.700571 517.036414 18.060678" -$ns_ at 31.000000 "$node_(3) setdest 413.171544 509.240492 19.835022" -$ns_ at 31.000000 "$node_(4) setdest 480.918024 372.117997 18.640651" -$ns_ at 31.000000 "$node_(5) setdest 456.464076 458.133299 12.358384" -$ns_ at 31.000000 "$node_(6) setdest 116.659357 360.796271 5.630563" -$ns_ at 31.000000 "$node_(7) setdest 164.951174 518.581014 11.788168" -$ns_ at 31.000000 "$node_(8) setdest 8.936318 423.738537 19.316970" -$ns_ at 31.000000 "$node_(9) setdest 184.393707 382.243473 5.234245" -$ns_ at 31.000000 "$node_(10) setdest 139.669561 526.256345 16.198509" - -$ns_ at 32.000000 "$node_(1) setdest 464.725397 503.658293 14.461934" -$ns_ at 32.000000 "$node_(2) setdest 479.083065 531.312050 19.052435" -$ns_ at 32.000000 "$node_(3) setdest 421.035268 491.095019 19.776156" -$ns_ at 32.000000 "$node_(4) setdest 490.592449 383.745440 15.125870" -$ns_ at 32.000000 "$node_(5) setdest 456.762816 472.118321 13.988212" -$ns_ at 32.000000 "$node_(6) setdest 116.717596 368.408818 7.612770" -$ns_ at 32.000000 "$node_(7) setdest 156.422329 508.202089 13.433662" -$ns_ at 32.000000 "$node_(8) setdest 11.745791 420.358995 4.394820" -$ns_ at 32.000000 "$node_(9) setdest 180.640795 387.951388 6.831153" -$ns_ at 32.000000 "$node_(10) setdest 126.512644 516.165541 16.580976" - -$ns_ at 33.000000 "$node_(1) setdest 480.312677 499.837211 16.048799" -$ns_ at 33.000000 "$node_(2) setdest 464.103605 542.498822 18.695670" -$ns_ at 33.000000 "$node_(3) setdest 415.566812 472.559995 19.324884" -$ns_ at 33.000000 "$node_(4) setdest 492.444864 398.380771 14.752097" -$ns_ at 33.000000 "$node_(5) setdest 454.811405 487.581008 15.585336" -$ns_ at 33.000000 "$node_(6) setdest 117.946938 377.618577 9.291444" -$ns_ at 33.000000 "$node_(7) setdest 147.983933 495.750139 15.041861" -$ns_ at 33.000000 "$node_(8) setdest 16.630884 421.422038 4.999419" -$ns_ at 33.000000 "$node_(9) setdest 176.046756 395.024567 8.434160" -$ns_ at 33.000000 "$node_(10) setdest 114.664512 502.380973 18.176703" - -$ns_ at 34.000000 "$node_(1) setdest 497.919072 498.422291 17.663158" -$ns_ at 34.000000 "$node_(2) setdest 467.653826 541.046000 3.835981" -$ns_ at 34.000000 "$node_(3) setdest 405.186017 464.081358 13.403290" -$ns_ at 34.000000 "$node_(4) setdest 490.175129 414.347121 16.126873" -$ns_ at 34.000000 "$node_(5) setdest 451.792079 504.480069 17.166671" -$ns_ at 34.000000 "$node_(6) setdest 121.883147 387.777476 10.894815" -$ns_ at 34.000000 "$node_(7) setdest 138.114893 482.374086 16.622777" -$ns_ at 34.000000 "$node_(8) setdest 22.994022 423.191629 6.604618" -$ns_ at 34.000000 "$node_(9) setdest 170.044883 403.068060 10.035948" -$ns_ at 34.000000 "$node_(10) setdest 107.004140 484.410586 19.534997" - -$ns_ at 35.000000 "$node_(1) setdest 517.152845 499.275087 19.252670" -$ns_ at 35.000000 "$node_(2) setdest 469.760083 536.639542 4.883974" -$ns_ at 35.000000 "$node_(3) setdest 406.522026 464.499466 1.399905" -$ns_ at 35.000000 "$node_(4) setdest 486.192447 431.664927 17.769867" -$ns_ at 35.000000 "$node_(5) setdest 441.963945 520.294525 18.619593" -$ns_ at 35.000000 "$node_(6) setdest 124.346991 399.961894 12.431032" -$ns_ at 35.000000 "$node_(7) setdest 124.150809 470.712739 18.192929" -$ns_ at 35.000000 "$node_(8) setdest 30.684577 426.047417 8.203668" -$ns_ at 35.000000 "$node_(9) setdest 162.654904 412.053873 11.634287" -$ns_ at 35.000000 "$node_(10) setdest 107.841118 465.759378 18.669978" - -$ns_ at 36.000000 "$node_(1) setdest 536.528998 504.082029 19.963517" -$ns_ at 36.000000 "$node_(2) setdest 474.403635 532.108135 6.488160" -$ns_ at 36.000000 "$node_(3) setdest 409.528015 464.468428 3.006149" -$ns_ at 36.000000 "$node_(4) setdest 484.427652 450.881008 19.296950" -$ns_ at 36.000000 "$node_(5) setdest 426.470273 532.788799 19.903788" -$ns_ at 36.000000 "$node_(6) setdest 120.932715 413.505237 13.967084" -$ns_ at 36.000000 "$node_(7) setdest 105.532349 464.813463 19.530707" -$ns_ at 36.000000 "$node_(8) setdest 39.253080 430.783080 9.790084" -$ns_ at 36.000000 "$node_(9) setdest 153.536221 421.645072 13.234104" -$ns_ at 36.000000 "$node_(10) setdest 117.666134 450.695452 17.984794" - -$ns_ at 37.000000 "$node_(1) setdest 554.428542 512.921944 19.963411" -$ns_ at 37.000000 "$node_(2) setdest 481.127335 527.610678 8.089206" -$ns_ at 37.000000 "$node_(3) setdest 414.102043 465.013680 4.606412" -$ns_ at 37.000000 "$node_(4) setdest 489.773407 469.940100 19.794597" -$ns_ at 37.000000 "$node_(5) setdest 408.058188 532.100718 18.424937" -$ns_ at 37.000000 "$node_(6) setdest 109.012095 423.192684 15.360592" -$ns_ at 37.000000 "$node_(7) setdest 85.728992 467.102452 19.935205" -$ns_ at 37.000000 "$node_(8) setdest 48.361002 437.630220 11.394629" -$ns_ at 37.000000 "$node_(9) setdest 142.102893 431.075459 14.820701" -$ns_ at 37.000000 "$node_(10) setdest 131.161133 437.935237 18.572509" - -$ns_ at 38.000000 "$node_(1) setdest 566.932229 527.655226 19.323866" -$ns_ at 38.000000 "$node_(2) setdest 490.148231 524.075412 9.688895" -$ns_ at 38.000000 "$node_(3) setdest 420.185075 466.255244 6.208443" -$ns_ at 38.000000 "$node_(4) setdest 501.252538 485.927117 19.681340" -$ns_ at 38.000000 "$node_(5) setdest 405.981429 521.845202 10.463677" -$ns_ at 38.000000 "$node_(6) setdest 91.954174 422.557957 17.069726" -$ns_ at 38.000000 "$node_(7) setdest 66.578736 472.830545 19.988581" -$ns_ at 38.000000 "$node_(8) setdest 58.379443 445.916629 13.001297" -$ns_ at 38.000000 "$node_(9) setdest 128.348746 440.069498 16.433785" -$ns_ at 38.000000 "$node_(10) setdest 139.114132 421.205939 18.523488" - -$ns_ at 39.000000 "$node_(1) setdest 567.143596 529.512240 1.869004" -$ns_ at 39.000000 "$node_(2) setdest 501.202329 521.792270 11.287418" -$ns_ at 39.000000 "$node_(3) setdest 427.677364 468.446739 7.806218" -$ns_ at 39.000000 "$node_(4) setdest 511.141012 502.780491 19.540167" -$ns_ at 39.000000 "$node_(5) setdest 413.374406 514.767835 10.234513" -$ns_ at 39.000000 "$node_(6) setdest 75.493177 413.507199 18.785117" -$ns_ at 39.000000 "$node_(7) setdest 46.764183 471.773954 19.842703" -$ns_ at 39.000000 "$node_(8) setdest 69.942011 454.838968 14.604833" -$ns_ at 39.000000 "$node_(9) setdest 112.291115 448.251876 18.022176" -$ns_ at 39.000000 "$node_(10) setdest 141.846200 402.561193 18.843852" - -$ns_ at 40.000000 "$node_(1) setdest 564.578377 527.996748 2.979440" -$ns_ at 40.000000 "$node_(2) setdest 514.059687 520.805131 12.895197" -$ns_ at 40.000000 "$node_(3) setdest 436.538030 471.609166 9.408100" -$ns_ at 40.000000 "$node_(4) setdest 519.473141 520.208352 19.317213" -$ns_ at 40.000000 "$node_(5) setdest 419.858457 504.879506 11.824634" -$ns_ at 40.000000 "$node_(6) setdest 87.235668 420.830481 13.838951" -$ns_ at 40.000000 "$node_(7) setdest 64.203274 476.552061 18.081820" -$ns_ at 40.000000 "$node_(8) setdest 84.829204 454.481993 14.891472" -$ns_ at 40.000000 "$node_(9) setdest 125.059425 443.474044 13.632954" -$ns_ at 40.000000 "$node_(10) setdest 148.729503 397.886383 8.320679" - -$ns_ at 41.000000 "$node_(1) setdest 560.539286 525.794333 4.600531" -$ns_ at 41.000000 "$node_(2) setdest 528.559240 520.724740 14.499776" -$ns_ at 41.000000 "$node_(3) setdest 446.636223 475.986259 11.006019" -$ns_ at 41.000000 "$node_(4) setdest 526.125692 538.415388 19.384339" -$ns_ at 41.000000 "$node_(5) setdest 424.189640 492.212788 13.386743" -$ns_ at 41.000000 "$node_(6) setdest 102.775617 424.456016 15.957271" -$ns_ at 41.000000 "$node_(7) setdest 83.933552 478.414079 19.817945" -$ns_ at 41.000000 "$node_(8) setdest 101.442514 452.999884 16.679290" -$ns_ at 41.000000 "$node_(9) setdest 140.551926 441.300742 15.644194" -$ns_ at 41.000000 "$node_(10) setdest 158.699125 396.791989 10.029510" - -$ns_ at 42.000000 "$node_(1) setdest 554.946328 523.113767 6.202145" -$ns_ at 42.000000 "$node_(2) setdest 544.648492 520.084739 16.101976" -$ns_ at 42.000000 "$node_(3) setdest 457.867768 481.716252 12.608743" -$ns_ at 42.000000 "$node_(4) setdest 542.996006 542.160589 17.281030" -$ns_ at 42.000000 "$node_(5) setdest 427.836410 477.619041 15.042485" -$ns_ at 42.000000 "$node_(6) setdest 120.073180 427.461833 17.556783" -$ns_ at 42.000000 "$node_(7) setdest 103.908927 479.371110 19.998288" -$ns_ at 42.000000 "$node_(8) setdest 119.693903 451.998492 18.278840" -$ns_ at 42.000000 "$node_(9) setdest 157.508841 438.167173 17.244020" -$ns_ at 42.000000 "$node_(10) setdest 170.268449 395.614996 11.629039" - -$ns_ at 43.000000 "$node_(1) setdest 548.011229 519.540767 7.801405" -$ns_ at 43.000000 "$node_(2) setdest 559.640611 513.386833 16.420280" -$ns_ at 43.000000 "$node_(3) setdest 470.540438 488.142494 14.208911" -$ns_ at 43.000000 "$node_(4) setdest 557.442321 534.605141 16.302785" -$ns_ at 43.000000 "$node_(5) setdest 432.038134 461.515754 16.642426" -$ns_ at 43.000000 "$node_(6) setdest 139.110535 429.593024 19.156274" -$ns_ at 43.000000 "$node_(7) setdest 123.907121 479.374828 19.998194" -$ns_ at 43.000000 "$node_(8) setdest 139.427933 451.544210 19.739258" -$ns_ at 43.000000 "$node_(9) setdest 176.047394 434.787992 18.844013" -$ns_ at 43.000000 "$node_(10) setdest 183.465605 394.695269 13.229166" - -$ns_ at 44.000000 "$node_(1) setdest 540.245181 514.250782 9.396566" -$ns_ at 44.000000 "$node_(2) setdest 557.197334 501.679640 11.959430" -$ns_ at 44.000000 "$node_(3) setdest 484.194340 496.104414 15.805733" -$ns_ at 44.000000 "$node_(4) setdest 569.805764 524.976564 15.670489" -$ns_ at 44.000000 "$node_(5) setdest 437.187949 444.017164 18.240648" -$ns_ at 44.000000 "$node_(6) setdest 159.082551 430.599768 19.997374" -$ns_ at 44.000000 "$node_(7) setdest 143.880972 478.393510 19.997942" -$ns_ at 44.000000 "$node_(8) setdest 159.427822 451.554805 19.999892" -$ns_ at 44.000000 "$node_(9) setdest 195.825003 432.098619 19.959623" -$ns_ at 44.000000 "$node_(10) setdest 198.232049 393.331915 14.829248" - -$ns_ at 45.000000 "$node_(1) setdest 531.522089 507.546145 11.002022" -$ns_ at 45.000000 "$node_(2) setdest 547.805553 492.435892 13.177725" -$ns_ at 45.000000 "$node_(3) setdest 499.562490 504.256506 17.396455" -$ns_ at 45.000000 "$node_(4) setdest 586.131716 520.450839 16.941632" -$ns_ at 45.000000 "$node_(5) setdest 444.245357 425.600998 19.722124" -$ns_ at 45.000000 "$node_(6) setdest 179.081213 430.697528 19.998900" -$ns_ at 45.000000 "$node_(7) setdest 163.775015 476.359693 19.997735" -$ns_ at 45.000000 "$node_(8) setdest 179.427632 451.479451 19.999952" -$ns_ at 45.000000 "$node_(9) setdest 215.744509 430.326634 19.998166" -$ns_ at 45.000000 "$node_(10) setdest 214.511122 391.127338 16.427671" - -$ns_ at 46.000000 "$node_(1) setdest 521.224593 500.285353 12.599902" -$ns_ at 46.000000 "$node_(2) setdest 537.140911 482.188971 14.789658" -$ns_ at 46.000000 "$node_(3) setdest 517.239989 511.230267 19.003350" -$ns_ at 46.000000 "$node_(4) setdest 596.737679 531.230366 15.122323" -$ns_ at 46.000000 "$node_(5) setdest 450.567683 406.626744 19.999853" -$ns_ at 46.000000 "$node_(6) setdest 199.077088 430.293213 19.999963" -$ns_ at 46.000000 "$node_(7) setdest 183.547456 473.359299 19.998794" -$ns_ at 46.000000 "$node_(8) setdest 199.426772 451.293967 19.999999" -$ns_ at 46.000000 "$node_(9) setdest 235.727172 429.545275 19.997933" -$ns_ at 46.000000 "$node_(10) setdest 232.313482 388.287908 18.027380" - -$ns_ at 47.000000 "$node_(1) setdest 509.132728 492.839445 14.200519" -$ns_ at 47.000000 "$node_(2) setdest 529.956513 467.566241 16.292323" -$ns_ at 47.000000 "$node_(3) setdest 530.443547 512.706866 13.285868" -$ns_ at 47.000000 "$node_(4) setdest 593.888061 544.610217 13.679939" -$ns_ at 47.000000 "$node_(5) setdest 455.365546 387.217155 19.993791" -$ns_ at 47.000000 "$node_(6) setdest 219.066969 429.662345 19.999833" -$ns_ at 47.000000 "$node_(7) setdest 203.164862 469.479130 19.997458" -$ns_ at 47.000000 "$node_(8) setdest 219.417361 451.789967 19.996742" -$ns_ at 47.000000 "$node_(9) setdest 255.709496 428.728816 19.998997" -$ns_ at 47.000000 "$node_(10) setdest 251.796297 386.439234 19.570326" - -$ns_ at 48.000000 "$node_(1) setdest 494.811654 486.211110 15.780621" -$ns_ at 48.000000 "$node_(2) setdest 523.405915 450.824130 17.978004" -$ns_ at 48.000000 "$node_(3) setdest 527.369831 511.982215 3.157982" -$ns_ at 48.000000 "$node_(4) setdest 596.143329 540.896760 4.344652" -$ns_ at 48.000000 "$node_(5) setdest 452.127739 368.087344 19.401882" -$ns_ at 48.000000 "$node_(6) setdest 239.040183 428.633694 19.999686" -$ns_ at 48.000000 "$node_(7) setdest 222.507492 464.407083 19.996575" -$ns_ at 48.000000 "$node_(8) setdest 239.319828 453.699710 19.993882" -$ns_ at 48.000000 "$node_(9) setdest 275.658454 427.303064 19.999843" -$ns_ at 48.000000 "$node_(10) setdest 271.767272 385.393628 19.998328" - -$ns_ at 49.000000 "$node_(1) setdest 477.936814 482.029186 17.385301" -$ns_ at 49.000000 "$node_(2) setdest 511.589591 435.283606 19.522638" -$ns_ at 49.000000 "$node_(3) setdest 522.811495 510.411820 4.821262" -$ns_ at 49.000000 "$node_(4) setdest 596.364469 534.992612 5.908287" -$ns_ at 49.000000 "$node_(5) setdest 441.999585 365.539662 10.443668" -$ns_ at 49.000000 "$node_(6) setdest 259.000403 427.373742 19.999946" -$ns_ at 49.000000 "$node_(7) setdest 241.427668 457.938519 19.995384" -$ns_ at 49.000000 "$node_(8) setdest 258.949550 457.488811 19.992080" -$ns_ at 49.000000 "$node_(9) setdest 295.601472 425.794473 19.999995" -$ns_ at 49.000000 "$node_(10) setdest 291.764641 385.099501 19.999532" - -$ns_ at 50.000000 "$node_(1) setdest 460.251786 475.213570 18.952911" -$ns_ at 50.000000 "$node_(2) setdest 494.572859 425.450831 19.653312" -$ns_ at 50.000000 "$node_(3) setdest 516.437962 509.551212 6.431374" -$ns_ at 50.000000 "$node_(4) setdest 595.905073 527.487889 7.518771" -$ns_ at 50.000000 "$node_(5) setdest 435.704871 370.756310 8.175380" -$ns_ at 50.000000 "$node_(6) setdest 278.984020 426.603522 19.998455" -$ns_ at 50.000000 "$node_(7) setdest 259.940900 450.373613 19.999189" -$ns_ at 50.000000 "$node_(8) setdest 278.151718 463.062180 19.994642" -$ns_ at 50.000000 "$node_(9) setdest 315.561187 424.532692 19.999558" -$ns_ at 50.000000 "$node_(10) setdest 311.760339 384.687257 19.999947" - -$ns_ at 51.000000 "$node_(1) setdest 445.750485 461.773203 19.771980" -$ns_ at 51.000000 "$node_(2) setdest 477.062237 431.160008 18.417833" -$ns_ at 51.000000 "$node_(3) setdest 508.417207 509.293695 8.024888" -$ns_ at 51.000000 "$node_(4) setdest 596.138322 518.372789 9.118084" -$ns_ at 51.000000 "$node_(5) setdest 427.847555 376.601237 9.792885" -$ns_ at 51.000000 "$node_(6) setdest 298.977580 426.115506 19.999515" -$ns_ at 51.000000 "$node_(7) setdest 278.425975 442.746479 19.996779" -$ns_ at 51.000000 "$node_(8) setdest 297.021088 469.690556 19.999713" -$ns_ at 51.000000 "$node_(9) setdest 335.550946 423.983930 19.997290" -$ns_ at 51.000000 "$node_(10) setdest 331.755079 384.949165 19.996455" - -$ns_ at 52.000000 "$node_(1) setdest 440.756113 442.613683 19.799772" -$ns_ at 52.000000 "$node_(2) setdest 463.491729 442.499863 17.684767" -$ns_ at 52.000000 "$node_(3) setdest 498.797256 509.801163 9.633327" -$ns_ at 52.000000 "$node_(4) setdest 595.872849 507.661271 10.714807" -$ns_ at 52.000000 "$node_(5) setdest 421.543150 385.787102 11.141168" -$ns_ at 52.000000 "$node_(6) setdest 318.966418 425.467482 19.999339" -$ns_ at 52.000000 "$node_(7) setdest 297.432455 436.535728 19.995493" -$ns_ at 52.000000 "$node_(8) setdest 316.154504 475.504807 19.997327" -$ns_ at 52.000000 "$node_(9) setdest 355.519975 424.976200 19.993668" -$ns_ at 52.000000 "$node_(10) setdest 351.681172 386.619992 19.996020" - -$ns_ at 53.000000 "$node_(1) setdest 439.775796 422.648723 19.989013" -$ns_ at 53.000000 "$node_(2) setdest 454.163430 457.931863 18.032299" -$ns_ at 53.000000 "$node_(3) setdest 487.566288 509.968935 11.232221" -$ns_ at 53.000000 "$node_(4) setdest 593.366650 495.626354 12.293098" -$ns_ at 53.000000 "$node_(5) setdest 426.618346 394.729658 10.282360" -$ns_ at 53.000000 "$node_(6) setdest 338.963772 425.552181 19.997533" -$ns_ at 53.000000 "$node_(7) setdest 316.854629 431.777866 19.996452" -$ns_ at 53.000000 "$node_(8) setdest 335.626595 480.039122 19.993058" -$ns_ at 53.000000 "$node_(9) setdest 375.323130 427.689354 19.988150" -$ns_ at 53.000000 "$node_(10) setdest 371.379909 390.033338 19.992278" - -$ns_ at 54.000000 "$node_(1) setdest 445.215882 403.632184 19.779365" -$ns_ at 54.000000 "$node_(2) setdest 454.059564 475.725275 17.793715" -$ns_ at 54.000000 "$node_(3) setdest 474.763417 509.199397 12.825977" -$ns_ at 54.000000 "$node_(4) setdest 586.634251 483.521630 13.850977" -$ns_ at 54.000000 "$node_(5) setdest 434.740699 390.416312 9.196607" -$ns_ at 54.000000 "$node_(6) setdest 358.922646 426.804947 19.998152" -$ns_ at 54.000000 "$node_(7) setdest 336.584130 428.536703 19.993958" -$ns_ at 54.000000 "$node_(8) setdest 355.462297 482.552656 19.994323" -$ns_ at 54.000000 "$node_(9) setdest 394.479217 433.330580 19.969455" -$ns_ at 54.000000 "$node_(10) setdest 390.644077 395.375055 19.991051" - -$ns_ at 55.000000 "$node_(1) setdest 453.489395 385.467485 19.960143" -$ns_ at 55.000000 "$node_(2) setdest 462.180023 491.875553 18.076873" -$ns_ at 55.000000 "$node_(3) setdest 460.781091 505.762029 14.398644" -$ns_ at 55.000000 "$node_(4) setdest 575.183381 473.135665 15.459324" -$ns_ at 55.000000 "$node_(5) setdest 443.385083 383.339482 11.171700" -$ns_ at 55.000000 "$node_(6) setdest 378.818295 428.840950 19.999553" -$ns_ at 55.000000 "$node_(7) setdest 356.438978 426.133796 19.999724" -$ns_ at 55.000000 "$node_(8) setdest 375.442154 483.043104 19.985875" -$ns_ at 55.000000 "$node_(9) setdest 411.603795 443.510768 19.922032" -$ns_ at 55.000000 "$node_(10) setdest 409.167270 402.886591 19.988293" - -$ns_ at 56.000000 "$node_(1) setdest 459.358776 366.350314 19.997896" -$ns_ at 56.000000 "$node_(2) setdest 474.439207 506.513884 19.093672" -$ns_ at 56.000000 "$node_(3) setdest 448.331346 496.551801 15.486266" -$ns_ at 56.000000 "$node_(4) setdest 559.796949 465.725065 17.078034" -$ns_ at 56.000000 "$node_(5) setdest 453.233562 375.205933 12.772907" -$ns_ at 56.000000 "$node_(6) setdest 398.640054 431.491358 19.998170" -$ns_ at 56.000000 "$node_(7) setdest 376.341269 424.293425 19.987200" -$ns_ at 56.000000 "$node_(8) setdest 395.289271 480.727854 19.981702" -$ns_ at 56.000000 "$node_(9) setdest 424.686463 458.541108 19.926549" -$ns_ at 56.000000 "$node_(10) setdest 426.588462 412.682524 19.986450" - -$ns_ at 57.000000 "$node_(1) setdest 474.147494 357.589355 17.188968" -$ns_ at 57.000000 "$node_(2) setdest 487.397435 521.211648 19.594386" -$ns_ at 57.000000 "$node_(3) setdest 449.175044 489.763733 6.840299" -$ns_ at 57.000000 "$node_(4) setdest 541.945847 460.100331 18.716289" -$ns_ at 57.000000 "$node_(5) setdest 461.910819 364.190126 14.022938" -$ns_ at 57.000000 "$node_(6) setdest 418.176323 435.711193 19.986816" -$ns_ at 57.000000 "$node_(7) setdest 395.624998 428.517124 19.740868" -$ns_ at 57.000000 "$node_(8) setdest 414.491546 475.216368 19.977584" -$ns_ at 57.000000 "$node_(9) setdest 432.332273 476.914703 19.900939" -$ns_ at 57.000000 "$node_(10) setdest 442.302058 425.016869 19.976315" - -$ns_ at 58.000000 "$node_(1) setdest 481.754901 367.368742 12.389877" -$ns_ at 58.000000 "$node_(2) setdest 501.253150 535.247087 19.722434" -$ns_ at 58.000000 "$node_(3) setdest 452.555239 490.811571 3.538882" -$ns_ at 58.000000 "$node_(4) setdest 523.200618 453.356899 19.921282" -$ns_ at 58.000000 "$node_(5) setdest 462.037992 362.225513 1.968725" -$ns_ at 58.000000 "$node_(6) setdest 436.692511 443.161055 19.958699" -$ns_ at 58.000000 "$node_(7) setdest 407.232993 444.170234 19.487570" -$ns_ at 58.000000 "$node_(8) setdest 432.402128 466.376774 19.973166" -$ns_ at 58.000000 "$node_(9) setdest 433.371712 496.829333 19.941738" -$ns_ at 58.000000 "$node_(10) setdest 455.460442 440.041839 19.972301" - -$ns_ at 59.000000 "$node_(1) setdest 490.840101 378.013714 13.994866" -$ns_ at 59.000000 "$node_(2) setdest 517.254096 544.656606 18.562578" -$ns_ at 59.000000 "$node_(3) setdest 456.805761 493.906270 5.257765" -$ns_ at 59.000000 "$node_(4) setdest 505.296597 444.480311 19.983688" -$ns_ at 59.000000 "$node_(5) setdest 459.985759 364.047842 2.744548" -$ns_ at 59.000000 "$node_(6) setdest 452.558464 455.227354 19.932988" -$ns_ at 59.000000 "$node_(7) setdest 405.781902 462.093611 17.982022" -$ns_ at 59.000000 "$node_(8) setdest 448.131072 454.084488 19.962465" -$ns_ at 59.000000 "$node_(9) setdest 431.643951 516.751552 19.996999" -$ns_ at 59.000000 "$node_(10) setdest 465.450760 457.326282 19.963928" - -$ns_ at 60.000000 "$node_(1) setdest 498.659527 391.489267 15.579922" -$ns_ at 60.000000 "$node_(2) setdest 534.755136 543.334674 17.550895" -$ns_ at 60.000000 "$node_(3) setdest 462.401977 497.870630 6.858118" -$ns_ at 60.000000 "$node_(4) setdest 488.791604 433.220713 19.979823" -$ns_ at 60.000000 "$node_(5) setdest 456.842494 367.045729 4.343667" -$ns_ at 60.000000 "$node_(6) setdest 465.331500 470.591333 19.980047" -$ns_ at 60.000000 "$node_(7) setdest 408.815556 476.318798 14.545068" -$ns_ at 60.000000 "$node_(8) setdest 460.493008 438.434407 19.943483" -$ns_ at 60.000000 "$node_(9) setdest 438.396275 534.407383 18.902969" -$ns_ at 60.000000 "$node_(10) setdest 472.292912 476.109195 19.990319" - -$ns_ at 61.000000 "$node_(1) setdest 506.422494 406.848972 17.210003" -$ns_ at 61.000000 "$node_(2) setdest 550.122906 534.408750 17.771901" -$ns_ at 61.000000 "$node_(3) setdest 469.441169 502.553605 8.454613" -$ns_ at 61.000000 "$node_(4) setdest 473.810761 419.970774 19.999664" -$ns_ at 61.000000 "$node_(5) setdest 452.869841 371.468100 5.944690" -$ns_ at 61.000000 "$node_(6) setdest 475.369253 487.873233 19.985509" -$ns_ at 61.000000 "$node_(7) setdest 420.177106 474.634595 11.485703" -$ns_ at 61.000000 "$node_(8) setdest 468.519800 420.146652 19.971764" -$ns_ at 61.000000 "$node_(9) setdest 456.064353 537.336055 17.909162" -$ns_ at 61.000000 "$node_(10) setdest 480.398446 494.324173 19.937028" - -$ns_ at 62.000000 "$node_(1) setdest 514.243671 423.949759 18.804460" -$ns_ at 62.000000 "$node_(2) setdest 558.597008 518.822165 17.741252" -$ns_ at 62.000000 "$node_(3) setdest 478.289486 507.332608 10.056420" -$ns_ at 62.000000 "$node_(4) setdest 459.228341 406.299144 19.989007" -$ns_ at 62.000000 "$node_(5) setdest 448.065246 377.284900 7.544488" -$ns_ at 62.000000 "$node_(6) setdest 483.292150 506.217705 19.982291" -$ns_ at 62.000000 "$node_(7) setdest 431.806592 467.919195 13.429130" -$ns_ at 62.000000 "$node_(8) setdest 473.157337 400.709492 19.982741" -$ns_ at 62.000000 "$node_(9) setdest 471.569985 531.759731 16.477864" -$ns_ at 62.000000 "$node_(10) setdest 493.533931 509.329068 19.942113" - -$ns_ at 63.000000 "$node_(1) setdest 526.606177 439.546625 19.902105" -$ns_ at 63.000000 "$node_(2) setdest 563.865355 500.625921 18.943568" -$ns_ at 63.000000 "$node_(3) setdest 488.865584 512.231308 11.655519" -$ns_ at 63.000000 "$node_(4) setdest 443.896167 393.463964 19.995435" -$ns_ at 63.000000 "$node_(5) setdest 443.134296 384.956898 9.119968" -$ns_ at 63.000000 "$node_(6) setdest 483.704532 525.909424 19.696036" -$ns_ at 63.000000 "$node_(7) setdest 441.488756 456.383377 15.060524" -$ns_ at 63.000000 "$node_(8) setdest 471.609423 381.023538 19.746717" -$ns_ at 63.000000 "$node_(9) setdest 484.411309 520.929706 16.798483" -$ns_ at 63.000000 "$node_(10) setdest 509.195143 521.746549 19.986681" - -$ns_ at 64.000000 "$node_(1) setdest 540.433816 453.956062 19.970865" -$ns_ at 64.000000 "$node_(2) setdest 568.124533 481.658093 19.440142" -$ns_ at 64.000000 "$node_(3) setdest 501.350038 516.664198 13.248098" -$ns_ at 64.000000 "$node_(4) setdest 433.455434 376.647829 19.793718" -$ns_ at 64.000000 "$node_(5) setdest 440.254466 395.258128 10.696204" -$ns_ at 64.000000 "$node_(6) setdest 469.652755 537.742107 18.370216" -$ns_ at 64.000000 "$node_(7) setdest 449.511886 441.764181 16.676076" -$ns_ at 64.000000 "$node_(8) setdest 457.550576 367.766860 19.323320" -$ns_ at 64.000000 "$node_(9) setdest 498.202162 508.754862 18.396045" -$ns_ at 64.000000 "$node_(10) setdest 527.839755 528.576108 19.856093" - -$ns_ at 65.000000 "$node_(1) setdest 536.004799 446.599409 8.586997" -$ns_ at 65.000000 "$node_(2) setdest 564.983309 461.913673 19.992735" -$ns_ at 65.000000 "$node_(3) setdest 500.747238 516.306833 0.700769" -$ns_ at 65.000000 "$node_(4) setdest 438.545894 357.691580 19.627842" -$ns_ at 65.000000 "$node_(5) setdest 441.586829 385.431591 9.916452" -$ns_ at 65.000000 "$node_(6) setdest 457.118274 526.488725 16.844935" -$ns_ at 65.000000 "$node_(7) setdest 457.806607 425.470338 18.283646" -$ns_ at 65.000000 "$node_(8) setdest 439.123220 364.402269 18.732003" -$ns_ at 65.000000 "$node_(9) setdest 510.416367 493.167415 19.802912" -$ns_ at 65.000000 "$node_(10) setdest 547.813104 529.300629 19.986485" - -$ns_ at 66.000000 "$node_(1) setdest 535.511187 436.310624 10.300619" -$ns_ at 66.000000 "$node_(2) setdest 562.492130 442.069901 19.999531" -$ns_ at 66.000000 "$node_(3) setdest 500.517193 514.277017 2.042810" -$ns_ at 66.000000 "$node_(4) setdest 445.642038 338.993091 19.999719" -$ns_ at 66.000000 "$node_(5) setdest 444.691682 374.116179 11.733655" -$ns_ at 66.000000 "$node_(6) setdest 455.508240 510.110942 16.456730" -$ns_ at 66.000000 "$node_(7) setdest 468.428808 408.858654 19.717485" -$ns_ at 66.000000 "$node_(8) setdest 419.931073 364.342807 19.192239" -$ns_ at 66.000000 "$node_(9) setdest 524.816169 479.714481 19.706235" -$ns_ at 66.000000 "$node_(10) setdest 567.683020 530.920241 19.935814" - -$ns_ at 67.000000 "$node_(1) setdest 534.977282 424.421906 11.900701" -$ns_ at 67.000000 "$node_(2) setdest 560.569724 422.162987 19.999522" -$ns_ at 67.000000 "$node_(3) setdest 500.250852 510.644079 3.642688" -$ns_ at 67.000000 "$node_(4) setdest 452.955902 320.378413 19.999972" -$ns_ at 67.000000 "$node_(5) setdest 448.073535 361.217857 13.334303" -$ns_ at 67.000000 "$node_(6) setdest 451.399100 495.313815 15.357083" -$ns_ at 67.000000 "$node_(7) setdest 481.733772 393.932468 19.995327" -$ns_ at 67.000000 "$node_(8) setdest 408.322022 365.329378 11.650896" -$ns_ at 67.000000 "$node_(9) setdest 539.158447 466.290889 19.644179" -$ns_ at 67.000000 "$node_(10) setdest 586.678542 530.162271 19.010638" - -$ns_ at 68.000000 "$node_(1) setdest 534.442950 410.931909 13.500575" -$ns_ at 68.000000 "$node_(2) setdest 558.901130 402.232965 19.999749" -$ns_ at 68.000000 "$node_(3) setdest 500.103546 505.403612 5.242537" -$ns_ at 68.000000 "$node_(4) setdest 460.080618 301.691006 19.999519" -$ns_ at 68.000000 "$node_(5) setdest 452.196525 346.864412 14.933869" -$ns_ at 68.000000 "$node_(6) setdest 438.416880 485.903560 16.034056" -$ns_ at 68.000000 "$node_(7) setdest 492.545093 377.214664 19.909034" -$ns_ at 68.000000 "$node_(8) setdest 416.839668 364.609333 8.548026" -$ns_ at 68.000000 "$node_(9) setdest 555.040544 454.694707 19.665006" -$ns_ at 68.000000 "$node_(10) setdest 586.825175 529.031950 1.139792" - -$ns_ at 69.000000 "$node_(1) setdest 534.282344 395.832941 15.099822" -$ns_ at 69.000000 "$node_(2) setdest 557.329589 382.294855 19.999950" -$ns_ at 69.000000 "$node_(3) setdest 500.199783 498.561725 6.842563" -$ns_ at 69.000000 "$node_(4) setdest 466.364502 282.705492 19.998423" -$ns_ at 69.000000 "$node_(5) setdest 457.330300 331.148052 16.533591" -$ns_ at 69.000000 "$node_(6) setdest 422.274174 478.513804 17.753744" -$ns_ at 69.000000 "$node_(7) setdest 503.862909 361.836359 19.094115" -$ns_ at 69.000000 "$node_(8) setdest 427.020554 367.160258 10.495602" -$ns_ at 69.000000 "$node_(9) setdest 571.735283 444.352269 19.638745" -$ns_ at 69.000000 "$node_(10) setdest 585.455531 526.966140 2.478608" - -$ns_ at 70.000000 "$node_(1) setdest 534.838474 379.142686 16.699517" -$ns_ at 70.000000 "$node_(2) setdest 555.525020 362.376742 19.999692" -$ns_ at 70.000000 "$node_(3) setdest 500.519465 490.124854 8.442926" -$ns_ at 70.000000 "$node_(4) setdest 471.472022 263.373599 19.995221" -$ns_ at 70.000000 "$node_(5) setdest 463.120393 313.962864 18.134383" -$ns_ at 70.000000 "$node_(6) setdest 408.213514 466.311334 18.617262" -$ns_ at 70.000000 "$node_(7) setdest 507.696506 363.297112 4.102471" -$ns_ at 70.000000 "$node_(8) setdest 439.013807 368.678079 12.088916" -$ns_ at 70.000000 "$node_(9) setdest 589.464572 437.178961 19.125482" -$ns_ at 70.000000 "$node_(10) setdest 583.204839 523.564669 4.078679" - -$ns_ at 71.000000 "$node_(1) setdest 536.112282 360.887514 18.299561" -$ns_ at 71.000000 "$node_(2) setdest 553.523133 342.477773 19.999413" -$ns_ at 71.000000 "$node_(3) setdest 501.048110 480.096108 10.042669" -$ns_ at 71.000000 "$node_(4) setdest 475.511485 243.786853 19.998948" -$ns_ at 71.000000 "$node_(5) setdest 469.394485 295.340571 19.650802" -$ns_ at 71.000000 "$node_(6) setdest 409.735707 449.316228 17.063139" -$ns_ at 71.000000 "$node_(7) setdest 509.753088 368.161673 5.281428" -$ns_ at 71.000000 "$node_(8) setdest 452.539013 366.922685 13.638644" -$ns_ at 71.000000 "$node_(9) setdest 593.411094 420.224329 17.407888" -$ns_ at 71.000000 "$node_(10) setdest 580.200954 518.748793 5.675913" - -$ns_ at 72.000000 "$node_(1) setdest 538.243058 341.252788 19.750004" -$ns_ at 72.000000 "$node_(2) setdest 552.067476 322.531052 19.999766" -$ns_ at 72.000000 "$node_(3) setdest 502.043198 468.496468 11.642244" -$ns_ at 72.000000 "$node_(4) setdest 478.483272 224.011916 19.996990" -$ns_ at 72.000000 "$node_(5) setdest 475.540955 276.308901 19.999589" -$ns_ at 72.000000 "$node_(6) setdest 417.775607 434.844392 16.555181" -$ns_ at 72.000000 "$node_(7) setdest 510.902737 374.952179 6.887138" -$ns_ at 72.000000 "$node_(8) setdest 467.088300 362.216077 15.291629" -$ns_ at 72.000000 "$node_(9) setdest 588.386379 404.792399 16.229363" -$ns_ at 72.000000 "$node_(10) setdest 576.937804 512.244383 7.277053" - -$ns_ at 73.000000 "$node_(1) setdest 540.337760 321.362851 19.999934" -$ns_ at 73.000000 "$node_(2) setdest 550.508182 302.593413 19.998521" -$ns_ at 73.000000 "$node_(3) setdest 503.738640 455.363500 13.241955" -$ns_ at 73.000000 "$node_(4) setdest 480.607929 204.125582 19.999511" -$ns_ at 73.000000 "$node_(5) setdest 482.491192 257.559586 19.996064" -$ns_ at 73.000000 "$node_(6) setdest 424.060892 418.184577 17.806018" -$ns_ at 73.000000 "$node_(7) setdest 511.222289 383.432144 8.485983" -$ns_ at 73.000000 "$node_(8) setdest 483.575039 358.506602 16.898898" -$ns_ at 73.000000 "$node_(9) setdest 581.016072 390.553508 16.033323" -$ns_ at 73.000000 "$node_(10) setdest 573.633501 504.005362 8.876930" - -$ns_ at 74.000000 "$node_(1) setdest 542.640833 301.496124 19.999775" -$ns_ at 74.000000 "$node_(2) setdest 547.211487 282.875900 19.991211" -$ns_ at 74.000000 "$node_(3) setdest 506.228546 440.731667 14.842176" -$ns_ at 74.000000 "$node_(4) setdest 483.949062 184.414401 19.992345" -$ns_ at 74.000000 "$node_(5) setdest 490.772371 239.358717 19.996239" -$ns_ at 74.000000 "$node_(6) setdest 428.971719 399.458697 19.359101" -$ns_ at 74.000000 "$node_(7) setdest 510.977845 393.521870 10.092687" -$ns_ at 74.000000 "$node_(8) setdest 501.649850 360.807649 18.220692" -$ns_ at 74.000000 "$node_(9) setdest 574.169947 374.218269 17.711845" -$ns_ at 74.000000 "$node_(10) setdest 569.666315 494.308359 10.477138" - -$ns_ at 75.000000 "$node_(1) setdest 545.286982 281.676690 19.995301" -$ns_ at 75.000000 "$node_(2) setdest 541.579801 263.698851 19.986873" -$ns_ at 75.000000 "$node_(3) setdest 509.521933 424.622555 16.442319" -$ns_ at 75.000000 "$node_(4) setdest 489.316472 165.158057 19.990394" -$ns_ at 75.000000 "$node_(5) setdest 499.170013 221.211394 19.996143" -$ns_ at 75.000000 "$node_(6) setdest 433.995690 380.248856 19.855938" -$ns_ at 75.000000 "$node_(7) setdest 509.830491 405.143663 11.678292" -$ns_ at 75.000000 "$node_(8) setdest 514.956828 375.067165 19.504088" -$ns_ at 75.000000 "$node_(9) setdest 563.225009 358.537277 19.122897" -$ns_ at 75.000000 "$node_(10) setdest 564.059199 483.616863 12.072607" - -$ns_ at 76.000000 "$node_(1) setdest 550.377288 262.356101 19.979900" -$ns_ at 76.000000 "$node_(2) setdest 533.540653 245.403103 19.984051" -$ns_ at 76.000000 "$node_(3) setdest 513.154562 406.949557 18.042473" -$ns_ at 76.000000 "$node_(4) setdest 496.890661 146.658823 19.989748" -$ns_ at 76.000000 "$node_(5) setdest 507.041942 202.829163 19.996842" -$ns_ at 76.000000 "$node_(6) setdest 441.406995 362.103882 19.600192" -$ns_ at 76.000000 "$node_(7) setdest 506.263148 417.944045 13.288180" -$ns_ at 76.000000 "$node_(8) setdest 523.622151 393.089514 19.997322" -$ns_ at 76.000000 "$node_(9) setdest 562.694870 356.369564 2.231598" -$ns_ at 76.000000 "$node_(10) setdest 556.855146 471.989381 13.678331" - -$ns_ at 77.000000 "$node_(1) setdest 559.088417 244.398391 19.959036" -$ns_ at 77.000000 "$node_(2) setdest 521.840951 229.244414 19.949593" -$ns_ at 77.000000 "$node_(3) setdest 516.301733 387.623702 19.580433" -$ns_ at 77.000000 "$node_(4) setdest 505.320440 128.522356 19.999815" -$ns_ at 77.000000 "$node_(5) setdest 515.254078 184.596382 19.996837" -$ns_ at 77.000000 "$node_(6) setdest 437.257639 351.072545 11.785905" -$ns_ at 77.000000 "$node_(7) setdest 500.846086 431.809163 14.885767" -$ns_ at 77.000000 "$node_(8) setdest 529.413794 412.094108 19.867504" -$ns_ at 77.000000 "$node_(9) setdest 565.572234 358.356299 3.496619" -$ns_ at 77.000000 "$node_(10) setdest 548.808724 459.002515 15.277551" - -$ns_ at 78.000000 "$node_(1) setdest 568.615890 226.866730 19.953243" -$ns_ at 78.000000 "$node_(2) setdest 506.765408 216.107743 19.996103" -$ns_ at 78.000000 "$node_(3) setdest 518.586099 367.756661 19.997941" -$ns_ at 78.000000 "$node_(4) setdest 511.394728 109.548785 19.922183" -$ns_ at 78.000000 "$node_(5) setdest 521.978222 165.767794 19.993245" -$ns_ at 78.000000 "$node_(6) setdest 429.959797 352.164602 7.379098" -$ns_ at 78.000000 "$node_(7) setdest 494.140339 446.876872 16.492510" -$ns_ at 78.000000 "$node_(8) setdest 525.963760 430.106023 18.339351" -$ns_ at 78.000000 "$node_(9) setdest 569.000240 362.124933 5.094490" -$ns_ at 78.000000 "$node_(10) setdest 540.470647 444.327845 16.878077" - -$ns_ at 79.000000 "$node_(1) setdest 574.185687 207.679959 19.978859" -$ns_ at 79.000000 "$node_(2) setdest 491.733402 202.925804 19.993117" -$ns_ at 79.000000 "$node_(3) setdest 519.783067 347.795031 19.997485" -$ns_ at 79.000000 "$node_(4) setdest 508.990521 89.908093 19.787293" -$ns_ at 79.000000 "$node_(5) setdest 526.722730 146.349523 19.989487" -$ns_ at 79.000000 "$node_(6) setdest 421.402925 354.646309 8.909485" -$ns_ at 79.000000 "$node_(7) setdest 484.722595 462.296802 18.068430" -$ns_ at 79.000000 "$node_(8) setdest 513.980626 443.368125 17.873971" -$ns_ at 79.000000 "$node_(9) setdest 572.479374 367.825573 6.678447" -$ns_ at 79.000000 "$node_(10) setdest 529.744275 429.315243 18.450834" - -$ns_ at 80.000000 "$node_(1) setdest 576.539904 187.859407 19.959875" -$ns_ at 80.000000 "$node_(2) setdest 480.207033 186.703672 19.900119" -$ns_ at 80.000000 "$node_(3) setdest 519.812887 327.797852 19.997201" -$ns_ at 80.000000 "$node_(4) setdest 497.292409 73.848971 19.868096" -$ns_ at 80.000000 "$node_(5) setdest 528.886672 126.481962 19.985060" -$ns_ at 80.000000 "$node_(6) setdest 415.020974 363.015006 10.524466" -$ns_ at 80.000000 "$node_(7) setdest 471.817545 477.042190 19.595070" -$ns_ at 80.000000 "$node_(8) setdest 503.184441 458.887502 18.905255" -$ns_ at 80.000000 "$node_(9) setdest 575.661628 375.491501 8.300193" -$ns_ at 80.000000 "$node_(10) setdest 514.499292 416.740217 19.762106" - -$ns_ at 81.000000 "$node_(1) setdest 574.626392 167.968199 19.983034" -$ns_ at 81.000000 "$node_(2) setdest 475.821624 167.311287 19.882063" -$ns_ at 81.000000 "$node_(3) setdest 518.646194 307.835016 19.996899" -$ns_ at 81.000000 "$node_(4) setdest 483.578324 59.304461 19.990471" -$ns_ at 81.000000 "$node_(5) setdest 527.651007 106.553198 19.967035" -$ns_ at 81.000000 "$node_(6) setdest 410.440591 374.312692 12.190882" -$ns_ at 81.000000 "$node_(7) setdest 456.292988 489.616829 19.978324" -$ns_ at 81.000000 "$node_(8) setdest 498.005915 477.169448 19.001228" -$ns_ at 81.000000 "$node_(9) setdest 579.725346 384.508368 9.890283" -$ns_ at 81.000000 "$node_(10) setdest 495.634540 410.515884 19.865074" - -$ns_ at 82.000000 "$node_(1) setdest 573.744222 148.036265 19.951446" -$ns_ at 82.000000 "$node_(2) setdest 474.558082 147.369780 19.981497" -$ns_ at 82.000000 "$node_(3) setdest 516.187480 287.990063 19.996686" -$ns_ at 82.000000 "$node_(4) setdest 474.515345 41.610136 19.880309" -$ns_ at 82.000000 "$node_(5) setdest 522.091375 87.379602 19.963374" -$ns_ at 82.000000 "$node_(6) setdest 414.780703 386.764139 13.186170" -$ns_ at 82.000000 "$node_(7) setdest 438.763875 499.134151 19.946158" -$ns_ at 82.000000 "$node_(8) setdest 500.792450 494.938482 17.986199" -$ns_ at 82.000000 "$node_(9) setdest 588.726105 391.049918 11.126794" -$ns_ at 82.000000 "$node_(10) setdest 475.806091 412.296842 19.908270" - -$ns_ at 83.000000 "$node_(1) setdest 577.404142 128.397041 19.977341" -$ns_ at 83.000000 "$node_(2) setdest 471.772322 127.583434 19.981491" -$ns_ at 83.000000 "$node_(3) setdest 512.431069 268.349770 19.996293" -$ns_ at 83.000000 "$node_(4) setdest 467.791067 22.805362 19.970865" -$ns_ at 83.000000 "$node_(5) setdest 513.352198 69.412545 19.979699" -$ns_ at 83.000000 "$node_(6) setdest 426.772346 396.441652 15.409535" -$ns_ at 83.000000 "$node_(7) setdest 419.593750 498.212291 19.192278" -$ns_ at 83.000000 "$node_(8) setdest 513.064464 506.922013 17.152474" -$ns_ at 83.000000 "$node_(9) setdest 594.729903 387.107313 7.182599" -$ns_ at 83.000000 "$node_(10) setdest 456.101092 415.641689 19.986870" - -$ns_ at 84.000000 "$node_(1) setdest 583.213841 109.262849 19.996747" -$ns_ at 84.000000 "$node_(2) setdest 476.419501 108.372979 19.764560" -$ns_ at 84.000000 "$node_(3) setdest 507.266385 249.033080 19.995211" -$ns_ at 84.000000 "$node_(4) setdest 462.492387 11.625346 12.372096" -$ns_ at 84.000000 "$node_(5) setdest 502.089366 52.902858 19.985523" -$ns_ at 84.000000 "$node_(6) setdest 437.511332 409.573265 16.963640" -$ns_ at 84.000000 "$node_(7) setdest 412.014189 481.555847 18.299914" -$ns_ at 84.000000 "$node_(8) setdest 526.654692 519.163066 18.290371" -$ns_ at 84.000000 "$node_(9) setdest 592.714197 381.218901 6.223863" -$ns_ at 84.000000 "$node_(10) setdest 436.259652 418.153011 19.999737" - -$ns_ at 85.000000 "$node_(1) setdest 587.867212 89.874667 19.938793" -$ns_ at 85.000000 "$node_(2) setdest 489.338727 93.291200 19.858662" -$ns_ at 85.000000 "$node_(3) setdest 500.466087 230.231287 19.993786" -$ns_ at 85.000000 "$node_(4) setdest 463.199929 17.989912 6.403773" -$ns_ at 85.000000 "$node_(5) setdest 487.155522 39.734993 19.910107" -$ns_ at 85.000000 "$node_(6) setdest 443.956620 426.937800 18.522117" -$ns_ at 85.000000 "$node_(7) setdest 404.982373 466.107830 16.973145" -$ns_ at 85.000000 "$node_(8) setdest 537.501281 535.276226 19.423759" -$ns_ at 85.000000 "$node_(9) setdest 588.601285 374.648766 7.751304" -$ns_ at 85.000000 "$node_(10) setdest 417.844644 423.934655 19.301293" - -$ns_ at 86.000000 "$node_(1) setdest 583.707241 70.590453 19.727804" -$ns_ at 86.000000 "$node_(2) setdest 507.837671 86.031211 19.872553" -$ns_ at 86.000000 "$node_(3) setdest 492.487335 211.892008 19.999741" -$ns_ at 86.000000 "$node_(4) setdest 460.684485 25.836346 8.239780" -$ns_ at 86.000000 "$node_(5) setdest 468.395888 33.126211 19.889693" -$ns_ at 86.000000 "$node_(6) setdest 439.617458 445.683926 19.241766" -$ns_ at 86.000000 "$node_(7) setdest 405.686381 458.064025 8.074554" -$ns_ at 86.000000 "$node_(8) setdest 552.956635 544.737738 18.121484" -$ns_ at 86.000000 "$node_(9) setdest 579.604555 372.897661 9.165562" -$ns_ at 86.000000 "$node_(10) setdest 417.084191 434.018891 10.112869" - -$ns_ at 87.000000 "$node_(1) setdest 568.163720 58.723273 19.555844" -$ns_ at 87.000000 "$node_(2) setdest 527.597802 85.380885 19.770830" -$ns_ at 87.000000 "$node_(3) setdest 484.486710 193.561998 19.999982" -$ns_ at 87.000000 "$node_(4) setdest 458.575323 35.422524 9.815466" -$ns_ at 87.000000 "$node_(5) setdest 448.529777 33.971581 19.884089" -$ns_ at 87.000000 "$node_(6) setdest 425.906823 457.123064 17.855963" -$ns_ at 87.000000 "$node_(7) setdest 408.452236 458.872840 2.881690" -$ns_ at 87.000000 "$node_(8) setdest 568.879506 540.146677 16.571531" -$ns_ at 87.000000 "$node_(9) setdest 569.851338 377.857203 10.941769" -$ns_ at 87.000000 "$node_(10) setdest 421.850394 441.875446 9.189240" - -$ns_ at 88.000000 "$node_(1) setdest 548.683399 54.449519 19.943618" -$ns_ at 88.000000 "$node_(2) setdest 546.933768 82.546059 19.542668" -$ns_ at 88.000000 "$node_(3) setdest 476.681038 175.148773 19.999384" -$ns_ at 88.000000 "$node_(4) setdest 461.366028 46.344763 11.273125" -$ns_ at 88.000000 "$node_(5) setdest 430.847089 43.014463 19.860795" -$ns_ at 88.000000 "$node_(6) setdest 410.587500 453.395095 15.766401" -$ns_ at 88.000000 "$node_(7) setdest 412.362473 461.216708 4.558911" -$ns_ at 88.000000 "$node_(8) setdest 582.276440 530.346179 16.599024" -$ns_ at 88.000000 "$node_(9) setdest 560.884729 386.754776 12.631979" -$ns_ at 88.000000 "$node_(10) setdest 424.841637 452.326111 10.870324" - -$ns_ at 89.000000 "$node_(1) setdest 529.270019 51.276340 19.671004" -$ns_ at 89.000000 "$node_(2) setdest 565.972708 77.913315 19.594477" -$ns_ at 89.000000 "$node_(3) setdest 469.023624 156.673222 19.999549" -$ns_ at 89.000000 "$node_(4) setdest 471.973165 53.282586 12.674571" -$ns_ at 89.000000 "$node_(5) setdest 419.286989 58.968693 19.702116" -$ns_ at 89.000000 "$node_(6) setdest 404.803098 439.911564 14.671910" -$ns_ at 89.000000 "$node_(7) setdest 416.934945 465.341967 6.158349" -$ns_ at 89.000000 "$node_(8) setdest 595.673075 523.961962 14.840082" -$ns_ at 89.000000 "$node_(9) setdest 554.608120 399.466950 14.177277" -$ns_ at 89.000000 "$node_(10) setdest 428.943927 464.092911 12.461395" - -$ns_ at 90.000000 "$node_(1) setdest 510.446672 45.560687 19.671987" -$ns_ at 90.000000 "$node_(2) setdest 581.900465 67.427062 19.069739" -$ns_ at 90.000000 "$node_(3) setdest 460.852421 138.421298 19.997532" -$ns_ at 90.000000 "$node_(4) setdest 486.548028 54.559831 14.630720" -$ns_ at 90.000000 "$node_(5) setdest 417.520328 78.793399 19.903267" -$ns_ at 90.000000 "$node_(6) setdest 412.989536 428.553731 14.000647" -$ns_ at 90.000000 "$node_(7) setdest 421.706379 471.443160 7.745395" -$ns_ at 90.000000 "$node_(8) setdest 596.698144 525.418757 1.781297" -$ns_ at 90.000000 "$node_(9) setdest 552.296746 415.092034 15.795117" -$ns_ at 90.000000 "$node_(10) setdest 437.002050 475.535203 13.994977" - -$ns_ at 91.000000 "$node_(1) setdest 491.216630 41.851459 19.584506" -$ns_ at 91.000000 "$node_(2) setdest 597.391272 59.977823 17.188841" -$ns_ at 91.000000 "$node_(3) setdest 451.041441 121.016462 19.979581" -$ns_ at 91.000000 "$node_(4) setdest 502.763761 55.445814 16.239919" -$ns_ at 91.000000 "$node_(5) setdest 420.064577 98.608541 19.977814" -$ns_ at 91.000000 "$node_(6) setdest 427.036725 421.558974 15.692359" -$ns_ at 91.000000 "$node_(7) setdest 425.224219 480.087841 9.333043" -$ns_ at 91.000000 "$node_(8) setdest 595.078325 527.548271 2.675565" -$ns_ at 91.000000 "$node_(9) setdest 555.215513 432.214111 17.369074" -$ns_ at 91.000000 "$node_(10) setdest 450.540971 483.206577 15.561245" - -$ns_ at 92.000000 "$node_(1) setdest 471.659908 39.220660 19.732878" -$ns_ at 92.000000 "$node_(2) setdest 599.260739 62.844430 3.422330" -$ns_ at 92.000000 "$node_(3) setdest 437.200521 106.710742 19.905394" -$ns_ at 92.000000 "$node_(4) setdest 520.463512 57.440346 17.811775" -$ns_ at 92.000000 "$node_(5) setdest 425.407301 117.784600 19.906430" -$ns_ at 92.000000 "$node_(6) setdest 441.106703 411.581456 17.248628" -$ns_ at 92.000000 "$node_(7) setdest 426.330437 490.960272 10.928563" -$ns_ at 92.000000 "$node_(8) setdest 592.410482 530.533599 4.003694" -$ns_ at 92.000000 "$node_(9) setdest 564.412524 448.873432 19.029397" -$ns_ at 92.000000 "$node_(10) setdest 467.267881 487.413523 17.247838" - -$ns_ at 93.000000 "$node_(1) setdest 453.466313 33.175001 19.171774" -$ns_ at 93.000000 "$node_(2) setdest 598.291343 67.449039 4.705545" -$ns_ at 93.000000 "$node_(3) setdest 420.425409 96.070528 19.865007" -$ns_ at 93.000000 "$node_(4) setdest 539.462165 61.491498 19.425773" -$ns_ at 93.000000 "$node_(5) setdest 434.020030 135.209813 19.437519" -$ns_ at 93.000000 "$node_(6) setdest 455.272226 399.073428 18.897428" -$ns_ at 93.000000 "$node_(7) setdest 427.424847 503.463387 12.550921" -$ns_ at 93.000000 "$node_(8) setdest 593.809342 529.223559 1.916510" -$ns_ at 93.000000 "$node_(9) setdest 576.244847 464.961799 19.970965" -$ns_ at 93.000000 "$node_(10) setdest 485.902916 490.396138 18.872215" - -$ns_ at 94.000000 "$node_(1) setdest 440.069927 20.181823 18.662418" -$ns_ at 94.000000 "$node_(2) setdest 596.289520 73.428855 6.305989" -$ns_ at 94.000000 "$node_(3) setdest 418.138459 85.885901 10.438235" -$ns_ at 94.000000 "$node_(4) setdest 559.121472 65.074947 19.983229" -$ns_ at 94.000000 "$node_(5) setdest 433.752323 153.363814 18.155975" -$ns_ at 94.000000 "$node_(6) setdest 468.907539 384.565199 19.910059" -$ns_ at 94.000000 "$node_(7) setdest 423.892158 517.002474 13.992382" -$ns_ at 94.000000 "$node_(8) setdest 594.496732 525.690274 3.599529" -$ns_ at 94.000000 "$node_(9) setdest 587.176402 481.519615 19.840871" -$ns_ at 94.000000 "$node_(10) setdest 505.557558 493.894481 19.963551" - -$ns_ at 95.000000 "$node_(1) setdest 427.052116 6.847278 18.635275" -$ns_ at 95.000000 "$node_(2) setdest 594.485579 81.120759 7.900607" -$ns_ at 95.000000 "$node_(3) setdest 420.911514 86.122459 2.783127" -$ns_ at 95.000000 "$node_(4) setdest 579.042638 65.882017 19.937508" -$ns_ at 95.000000 "$node_(5) setdest 419.915636 161.815294 16.213618" -$ns_ at 95.000000 "$node_(6) setdest 479.384927 367.530238 19.999139" -$ns_ at 95.000000 "$node_(7) setdest 413.636242 520.451794 10.820426" -$ns_ at 95.000000 "$node_(8) setdest 595.480416 520.598937 5.185494" -$ns_ at 95.000000 "$node_(9) setdest 588.142218 501.154215 19.658340" -$ns_ at 95.000000 "$node_(10) setdest 525.501306 495.121901 19.981483" - -$ns_ at 96.000000 "$node_(1) setdest 410.783725 0.750524 17.373284" -$ns_ at 96.000000 "$node_(2) setdest 593.127576 90.529264 9.506006" -$ns_ at 96.000000 "$node_(3) setdest 424.469755 88.906562 4.517998" -$ns_ at 96.000000 "$node_(4) setdest 589.252016 52.033514 17.205011" -$ns_ at 96.000000 "$node_(5) setdest 406.673798 155.191050 14.806312" -$ns_ at 96.000000 "$node_(6) setdest 483.266169 352.608643 15.418108" -$ns_ at 96.000000 "$node_(7) setdest 410.018337 513.556034 7.787216" -$ns_ at 96.000000 "$node_(8) setdest 595.625065 513.990687 6.609832" -$ns_ at 96.000000 "$node_(9) setdest 576.073216 515.525770 18.767056" -$ns_ at 96.000000 "$node_(10) setdest 544.912679 490.672198 19.914850" - -$ns_ at 97.000000 "$node_(1) setdest 419.156506 3.762852 8.898179" -$ns_ at 97.000000 "$node_(2) setdest 591.679304 101.541365 11.106928" -$ns_ at 97.000000 "$node_(3) setdest 429.445594 92.463295 6.116317" -$ns_ at 97.000000 "$node_(4) setdest 580.554829 37.419012 17.006609" -$ns_ at 97.000000 "$node_(5) setdest 406.950962 153.565137 1.649367" -$ns_ at 97.000000 "$node_(6) setdest 479.856644 351.887222 3.485012" -$ns_ at 97.000000 "$node_(7) setdest 408.684567 504.276932 9.374469" -$ns_ at 97.000000 "$node_(8) setdest 590.406909 507.617288 8.237073" -$ns_ at 97.000000 "$node_(9) setdest 559.752265 523.162622 18.019294" -$ns_ at 97.000000 "$node_(10) setdest 561.124452 479.086372 19.926187" - -$ns_ at 98.000000 "$node_(1) setdest 429.488659 2.608879 10.396395" -$ns_ at 98.000000 "$node_(2) setdest 589.054917 113.968791 12.701509" -$ns_ at 98.000000 "$node_(3) setdest 436.124983 96.326552 7.716151" -$ns_ at 98.000000 "$node_(4) setdest 574.740693 23.094755 15.459253" -$ns_ at 98.000000 "$node_(5) setdest 409.384783 153.230897 2.456664" -$ns_ at 98.000000 "$node_(6) setdest 474.746734 352.016833 5.111553" -$ns_ at 98.000000 "$node_(7) setdest 413.021931 494.129886 11.035183" -$ns_ at 98.000000 "$node_(8) setdest 580.882175 505.117671 9.847266" -$ns_ at 98.000000 "$node_(9) setdest 542.784470 531.635980 18.965860" -$ns_ at 98.000000 "$node_(10) setdest 575.265149 465.030323 19.938201" - -$ns_ at 99.000000 "$node_(1) setdest 441.489099 2.335719 12.003549" -$ns_ at 99.000000 "$node_(2) setdest 586.056851 127.939810 14.289078" -$ns_ at 99.000000 "$node_(3) setdest 444.433154 100.546506 9.318461" -$ns_ at 99.000000 "$node_(4) setdest 563.604426 11.802092 15.860034" -$ns_ at 99.000000 "$node_(5) setdest 413.431025 153.540340 4.058058" -$ns_ at 99.000000 "$node_(6) setdest 468.323715 353.930297 6.701979" -$ns_ at 99.000000 "$node_(7) setdest 422.987216 486.505659 12.547341" -$ns_ at 99.000000 "$node_(8) setdest 569.510780 507.343850 11.587256" -$ns_ at 99.000000 "$node_(9) setdest 530.489038 544.913627 18.096231" -$ns_ at 99.000000 "$node_(10) setdest 581.656414 446.357042 19.736760" - -$ns_ at 100.000000 "$node_(1) setdest 454.447553 5.677176 13.382334" -$ns_ at 100.000000 "$node_(2) setdest 586.790587 143.764948 15.842139" -$ns_ at 100.000000 "$node_(3) setdest 454.264488 105.292106 10.916769" -$ns_ at 100.000000 "$node_(4) setdest 547.205392 5.747685 17.480967" -$ns_ at 100.000000 "$node_(5) setdest 419.055426 154.172769 5.659845" -$ns_ at 100.000000 "$node_(6) setdest 468.513902 353.682612 0.312280" -$ns_ at 100.000000 "$node_(7) setdest 425.531876 476.300999 10.517147" -$ns_ at 100.000000 "$node_(8) setdest 568.125928 506.009333 1.923214" -$ns_ at 100.000000 "$node_(9) setdest 534.125064 533.948308 11.552442" -$ns_ at 100.000000 "$node_(10) setdest 574.270722 427.825799 19.948820" - -$ns_ at 101.000000 "$node_(1) setdest 463.974595 17.337902 15.057791" -$ns_ at 101.000000 "$node_(2) setdest 588.818288 160.985039 17.339062" -$ns_ at 101.000000 "$node_(3) setdest 465.953584 109.763324 12.515061" -$ns_ at 101.000000 "$node_(4) setdest 528.686907 4.225543 18.580936" -$ns_ at 101.000000 "$node_(5) setdest 426.301451 153.959775 7.249155" -$ns_ at 101.000000 "$node_(6) setdest 468.409172 351.964764 1.721038" -$ns_ at 101.000000 "$node_(7) setdest 425.627464 463.860769 12.440598" -$ns_ at 101.000000 "$node_(8) setdest 568.230938 502.795685 3.215363" -$ns_ at 101.000000 "$node_(9) setdest 534.843844 520.422103 13.545289" -$ns_ at 101.000000 "$node_(10) setdest 565.376509 409.915463 19.997179" - -$ns_ at 102.000000 "$node_(1) setdest 469.266398 33.192266 16.714186" -$ns_ at 102.000000 "$node_(2) setdest 583.250087 179.129202 18.979345" -$ns_ at 102.000000 "$node_(3) setdest 479.708421 112.845067 14.095839" -$ns_ at 102.000000 "$node_(4) setdest 513.846746 13.845484 17.685407" -$ns_ at 102.000000 "$node_(5) setdest 434.772540 151.433158 8.839861" -$ns_ at 102.000000 "$node_(6) setdest 467.957451 348.674042 3.321581" -$ns_ at 102.000000 "$node_(7) setdest 425.462374 449.821538 14.040202" -$ns_ at 102.000000 "$node_(8) setdest 568.504849 497.988118 4.815363" -$ns_ at 102.000000 "$node_(9) setdest 536.479818 505.366286 15.144440" -$ns_ at 102.000000 "$node_(10) setdest 555.303153 392.642708 19.995513" - -$ns_ at 103.000000 "$node_(1) setdest 465.730169 51.026601 18.181541" -$ns_ at 103.000000 "$node_(2) setdest 566.879047 186.735999 18.051989" -$ns_ at 103.000000 "$node_(3) setdest 495.386590 112.701027 15.678831" -$ns_ at 103.000000 "$node_(4) setdest 498.374210 23.147625 18.053509" -$ns_ at 103.000000 "$node_(5) setdest 443.971210 146.477076 10.448841" -$ns_ at 103.000000 "$node_(6) setdest 467.040158 343.838883 4.921401" -$ns_ at 103.000000 "$node_(7) setdest 424.846982 434.193648 15.640001" -$ns_ at 103.000000 "$node_(8) setdest 568.959563 491.588797 6.415456" -$ns_ at 103.000000 "$node_(9) setdest 539.291404 488.859842 16.744184" -$ns_ at 103.000000 "$node_(10) setdest 543.978114 376.161913 19.996828" - -$ns_ at 104.000000 "$node_(1) setdest 453.885584 66.862210 19.775255" -$ns_ at 104.000000 "$node_(2) setdest 550.420005 182.065219 17.108953" -$ns_ at 104.000000 "$node_(3) setdest 512.035228 108.074256 17.279588" -$ns_ at 104.000000 "$node_(4) setdest 480.422154 28.888008 18.847502" -$ns_ at 104.000000 "$node_(5) setdest 453.481156 139.084396 12.045363" -$ns_ at 104.000000 "$node_(6) setdest 465.522276 337.496223 6.521756" -$ns_ at 104.000000 "$node_(7) setdest 423.890552 416.980065 17.240133" -$ns_ at 104.000000 "$node_(8) setdest 569.408345 483.586152 8.015219" -$ns_ at 104.000000 "$node_(9) setdest 542.421361 470.785101 18.343743" -$ns_ at 104.000000 "$node_(10) setdest 532.315171 359.914903 19.999739" - -$ns_ at 105.000000 "$node_(1) setdest 441.554672 82.598803 19.992292" -$ns_ at 105.000000 "$node_(2) setdest 539.013776 170.214626 16.448058" -$ns_ at 105.000000 "$node_(3) setdest 529.234106 100.206225 18.913152" -$ns_ at 105.000000 "$node_(4) setdest 461.595790 33.254097 19.326011" -$ns_ at 105.000000 "$node_(5) setdest 463.150011 129.433979 13.660795" -$ns_ at 105.000000 "$node_(6) setdest 464.066377 329.507246 8.120554" -$ns_ at 105.000000 "$node_(7) setdest 423.478241 398.145310 18.839268" -$ns_ at 105.000000 "$node_(8) setdest 569.653858 473.974181 9.615106" -$ns_ at 105.000000 "$node_(9) setdest 544.689190 451.144354 19.771242" -$ns_ at 105.000000 "$node_(10) setdest 521.557519 343.060211 19.995192" - -$ns_ at 106.000000 "$node_(1) setdest 426.035377 95.120154 19.940731" -$ns_ at 106.000000 "$node_(2) setdest 527.796998 156.046188 18.070991" -$ns_ at 106.000000 "$node_(3) setdest 546.577423 90.292431 19.976836" -$ns_ at 106.000000 "$node_(4) setdest 442.458573 31.949902 19.181606" -$ns_ at 106.000000 "$node_(5) setdest 473.667535 118.375737 15.261160" -$ns_ at 106.000000 "$node_(6) setdest 463.038352 319.841988 9.719776" -$ns_ at 106.000000 "$node_(7) setdest 424.022196 378.194573 19.958150" -$ns_ at 106.000000 "$node_(8) setdest 569.813158 462.759869 11.215443" -$ns_ at 106.000000 "$node_(9) setdest 547.190950 431.303404 19.998052" -$ns_ at 106.000000 "$node_(10) setdest 512.059389 325.464003 19.996025" - -$ns_ at 107.000000 "$node_(1) setdest 413.339629 110.424764 19.884997" -$ns_ at 107.000000 "$node_(2) setdest 522.889895 138.019659 18.682489" -$ns_ at 107.000000 "$node_(3) setdest 562.785458 78.657080 19.951987" -$ns_ at 107.000000 "$node_(4) setdest 424.326276 36.316554 18.650680" -$ns_ at 107.000000 "$node_(5) setdest 485.278736 106.151196 16.859994" -$ns_ at 107.000000 "$node_(6) setdest 462.686740 308.528017 11.319434" -$ns_ at 107.000000 "$node_(7) setdest 425.056084 358.221365 19.999950" -$ns_ at 107.000000 "$node_(8) setdest 570.011307 449.945947 12.815454" -$ns_ at 107.000000 "$node_(9) setdest 550.802202 411.635114 19.997070" -$ns_ at 107.000000 "$node_(10) setdest 504.100758 307.123887 19.992490" - -$ns_ at 108.000000 "$node_(1) setdest 403.484524 120.881194 14.368718" -$ns_ at 108.000000 "$node_(2) setdest 522.671723 118.777356 19.243540" -$ns_ at 108.000000 "$node_(3) setdest 566.030236 61.969468 17.000146" -$ns_ at 108.000000 "$node_(4) setdest 406.729266 43.449566 18.987750" -$ns_ at 108.000000 "$node_(5) setdest 498.299352 93.063657 18.461314" -$ns_ at 108.000000 "$node_(6) setdest 463.350139 295.626592 12.918469" -$ns_ at 108.000000 "$node_(7) setdest 425.713473 338.232633 19.999539" -$ns_ at 108.000000 "$node_(8) setdest 570.151839 435.531284 14.415348" -$ns_ at 108.000000 "$node_(9) setdest 553.849836 391.873169 19.995562" -$ns_ at 108.000000 "$node_(10) setdest 497.862638 288.126445 19.995423" - -$ns_ at 109.000000 "$node_(1) setdest 403.989736 119.896423 1.106803" -$ns_ at 109.000000 "$node_(2) setdest 528.443915 101.055487 18.638209" -$ns_ at 109.000000 "$node_(3) setdest 555.086711 59.581719 11.200986" -$ns_ at 109.000000 "$node_(4) setdest 419.658364 34.543594 15.699616" -$ns_ at 109.000000 "$node_(5) setdest 512.018250 78.744240 19.830629" -$ns_ at 109.000000 "$node_(6) setdest 465.226532 281.230082 14.518276" -$ns_ at 109.000000 "$node_(7) setdest 425.892742 318.233998 19.999438" -$ns_ at 109.000000 "$node_(8) setdest 569.845697 419.519895 16.014315" -$ns_ at 109.000000 "$node_(9) setdest 555.287187 371.932228 19.992677" -$ns_ at 109.000000 "$node_(10) setdest 493.133245 268.700773 19.993096" - -$ns_ at 110.000000 "$node_(1) setdest 405.689023 117.799747 2.698820" -$ns_ at 110.000000 "$node_(2) setdest 542.452784 89.981334 17.857360" -$ns_ at 110.000000 "$node_(3) setdest 541.878384 60.468639 13.238071" -$ns_ at 110.000000 "$node_(4) setdest 431.508634 26.710829 14.204967" -$ns_ at 110.000000 "$node_(5) setdest 525.437273 63.918876 19.996540" -$ns_ at 110.000000 "$node_(6) setdest 468.870766 265.532533 16.115008" -$ns_ at 110.000000 "$node_(7) setdest 425.465752 298.239034 19.999523" -$ns_ at 110.000000 "$node_(8) setdest 568.423672 401.966936 17.610467" -$ns_ at 110.000000 "$node_(9) setdest 554.604727 351.953670 19.990211" -$ns_ at 110.000000 "$node_(10) setdest 490.462288 248.888314 19.991687" - -$ns_ at 111.000000 "$node_(1) setdest 409.267839 115.417933 4.298949" -$ns_ at 111.000000 "$node_(2) setdest 559.897956 86.045463 17.883655" -$ns_ at 111.000000 "$node_(3) setdest 527.059137 59.782209 14.835137" -$ns_ at 111.000000 "$node_(4) setdest 443.573833 19.915640 13.847152" -$ns_ at 111.000000 "$node_(5) setdest 538.192908 48.515225 19.999468" -$ns_ at 111.000000 "$node_(6) setdest 473.714036 248.485385 17.721809" -$ns_ at 111.000000 "$node_(7) setdest 424.698720 278.254092 19.999656" -$ns_ at 111.000000 "$node_(8) setdest 566.060462 382.899839 19.212989" -$ns_ at 111.000000 "$node_(9) setdest 551.708859 332.174554 19.989984" -$ns_ at 111.000000 "$node_(10) setdest 489.396329 228.922479 19.994270" - -$ns_ at 112.000000 "$node_(1) setdest 414.950785 113.903111 5.881374" -$ns_ at 112.000000 "$node_(2) setdest 578.124561 87.480642 18.283021" -$ns_ at 112.000000 "$node_(3) setdest 510.636699 60.626058 16.444104" -$ns_ at 112.000000 "$node_(4) setdest 457.652786 13.663710 15.404660" -$ns_ at 112.000000 "$node_(5) setdest 551.827674 34.309326 19.690465" -$ns_ at 112.000000 "$node_(6) setdest 478.228138 229.700152 19.319992" -$ns_ at 112.000000 "$node_(7) setdest 422.398639 258.396580 19.990277" -$ns_ at 112.000000 "$node_(8) setdest 565.174425 362.924990 19.994490" -$ns_ at 112.000000 "$node_(9) setdest 546.871512 312.774624 19.993929" -$ns_ at 112.000000 "$node_(10) setdest 491.447099 209.200491 19.828325" - -$ns_ at 113.000000 "$node_(1) setdest 422.446166 114.130760 7.498837" -$ns_ at 113.000000 "$node_(2) setdest 591.915195 78.408014 16.507397" -$ns_ at 113.000000 "$node_(3) setdest 492.624699 59.666840 18.037523" -$ns_ at 113.000000 "$node_(4) setdest 472.214347 5.489961 16.698779" -$ns_ at 113.000000 "$node_(5) setdest 551.486872 35.177611 0.932773" -$ns_ at 113.000000 "$node_(6) setdest 482.217820 210.104151 19.998020" -$ns_ at 113.000000 "$node_(7) setdest 417.831564 238.927314 19.997762" -$ns_ at 113.000000 "$node_(8) setdest 564.744712 342.930184 19.999424" -$ns_ at 113.000000 "$node_(9) setdest 540.209785 293.926814 19.990462" -$ns_ at 113.000000 "$node_(10) setdest 504.489346 196.354667 18.306158" - -$ns_ at 114.000000 "$node_(1) setdest 431.271998 116.305610 9.089845" -$ns_ at 114.000000 "$node_(2) setdest 588.736507 63.560605 15.183860" -$ns_ at 114.000000 "$node_(3) setdest 473.963039 54.031040 19.494096" -$ns_ at 114.000000 "$node_(4) setdest 473.434460 2.312632 3.403542" -$ns_ at 114.000000 "$node_(5) setdest 548.218838 37.090081 3.786501" -$ns_ at 114.000000 "$node_(6) setdest 484.657569 190.258834 19.994725" -$ns_ at 114.000000 "$node_(7) setdest 414.150519 219.279742 19.989426" -$ns_ at 114.000000 "$node_(8) setdest 563.955033 322.946138 19.999642" -$ns_ at 114.000000 "$node_(9) setdest 531.976806 275.701992 19.998151" -$ns_ at 114.000000 "$node_(10) setdest 520.244752 190.438199 16.829659" - -$ns_ at 115.000000 "$node_(1) setdest 440.908069 120.949190 10.696574" -$ns_ at 115.000000 "$node_(2) setdest 580.431419 50.836504 15.194645" -$ns_ at 115.000000 "$node_(3) setdest 456.876131 43.692246 19.971307" -$ns_ at 115.000000 "$node_(4) setdest 472.869595 2.467477 0.585704" -$ns_ at 115.000000 "$node_(5) setdest 543.700691 40.023340 5.386804" -$ns_ at 115.000000 "$node_(6) setdest 485.938648 170.301151 19.998756" -$ns_ at 115.000000 "$node_(7) setdest 414.076804 199.317789 19.962089" -$ns_ at 115.000000 "$node_(8) setdest 563.190475 302.961948 19.998810" -$ns_ at 115.000000 "$node_(9) setdest 522.369871 258.168219 19.993159" -$ns_ at 115.000000 "$node_(10) setdest 534.924858 194.630099 15.266877" - -$ns_ at 116.000000 "$node_(1) setdest 451.284786 127.573697 12.310985" -$ns_ at 116.000000 "$node_(2) setdest 569.402032 38.175636 16.791217" -$ns_ at 116.000000 "$node_(3) setdest 440.770647 31.838598 19.997390" -$ns_ at 116.000000 "$node_(4) setdest 472.841751 4.274661 1.807398" -$ns_ at 116.000000 "$node_(5) setdest 537.436100 43.104717 6.981403" -$ns_ at 116.000000 "$node_(6) setdest 486.954575 150.332081 19.994896" -$ns_ at 116.000000 "$node_(7) setdest 417.830901 179.685288 19.988205" -$ns_ at 116.000000 "$node_(8) setdest 563.641683 282.971460 19.995579" -$ns_ at 116.000000 "$node_(9) setdest 511.298664 241.517648 19.995328" -$ns_ at 116.000000 "$node_(10) setdest 550.011999 194.908027 15.089700" - -$ns_ at 117.000000 "$node_(1) setdest 462.138089 136.267655 13.906081" -$ns_ at 117.000000 "$node_(2) setdest 556.634968 24.940619 18.389225" -$ns_ at 117.000000 "$node_(3) setdest 425.324448 19.136132 19.998443" -$ns_ at 117.000000 "$node_(4) setdest 473.314494 7.680851 3.438840" -$ns_ at 117.000000 "$node_(5) setdest 529.438223 46.226951 8.585708" -$ns_ at 117.000000 "$node_(6) setdest 490.129007 130.598208 19.987566" -$ns_ at 117.000000 "$node_(7) setdest 423.966373 160.668563 19.981989" -$ns_ at 117.000000 "$node_(8) setdest 565.740884 263.087161 19.994799" -$ns_ at 117.000000 "$node_(9) setdest 499.055031 225.704650 19.998936" -$ns_ at 117.000000 "$node_(10) setdest 563.557238 186.500635 15.942326" - -$ns_ at 118.000000 "$node_(1) setdest 473.241458 147.092544 15.506870" -$ns_ at 118.000000 "$node_(2) setdest 539.814754 14.774438 19.653774" -$ns_ at 118.000000 "$node_(3) setdest 409.111886 8.883379 19.182442" -$ns_ at 118.000000 "$node_(4) setdest 473.692202 12.706450 5.039772" -$ns_ at 118.000000 "$node_(5) setdest 519.739209 49.337753 10.185674" -$ns_ at 118.000000 "$node_(6) setdest 496.431453 111.642085 19.976371" -$ns_ at 118.000000 "$node_(7) setdest 432.569997 142.630498 19.984847" -$ns_ at 118.000000 "$node_(8) setdest 568.702436 243.307677 19.999970" -$ns_ at 118.000000 "$node_(9) setdest 485.443278 211.070870 19.985678" -$ns_ at 118.000000 "$node_(10) setdest 570.192106 171.160831 16.713200" - -$ns_ at 119.000000 "$node_(1) setdest 487.251601 156.862702 17.080401" -$ns_ at 119.000000 "$node_(2) setdest 520.683497 9.021841 19.977421" -$ns_ at 119.000000 "$node_(3) setdest 417.073766 12.056418 8.570864" -$ns_ at 119.000000 "$node_(4) setdest 474.036968 19.336302 6.638810" -$ns_ at 119.000000 "$node_(5) setdest 508.315867 52.234824 11.784981" -$ns_ at 119.000000 "$node_(6) setdest 506.265369 94.271345 19.961175" -$ns_ at 119.000000 "$node_(7) setdest 443.201855 125.694874 19.996294" -$ns_ at 119.000000 "$node_(8) setdest 571.628211 223.523019 19.999821" -$ns_ at 119.000000 "$node_(9) setdest 470.395480 197.901690 19.996588" -$ns_ at 119.000000 "$node_(10) setdest 581.059668 156.562270 18.199503" - -$ns_ at 120.000000 "$node_(1) setdest 504.954771 159.215359 17.858813" -$ns_ at 120.000000 "$node_(2) setdest 501.192874 10.606251 19.554916" -$ns_ at 120.000000 "$node_(3) setdest 423.571462 19.617907 9.969763" -$ns_ at 120.000000 "$node_(4) setdest 474.472309 27.560057 8.235270" -$ns_ at 120.000000 "$node_(5) setdest 495.207683 54.945946 13.385614" -$ns_ at 120.000000 "$node_(6) setdest 520.516470 80.409235 19.880946" -$ns_ at 120.000000 "$node_(7) setdest 453.570709 108.596480 19.996705" -$ns_ at 120.000000 "$node_(8) setdest 573.762328 203.638794 19.998422" -$ns_ at 120.000000 "$node_(9) setdest 453.975818 186.542303 19.965996" -$ns_ at 120.000000 "$node_(10) setdest 592.135494 143.826225 16.878411" - -$ns_ at 121.000000 "$node_(1) setdest 509.718099 146.506082 13.572583" -$ns_ at 121.000000 "$node_(2) setdest 484.117793 19.082124 19.063023" -$ns_ at 121.000000 "$node_(3) setdest 433.058684 26.201559 11.547808" -$ns_ at 121.000000 "$node_(4) setdest 476.147484 37.254243 9.837858" -$ns_ at 121.000000 "$node_(5) setdest 480.493467 57.703401 14.970361" -$ns_ at 121.000000 "$node_(6) setdest 537.165573 83.737558 16.978527" -$ns_ at 121.000000 "$node_(7) setdest 464.612917 91.921714 19.999454" -$ns_ at 121.000000 "$node_(8) setdest 575.622097 183.725674 19.999777" -$ns_ at 121.000000 "$node_(9) setdest 435.402591 179.523497 19.855186" -$ns_ at 121.000000 "$node_(10) setdest 589.495037 140.928854 3.920047" - -$ns_ at 122.000000 "$node_(1) setdest 501.618767 135.407562 13.739589" -$ns_ at 122.000000 "$node_(2) setdest 468.354636 30.000884 19.175412" -$ns_ at 122.000000 "$node_(3) setdest 444.780251 32.212762 13.173066" -$ns_ at 122.000000 "$node_(4) setdest 478.682436 48.409195 11.439359" -$ns_ at 122.000000 "$node_(5) setdest 465.298067 64.267961 16.552753" -$ns_ at 122.000000 "$node_(6) setdest 544.950948 98.256877 16.474910" -$ns_ at 122.000000 "$node_(7) setdest 475.946542 75.443825 19.999297" -$ns_ at 122.000000 "$node_(8) setdest 576.534377 163.749996 19.996499" -$ns_ at 122.000000 "$node_(9) setdest 434.434766 179.467028 0.969471" -$ns_ at 122.000000 "$node_(10) setdest 584.521690 139.425209 5.195683" - -$ns_ at 123.000000 "$node_(1) setdest 492.075637 123.450755 15.298253" -$ns_ at 123.000000 "$node_(2) setdest 455.863068 44.093278 18.831751" -$ns_ at 123.000000 "$node_(3) setdest 458.619999 37.371581 14.769972" -$ns_ at 123.000000 "$node_(4) setdest 482.138433 60.980026 13.037244" -$ns_ at 123.000000 "$node_(5) setdest 449.568122 73.372764 18.174944" -$ns_ at 123.000000 "$node_(6) setdest 555.460624 109.423500 15.334495" -$ns_ at 123.000000 "$node_(7) setdest 488.072608 59.566099 19.978580" -$ns_ at 123.000000 "$node_(8) setdest 575.616599 143.782691 19.988386" -$ns_ at 123.000000 "$node_(9) setdest 437.345563 182.540188 4.232854" -$ns_ at 123.000000 "$node_(10) setdest 578.082071 137.243055 6.799300" - -$ns_ at 124.000000 "$node_(1) setdest 481.629922 110.164467 16.900841" -$ns_ at 124.000000 "$node_(2) setdest 442.838643 58.392410 19.341686" -$ns_ at 124.000000 "$node_(3) setdest 474.615429 40.719637 16.342070" -$ns_ at 124.000000 "$node_(4) setdest 486.172579 75.052483 14.639275" -$ns_ at 124.000000 "$node_(5) setdest 430.524277 77.428350 19.470897" -$ns_ at 124.000000 "$node_(6) setdest 570.380491 116.561320 16.539374" -$ns_ at 124.000000 "$node_(7) setdest 503.421106 46.832482 19.942953" -$ns_ at 124.000000 "$node_(8) setdest 571.969243 124.135771 19.982610" -$ns_ at 124.000000 "$node_(9) setdest 437.850553 188.097996 5.580703" -$ns_ at 124.000000 "$node_(10) setdest 570.292753 134.115544 8.393736" - -$ns_ at 125.000000 "$node_(1) setdest 468.764309 108.362457 12.991198" -$ns_ at 125.000000 "$node_(2) setdest 424.365917 65.103086 19.653874" -$ns_ at 125.000000 "$node_(3) setdest 458.785742 38.071495 16.049662" -$ns_ at 125.000000 "$node_(4) setdest 485.862028 75.256264 0.371442" -$ns_ at 125.000000 "$node_(5) setdest 410.538520 78.179722 19.999876" -$ns_ at 125.000000 "$node_(6) setdest 586.519711 124.964926 18.196017" -$ns_ at 125.000000 "$node_(7) setdest 522.204110 40.543630 19.807850" -$ns_ at 125.000000 "$node_(8) setdest 565.283378 105.313652 19.974308" -$ns_ at 125.000000 "$node_(9) setdest 438.236927 188.566948 0.607619" -$ns_ at 125.000000 "$node_(10) setdest 561.454881 129.437687 9.999516" - -$ns_ at 126.000000 "$node_(1) setdest 453.894330 110.665395 15.047252" -$ns_ at 126.000000 "$node_(2) setdest 404.988454 70.046829 19.998166" -$ns_ at 126.000000 "$node_(3) setdest 440.858781 37.340840 17.941845" -$ns_ at 126.000000 "$node_(4) setdest 484.107042 74.965456 1.778916" -$ns_ at 126.000000 "$node_(5) setdest 390.542704 78.440085 19.997511" -$ns_ at 126.000000 "$node_(6) setdest 592.964875 127.196911 6.820696" -$ns_ at 126.000000 "$node_(7) setdest 542.036992 42.707094 19.950533" -$ns_ at 126.000000 "$node_(8) setdest 554.346165 88.643407 19.937896" -$ns_ at 126.000000 "$node_(9) setdest 438.863799 187.609138 1.144713" -$ns_ at 126.000000 "$node_(10) setdest 550.853562 124.755186 11.589383" - -$ns_ at 127.000000 "$node_(1) setdest 437.536983 113.753231 16.646247" -$ns_ at 127.000000 "$node_(2) setdest 385.400042 74.078678 19.999042" -$ns_ at 127.000000 "$node_(3) setdest 421.408233 35.863244 19.506591" -$ns_ at 127.000000 "$node_(4) setdest 480.756885 74.527052 3.378720" -$ns_ at 127.000000 "$node_(5) setdest 370.587368 77.185177 19.994756" -$ns_ at 127.000000 "$node_(6) setdest 591.806569 125.973434 1.684805" -$ns_ at 127.000000 "$node_(7) setdest 561.938216 44.598425 19.990894" -$ns_ at 127.000000 "$node_(8) setdest 538.791423 76.225827 19.903424" -$ns_ at 127.000000 "$node_(9) setdest 439.851088 185.026858 2.764582" -$ns_ at 127.000000 "$node_(10) setdest 538.598737 119.856049 13.197813" - -$ns_ at 128.000000 "$node_(1) setdest 419.670201 117.456660 18.246569" -$ns_ at 128.000000 "$node_(2) setdest 365.724919 77.666346 19.999545" -$ns_ at 128.000000 "$node_(3) setdest 401.445644 34.670369 19.998197" -$ns_ at 128.000000 "$node_(4) setdest 475.797670 74.087926 4.978620" -$ns_ at 128.000000 "$node_(5) setdest 350.726157 74.834010 19.999892" -$ns_ at 128.000000 "$node_(6) setdest 589.270539 123.860295 3.301031" -$ns_ at 128.000000 "$node_(7) setdest 581.791247 44.803262 19.854088" -$ns_ at 128.000000 "$node_(8) setdest 520.702123 67.707079 19.994795" -$ns_ at 128.000000 "$node_(9) setdest 441.303563 180.909826 4.365734" -$ns_ at 128.000000 "$node_(10) setdest 525.473635 113.036002 14.791260" - -$ns_ at 129.000000 "$node_(1) setdest 400.190414 120.538102 19.722002" -$ns_ at 129.000000 "$node_(2) setdest 345.957172 80.701765 19.999440" -$ns_ at 129.000000 "$node_(3) setdest 381.449576 34.354000 19.998570" -$ns_ at 129.000000 "$node_(4) setdest 469.225898 73.791977 6.578432" -$ns_ at 129.000000 "$node_(5) setdest 330.797553 73.177839 19.997304" -$ns_ at 129.000000 "$node_(6) setdest 585.243076 121.062983 4.903612" -$ns_ at 129.000000 "$node_(7) setdest 588.511397 48.281694 7.567028" -$ns_ at 129.000000 "$node_(8) setdest 502.905331 58.615452 19.984581" -$ns_ at 129.000000 "$node_(9) setdest 443.695561 175.443621 5.966662" -$ns_ at 129.000000 "$node_(10) setdest 511.499269 104.458277 16.396959" - -$ns_ at 130.000000 "$node_(1) setdest 380.319010 122.788460 19.998421" -$ns_ at 130.000000 "$node_(2) setdest 326.114659 83.198800 19.999013" -$ns_ at 130.000000 "$node_(3) setdest 361.450892 34.562067 19.999767" -$ns_ at 130.000000 "$node_(4) setdest 461.047591 73.796428 8.178308" -$ns_ at 130.000000 "$node_(5) setdest 310.805689 73.087262 19.992069" -$ns_ at 130.000000 "$node_(6) setdest 580.472921 116.653619 6.495912" -$ns_ at 130.000000 "$node_(7) setdest 586.575808 48.184730 1.938017" -$ns_ at 130.000000 "$node_(8) setdest 485.758668 48.322000 19.999080" -$ns_ at 130.000000 "$node_(9) setdest 446.859035 168.570017 7.566637" -$ns_ at 130.000000 "$node_(10) setdest 497.658476 92.981586 17.980044" - -$ns_ at 131.000000 "$node_(1) setdest 360.365366 124.127494 19.998522" -$ns_ at 131.000000 "$node_(2) setdest 306.164975 84.538799 19.994637" -$ns_ at 131.000000 "$node_(3) setdest 341.453459 34.881321 19.999981" -$ns_ at 131.000000 "$node_(4) setdest 451.277647 74.201781 9.778349" -$ns_ at 131.000000 "$node_(5) setdest 290.929481 75.205162 19.988725" -$ns_ at 131.000000 "$node_(6) setdest 575.708834 110.114534 8.090498" -$ns_ at 131.000000 "$node_(7) setdest 583.023276 48.266735 3.553478" -$ns_ at 131.000000 "$node_(8) setdest 468.711352 37.876329 19.993075" -$ns_ at 131.000000 "$node_(9) setdest 451.428019 160.631101 9.159804" -$ns_ at 131.000000 "$node_(10) setdest 485.035837 78.081245 19.528215" - -$ns_ at 132.000000 "$node_(1) setdest 340.372607 124.577953 19.997833" -$ns_ at 132.000000 "$node_(2) setdest 286.178506 84.073191 19.991892" -$ns_ at 132.000000 "$node_(3) setdest 321.454012 34.894377 19.999451" -$ns_ at 132.000000 "$node_(4) setdest 439.923459 74.951472 11.378912" -$ns_ at 132.000000 "$node_(5) setdest 271.481106 79.805860 19.985138" -$ns_ at 132.000000 "$node_(6) setdest 571.726779 101.275821 9.694308" -$ns_ at 132.000000 "$node_(7) setdest 577.934453 49.068828 5.151648" -$ns_ at 132.000000 "$node_(8) setdest 450.507813 29.624318 19.986609" -$ns_ at 132.000000 "$node_(9) setdest 457.527500 151.759105 10.766428" -$ns_ at 132.000000 "$node_(10) setdest 474.583709 61.040590 19.990771" - -$ns_ at 133.000000 "$node_(1) setdest 320.380450 124.065568 19.998722" -$ns_ at 133.000000 "$node_(2) setdest 266.383509 81.306673 19.987384" -$ns_ at 133.000000 "$node_(3) setdest 301.478147 33.972686 19.997117" -$ns_ at 133.000000 "$node_(4) setdest 426.974114 75.826178 12.978853" -$ns_ at 133.000000 "$node_(5) setdest 252.963837 87.304381 19.977914" -$ns_ at 133.000000 "$node_(6) setdest 568.310797 90.505002 11.299534" -$ns_ at 133.000000 "$node_(7) setdest 571.352734 50.591970 6.755663" -$ns_ at 133.000000 "$node_(8) setdest 430.748481 26.892605 19.947266" -$ns_ at 133.000000 "$node_(9) setdest 464.585787 141.605483 12.365900" -$ns_ at 133.000000 "$node_(10) setdest 461.707413 45.848981 19.914416" - -$ns_ at 134.000000 "$node_(1) setdest 300.449527 122.443033 19.996858" -$ns_ at 134.000000 "$node_(2) setdest 247.068943 76.153410 19.990212" -$ns_ at 134.000000 "$node_(3) setdest 281.620279 31.641423 19.994242" -$ns_ at 134.000000 "$node_(4) setdest 412.407798 76.413196 14.578139" -$ns_ at 134.000000 "$node_(5) setdest 236.182515 98.124469 19.967150" -$ns_ at 134.000000 "$node_(6) setdest 565.493969 77.924687 12.891814" -$ns_ at 134.000000 "$node_(7) setdest 563.139327 52.127120 8.355642" -$ns_ at 134.000000 "$node_(8) setdest 416.947036 15.226109 18.071719" -$ns_ at 134.000000 "$node_(9) setdest 472.330576 129.982714 13.966765" -$ns_ at 134.000000 "$node_(10) setdest 445.040272 34.848403 19.970135" - -$ns_ at 135.000000 "$node_(1) setdest 280.660058 119.566270 19.997470" -$ns_ at 135.000000 "$node_(2) setdest 228.579859 68.567935 19.984636" -$ns_ at 135.000000 "$node_(3) setdest 261.870140 28.489966 19.999992" -$ns_ at 135.000000 "$node_(4) setdest 396.230443 76.619532 16.178671" -$ns_ at 135.000000 "$node_(5) setdest 221.570082 111.764000 19.988997" -$ns_ at 135.000000 "$node_(6) setdest 565.462360 63.456976 14.467745" -$ns_ at 135.000000 "$node_(7) setdest 553.580974 54.883009 9.947715" -$ns_ at 135.000000 "$node_(8) setdest 426.301069 2.292969 15.961330" -$ns_ at 135.000000 "$node_(9) setdest 481.564388 117.456807 15.561543" -$ns_ at 135.000000 "$node_(10) setdest 426.598641 27.230647 19.953044" - -$ns_ at 136.000000 "$node_(1) setdest 260.964022 116.093665 19.999821" -$ns_ at 136.000000 "$node_(2) setdest 211.157455 58.763950 19.991455" -$ns_ at 136.000000 "$node_(3) setdest 242.069536 25.684400 19.998378" -$ns_ at 136.000000 "$node_(4) setdest 378.451498 76.635633 17.778952" -$ns_ at 136.000000 "$node_(5) setdest 207.405609 125.883222 19.999618" -$ns_ at 136.000000 "$node_(6) setdest 570.550150 48.286694 16.000721" -$ns_ at 136.000000 "$node_(7) setdest 543.178360 59.884928 11.542685" -$ns_ at 136.000000 "$node_(8) setdest 439.426261 7.213786 14.017314" -$ns_ at 136.000000 "$node_(9) setdest 492.799836 104.479486 17.165259" -$ns_ at 136.000000 "$node_(10) setdest 416.515775 29.332216 10.299553" - -$ns_ at 137.000000 "$node_(1) setdest 241.166659 113.273096 19.997279" -$ns_ at 137.000000 "$node_(2) setdest 193.607811 49.185768 19.993288" -$ns_ at 137.000000 "$node_(3) setdest 222.148163 23.923978 19.999004" -$ns_ at 137.000000 "$node_(4) setdest 359.072806 76.657629 19.378705" -$ns_ at 137.000000 "$node_(5) setdest 192.886203 139.634471 19.997750" -$ns_ at 137.000000 "$node_(6) setdest 583.970533 42.100482 14.777547" -$ns_ at 137.000000 "$node_(7) setdest 532.296270 67.248819 13.139511" -$ns_ at 137.000000 "$node_(8) setdest 453.839916 9.148842 14.542968" -$ns_ at 137.000000 "$node_(9) setdest 505.861846 91.012627 18.760928" -$ns_ at 137.000000 "$node_(10) setdest 417.284418 30.284041 1.223431" - -$ns_ at 138.000000 "$node_(1) setdest 221.227107 111.767797 19.996292" -$ns_ at 138.000000 "$node_(2) setdest 175.271841 41.218919 19.991961" -$ns_ at 138.000000 "$node_(3) setdest 202.333247 21.224188 19.997993" -$ns_ at 138.000000 "$node_(4) setdest 339.081034 77.216611 19.999585" -$ns_ at 138.000000 "$node_(5) setdest 177.604021 152.479213 19.963278" -$ns_ at 138.000000 "$node_(6) setdest 588.327423 50.944124 9.858625" -$ns_ at 138.000000 "$node_(7) setdest 521.858823 77.648040 14.733774" -$ns_ at 138.000000 "$node_(8) setdest 470.072953 9.536007 16.237653" -$ns_ at 138.000000 "$node_(9) setdest 520.526387 77.499927 19.940959" -$ns_ at 138.000000 "$node_(10) setdest 420.076823 30.790374 2.837939" - -$ns_ at 139.000000 "$node_(1) setdest 201.240697 111.066682 19.998704" -$ns_ at 139.000000 "$node_(2) setdest 164.466411 38.985513 11.033831" -$ns_ at 139.000000 "$node_(3) setdest 184.238943 13.733066 19.583686" -$ns_ at 139.000000 "$node_(4) setdest 319.132136 78.610994 19.997570" -$ns_ at 139.000000 "$node_(5) setdest 159.330537 160.396138 19.914767" -$ns_ at 139.000000 "$node_(6) setdest 588.282286 62.792033 11.847995" -$ns_ at 139.000000 "$node_(7) setdest 512.243129 90.872745 16.350976" -$ns_ at 139.000000 "$node_(8) setdest 487.878750 9.368775 17.806582" -$ns_ at 139.000000 "$node_(9) setdest 536.534192 65.547922 19.977493" -$ns_ at 139.000000 "$node_(10) setdest 424.324084 29.536639 4.428439" - -$ns_ at 140.000000 "$node_(1) setdest 181.242347 111.274656 19.999432" -$ns_ at 140.000000 "$node_(2) setdest 175.502159 37.272010 11.167982" -$ns_ at 140.000000 "$node_(3) setdest 182.074451 1.712658 12.213731" -$ns_ at 140.000000 "$node_(4) setdest 299.283899 81.049008 19.997411" -$ns_ at 140.000000 "$node_(5) setdest 139.532044 162.682204 19.930038" -$ns_ at 140.000000 "$node_(6) setdest 589.138402 76.155223 13.390586" -$ns_ at 140.000000 "$node_(7) setdest 501.789191 105.467392 17.952396" -$ns_ at 140.000000 "$node_(8) setdest 505.637603 16.818056 19.257951" -$ns_ at 140.000000 "$node_(9) setdest 554.813129 57.628754 19.920661" -$ns_ at 140.000000 "$node_(10) setdest 429.800533 26.943825 6.059223" - -$ns_ at 141.000000 "$node_(1) setdest 161.247046 111.473323 19.996287" -$ns_ at 141.000000 "$node_(2) setdest 185.373829 29.829709 12.362755" -$ns_ at 141.000000 "$node_(3) setdest 183.778520 1.889613 1.713232" -$ns_ at 141.000000 "$node_(4) setdest 279.550001 84.297092 19.999419" -$ns_ at 141.000000 "$node_(5) setdest 119.793534 159.666849 19.967502" -$ns_ at 141.000000 "$node_(6) setdest 592.156148 90.830024 14.981874" -$ns_ at 141.000000 "$node_(7) setdest 488.189099 119.413179 19.479412" -$ns_ at 141.000000 "$node_(8) setdest 523.321051 26.105433 19.973976" -$ns_ at 141.000000 "$node_(9) setdest 571.486632 63.791740 17.776055" -$ns_ at 141.000000 "$node_(10) setdest 436.921300 24.140901 7.652561" - -$ns_ at 142.000000 "$node_(1) setdest 141.772095 115.540184 19.895051" -$ns_ at 142.000000 "$node_(2) setdest 196.339570 29.318053 10.977671" -$ns_ at 142.000000 "$node_(3) setdest 184.812005 4.915605 3.197612" -$ns_ at 142.000000 "$node_(4) setdest 259.803815 87.459443 19.997808" -$ns_ at 142.000000 "$node_(5) setdest 100.096591 156.319135 19.979409" -$ns_ at 142.000000 "$node_(6) setdest 590.692452 107.433540 16.667908" -$ns_ at 142.000000 "$node_(7) setdest 471.797782 130.833795 19.977632" -$ns_ at 142.000000 "$node_(8) setdest 541.126366 35.173355 19.981403" -$ns_ at 142.000000 "$node_(9) setdest 567.782585 75.167477 11.963585" -$ns_ at 142.000000 "$node_(10) setdest 446.013398 22.445407 9.248835" - -$ns_ at 143.000000 "$node_(1) setdest 127.450194 128.944032 19.615810" -$ns_ at 143.000000 "$node_(2) setdest 197.147859 36.740438 7.466266" -$ns_ at 143.000000 "$node_(3) setdest 185.893987 9.604906 4.812507" -$ns_ at 143.000000 "$node_(4) setdest 239.858385 88.607005 19.978416" -$ns_ at 143.000000 "$node_(5) setdest 80.175258 157.537770 19.958571" -$ns_ at 143.000000 "$node_(6) setdest 585.791697 124.971994 18.210293" -$ns_ at 143.000000 "$node_(7) setdest 454.924266 141.549003 19.988276" -$ns_ at 143.000000 "$node_(8) setdest 556.871642 47.471369 19.978860" -$ns_ at 143.000000 "$node_(9) setdest 558.206517 84.854499 13.621287" -$ns_ at 143.000000 "$node_(10) setdest 456.841721 21.664948 10.856413" - -$ns_ at 144.000000 "$node_(1) setdest 118.524599 146.840858 19.999066" -$ns_ at 144.000000 "$node_(2) setdest 196.591811 45.826445 9.103005" -$ns_ at 144.000000 "$node_(3) setdest 187.092769 15.899568 6.407796" -$ns_ at 144.000000 "$node_(4) setdest 220.066145 86.102236 19.950103" -$ns_ at 144.000000 "$node_(5) setdest 60.964143 162.769298 19.910697" -$ns_ at 144.000000 "$node_(6) setdest 574.313128 140.914141 19.644582" -$ns_ at 144.000000 "$node_(7) setdest 441.557267 156.254138 19.872536" -$ns_ at 144.000000 "$node_(8) setdest 571.374396 61.086555 19.892289" -$ns_ at 144.000000 "$node_(9) setdest 552.626228 98.963335 15.172307" -$ns_ at 144.000000 "$node_(10) setdest 469.299904 21.561095 12.458615" - -$ns_ at 145.000000 "$node_(1) setdest 112.115498 165.696718 19.915321" -$ns_ at 145.000000 "$node_(2) setdest 190.250128 47.613148 6.588570" -$ns_ at 145.000000 "$node_(3) setdest 187.313861 23.900730 8.004216" -$ns_ at 145.000000 "$node_(4) setdest 203.065906 94.794565 19.093577" -$ns_ at 145.000000 "$node_(5) setdest 45.972008 175.619703 19.745810" -$ns_ at 145.000000 "$node_(6) setdest 560.255115 155.135300 19.996727" -$ns_ at 145.000000 "$node_(7) setdest 438.601722 175.534770 19.505846" -$ns_ at 145.000000 "$node_(8) setdest 588.750250 69.671374 19.380903" -$ns_ at 145.000000 "$node_(9) setdest 551.878665 115.778256 16.831530" -$ns_ at 145.000000 "$node_(10) setdest 483.345939 22.123346 14.057284" - -$ns_ at 146.000000 "$node_(1) setdest 111.731159 185.496144 19.803156" -$ns_ at 146.000000 "$node_(2) setdest 183.547590 43.776632 7.722881" -$ns_ at 146.000000 "$node_(3) setdest 185.862180 33.389020 9.598699" -$ns_ at 146.000000 "$node_(4) setdest 190.626206 108.639388 18.612503" -$ns_ at 146.000000 "$node_(5) setdest 47.072918 193.458445 17.872681" -$ns_ at 146.000000 "$node_(6) setdest 545.916182 169.049201 19.980032" -$ns_ at 146.000000 "$node_(7) setdest 444.782179 193.174570 18.691190" -$ns_ at 146.000000 "$node_(8) setdest 586.255822 69.734557 2.495228" -$ns_ at 146.000000 "$node_(9) setdest 554.631147 134.007561 18.435936" -$ns_ at 146.000000 "$node_(10) setdest 498.884774 24.015570 15.653623" - -$ns_ at 147.000000 "$node_(1) setdest 111.899554 186.471049 0.989342" -$ns_ at 147.000000 "$node_(2) setdest 175.795557 38.607572 9.317360" -$ns_ at 147.000000 "$node_(3) setdest 182.523745 44.090935 11.210537" -$ns_ at 147.000000 "$node_(4) setdest 179.070997 123.870067 19.117961" -$ns_ at 147.000000 "$node_(5) setdest 62.376736 192.812895 15.317427" -$ns_ at 147.000000 "$node_(6) setdest 531.919229 183.302102 19.976483" -$ns_ at 147.000000 "$node_(7) setdest 436.724006 199.709287 10.374810" -$ns_ at 147.000000 "$node_(8) setdest 576.168467 67.370369 10.360701" -$ns_ at 147.000000 "$node_(9) setdest 562.586604 152.129905 19.791631" -$ns_ at 147.000000 "$node_(10) setdest 515.441797 28.772088 17.226708" - -$ns_ at 148.000000 "$node_(1) setdest 108.990066 180.641200 6.515540" -$ns_ at 148.000000 "$node_(2) setdest 167.327952 31.720295 10.914894" -$ns_ at 148.000000 "$node_(3) setdest 179.086940 56.426752 12.805624" -$ns_ at 148.000000 "$node_(4) setdest 163.850105 134.459779 18.542318" -$ns_ at 148.000000 "$node_(5) setdest 69.482057 179.583763 15.016508" -$ns_ at 148.000000 "$node_(6) setdest 513.623888 191.062746 19.873276" -$ns_ at 148.000000 "$node_(7) setdest 426.833193 195.609739 10.706749" -$ns_ at 148.000000 "$node_(8) setdest 564.268369 67.203121 11.901272" -$ns_ at 148.000000 "$node_(9) setdest 570.951086 170.282477 19.987006" -$ns_ at 148.000000 "$node_(10) setdest 531.755709 38.134043 18.809304" - -$ns_ at 149.000000 "$node_(1) setdest 104.753756 173.710069 8.123232" -$ns_ at 149.000000 "$node_(2) setdest 156.878825 24.944390 12.453801" -$ns_ at 149.000000 "$node_(3) setdest 176.599709 70.622921 14.412410" -$ns_ at 149.000000 "$node_(4) setdest 146.434634 142.639565 19.240778" -$ns_ at 149.000000 "$node_(5) setdest 75.707512 165.318603 15.564417" -$ns_ at 149.000000 "$node_(6) setdest 493.935495 190.646337 19.692796" -$ns_ at 149.000000 "$node_(7) setdest 417.399684 187.603159 12.373213" -$ns_ at 149.000000 "$node_(8) setdest 551.157370 70.606676 13.545571" -$ns_ at 149.000000 "$node_(9) setdest 576.243443 189.189175 19.633448" -$ns_ at 149.000000 "$node_(10) setdest 546.734747 51.323269 19.958137" - -$ns_ at 150.000000 "$node_(1) setdest 99.278520 165.679385 9.719573" -$ns_ at 150.000000 "$node_(2) setdest 143.075068 24.363392 13.815978" -$ns_ at 150.000000 "$node_(3) setdest 173.400696 86.306718 16.006723" -$ns_ at 150.000000 "$node_(4) setdest 130.649757 153.943580 19.415023" -$ns_ at 150.000000 "$node_(5) setdest 88.488112 154.041636 17.044464" -$ns_ at 150.000000 "$node_(6) setdest 475.349957 183.326049 19.975206" -$ns_ at 150.000000 "$node_(7) setdest 414.624429 174.179041 13.707991" -$ns_ at 150.000000 "$node_(8) setdest 537.189239 76.498837 15.160021" -$ns_ at 150.000000 "$node_(9) setdest 575.465562 180.778988 8.446085" -$ns_ at 150.000000 "$node_(10) setdest 560.401937 65.884227 19.970318" - -$ns_ at 151.000000 "$node_(1) setdest 91.813160 157.170777 11.319364" -$ns_ at 151.000000 "$node_(2) setdest 138.004596 35.391633 12.138031" -$ns_ at 151.000000 "$node_(3) setdest 168.114267 103.099736 17.605447" -$ns_ at 151.000000 "$node_(4) setdest 119.996573 169.374810 18.751351" -$ns_ at 151.000000 "$node_(5) setdest 105.657672 146.388340 18.798051" -$ns_ at 151.000000 "$node_(6) setdest 459.956503 171.347805 19.504788" -$ns_ at 151.000000 "$node_(7) setdest 416.813764 158.732695 15.600731" -$ns_ at 151.000000 "$node_(8) setdest 521.788366 83.114604 16.761720" -$ns_ at 151.000000 "$node_(9) setdest 577.687876 171.392622 9.645857" -$ns_ at 151.000000 "$node_(10) setdest 569.087851 83.782994 19.894998" - -$ns_ at 152.000000 "$node_(1) setdest 82.097039 148.659628 12.916759" -$ns_ at 152.000000 "$node_(2) setdest 146.119591 45.797946 13.196382" -$ns_ at 152.000000 "$node_(3) setdest 160.937701 120.920891 19.211888" -$ns_ at 152.000000 "$node_(4) setdest 105.936747 181.378621 18.487028" -$ns_ at 152.000000 "$node_(5) setdest 124.801631 141.076851 19.867135" -$ns_ at 152.000000 "$node_(6) setdest 448.544469 155.827294 19.264495" -$ns_ at 152.000000 "$node_(7) setdest 417.880719 141.561761 17.204051" -$ns_ at 152.000000 "$node_(8) setdest 503.612706 85.135031 18.287612" -$ns_ at 152.000000 "$node_(9) setdest 582.520079 161.274967 11.212365" -$ns_ at 152.000000 "$node_(10) setdest 569.702380 103.596801 19.823334" - -$ns_ at 153.000000 "$node_(1) setdest 70.379904 140.091185 14.515835" -$ns_ at 153.000000 "$node_(2) setdest 158.134566 54.430381 14.794545" -$ns_ at 153.000000 "$node_(3) setdest 156.219850 140.328761 19.973071" -$ns_ at 153.000000 "$node_(4) setdest 88.725972 189.580626 19.065247" -$ns_ at 153.000000 "$node_(5) setdest 144.327183 138.526583 19.691395" -$ns_ at 153.000000 "$node_(6) setdest 442.382049 137.609253 19.232068" -$ns_ at 153.000000 "$node_(7) setdest 416.376540 122.816638 18.805376" -$ns_ at 153.000000 "$node_(8) setdest 483.914674 83.287628 19.784472" -$ns_ at 153.000000 "$node_(9) setdest 586.204849 149.285184 12.543222" -$ns_ at 153.000000 "$node_(10) setdest 559.010783 119.996465 19.577008" - -$ns_ at 154.000000 "$node_(1) setdest 55.997138 132.866034 16.095551" -$ns_ at 154.000000 "$node_(2) setdest 172.406373 62.536019 16.412977" -$ns_ at 154.000000 "$node_(3) setdest 151.635699 159.667002 19.874155" -$ns_ at 154.000000 "$node_(4) setdest 78.054821 195.479620 12.193096" -$ns_ at 154.000000 "$node_(5) setdest 163.592391 140.383876 19.354528" -$ns_ at 154.000000 "$node_(6) setdest 441.383428 118.459568 19.175706" -$ns_ at 154.000000 "$node_(7) setdest 412.338720 103.315957 19.914330" -$ns_ at 154.000000 "$node_(8) setdest 464.344857 79.349340 19.962160" -$ns_ at 154.000000 "$node_(9) setdest 576.816577 139.350201 13.669073" -$ns_ at 154.000000 "$node_(10) setdest 540.866973 128.225326 19.922651" - -$ns_ at 155.000000 "$node_(1) setdest 41.252307 123.224103 17.617516" -$ns_ at 155.000000 "$node_(2) setdest 186.611964 72.729002 17.484157" -$ns_ at 155.000000 "$node_(3) setdest 144.090830 165.764530 9.700768" -$ns_ at 155.000000 "$node_(4) setdest 84.150229 193.306525 6.471193" -$ns_ at 155.000000 "$node_(5) setdest 178.718241 150.366969 18.123286" -$ns_ at 155.000000 "$node_(6) setdest 439.600336 99.066105 19.475263" -$ns_ at 155.000000 "$node_(7) setdest 407.087226 84.024775 19.993196" -$ns_ at 155.000000 "$node_(8) setdest 447.207539 69.162889 19.936185" -$ns_ at 155.000000 "$node_(9) setdest 561.438062 134.917972 16.004480" -$ns_ at 155.000000 "$node_(10) setdest 526.487380 140.831521 19.122992" - -$ns_ at 156.000000 "$node_(1) setdest 34.078752 105.954513 18.700231" -$ns_ at 156.000000 "$node_(2) setdest 187.094893 73.875178 1.243760" -$ns_ at 156.000000 "$node_(3) setdest 141.135685 162.335572 4.526658" -$ns_ at 156.000000 "$node_(4) setdest 92.326017 193.380787 8.176125" -$ns_ at 156.000000 "$node_(5) setdest 191.326981 163.978216 18.553877" -$ns_ at 156.000000 "$node_(6) setdest 441.938872 80.015861 19.193242" -$ns_ at 156.000000 "$node_(7) setdest 410.869511 64.803585 19.589788" -$ns_ at 156.000000 "$node_(8) setdest 431.974289 56.242401 19.974757" -$ns_ at 156.000000 "$node_(9) setdest 545.448883 127.932357 17.448572" -$ns_ at 156.000000 "$node_(10) setdest 515.851572 156.904956 19.273705" - -$ns_ at 157.000000 "$node_(1) setdest 43.916030 90.582641 18.250109" -$ns_ at 157.000000 "$node_(2) setdest 185.047818 73.249294 2.140618" -$ns_ at 157.000000 "$node_(3) setdest 137.743986 157.188007 6.164499" -$ns_ at 157.000000 "$node_(4) setdest 102.029528 194.793971 9.805877" -$ns_ at 157.000000 "$node_(5) setdest 189.463671 163.013794 2.098103" -$ns_ at 157.000000 "$node_(6) setdest 447.800127 61.558044 19.366087" -$ns_ at 157.000000 "$node_(7) setdest 421.274390 47.730933 19.993423" -$ns_ at 157.000000 "$node_(8) setdest 417.596276 42.348809 19.993978" -$ns_ at 157.000000 "$node_(9) setdest 533.516072 113.369140 18.827619" -$ns_ at 157.000000 "$node_(10) setdest 508.458281 174.872098 19.428817" - -$ns_ at 158.000000 "$node_(1) setdest 55.511989 78.080336 17.052094" -$ns_ at 158.000000 "$node_(2) setdest 181.442077 72.235518 3.745545" -$ns_ at 158.000000 "$node_(3) setdest 134.731133 150.035278 7.761367" -$ns_ at 158.000000 "$node_(4) setdest 113.388357 195.826949 11.405702" -$ns_ at 158.000000 "$node_(5) setdest 189.430347 155.904971 7.108901" -$ns_ at 158.000000 "$node_(6) setdest 451.172245 42.328961 19.522521" -$ns_ at 158.000000 "$node_(7) setdest 430.947390 30.485112 19.773347" -$ns_ at 158.000000 "$node_(8) setdest 416.344354 24.696906 17.696242" -$ns_ at 158.000000 "$node_(9) setdest 532.772610 95.462924 17.921644" -$ns_ at 158.000000 "$node_(10) setdest 499.709975 191.961210 19.198193" - -$ns_ at 159.000000 "$node_(1) setdest 62.113656 61.761513 17.603579" -$ns_ at 159.000000 "$node_(2) setdest 176.123023 71.889821 5.330276" -$ns_ at 159.000000 "$node_(3) setdest 131.954733 141.086339 9.369734" -$ns_ at 159.000000 "$node_(4) setdest 126.380996 196.373692 13.004139" -$ns_ at 159.000000 "$node_(5) setdest 187.683229 147.360821 8.720947" -$ns_ at 159.000000 "$node_(6) setdest 451.279335 22.737061 19.592193" -$ns_ at 159.000000 "$node_(7) setdest 436.024525 11.839659 19.324342" -$ns_ at 159.000000 "$node_(8) setdest 426.226077 23.617931 9.940454" -$ns_ at 159.000000 "$node_(9) setdest 526.035117 80.351338 16.545509" -$ns_ at 159.000000 "$node_(10) setdest 503.894359 181.756466 11.029318" - -$ns_ at 160.000000 "$node_(1) setdest 65.960718 43.172044 18.983367" -$ns_ at 160.000000 "$node_(2) setdest 169.348075 73.331064 6.926551" -$ns_ at 160.000000 "$node_(3) setdest 128.796997 130.584343 10.966459" -$ns_ at 160.000000 "$node_(4) setdest 140.930810 195.800748 14.561090" -$ns_ at 160.000000 "$node_(5) setdest 187.045369 137.058154 10.322393" -$ns_ at 160.000000 "$node_(6) setdest 444.402909 18.604950 8.022441" -$ns_ at 160.000000 "$node_(7) setdest 434.909325 14.365720 2.761278" -$ns_ at 160.000000 "$node_(8) setdest 424.301771 22.863179 2.067028" -$ns_ at 160.000000 "$node_(9) setdest 512.812174 79.050168 13.286808" -$ns_ at 160.000000 "$node_(10) setdest 495.740867 177.608074 9.148147" - -$ns_ at 161.000000 "$node_(1) setdest 72.042419 24.842076 19.312556" -$ns_ at 161.000000 "$node_(2) setdest 161.871350 77.405615 8.514892" -$ns_ at 161.000000 "$node_(3) setdest 126.355196 118.254232 12.569568" -$ns_ at 161.000000 "$node_(4) setdest 150.057613 187.830197 12.117269" -$ns_ at 161.000000 "$node_(5) setdest 187.048576 125.133800 11.924355" -$ns_ at 161.000000 "$node_(6) setdest 434.736032 18.300064 9.671684" -$ns_ at 161.000000 "$node_(7) setdest 431.202382 15.736051 3.952118" -$ns_ at 161.000000 "$node_(8) setdest 421.173291 24.251968 3.422882" -$ns_ at 161.000000 "$node_(9) setdest 497.627026 80.566955 15.260713" -$ns_ at 161.000000 "$node_(10) setdest 485.182776 174.616363 10.973770" - -$ns_ at 162.000000 "$node_(1) setdest 76.823348 6.990102 18.481078" -$ns_ at 162.000000 "$node_(2) setdest 155.188412 84.965774 10.090474" -$ns_ at 162.000000 "$node_(3) setdest 123.148854 104.452853 14.168934" -$ns_ at 162.000000 "$node_(4) setdest 146.530739 184.039119 5.177945" -$ns_ at 162.000000 "$node_(5) setdest 185.580284 111.692807 13.520953" -$ns_ at 162.000000 "$node_(6) setdest 423.465948 18.099012 11.271878" -$ns_ at 162.000000 "$node_(7) setdest 426.070562 17.854362 5.551829" -$ns_ at 162.000000 "$node_(8) setdest 416.609786 26.350567 5.022917" -$ns_ at 162.000000 "$node_(9) setdest 480.789422 81.428650 16.859639" -$ns_ at 162.000000 "$node_(10) setdest 473.049914 171.315733 12.573802" - -$ns_ at 163.000000 "$node_(1) setdest 74.663686 11.270534 4.794396" -$ns_ at 163.000000 "$node_(2) setdest 150.947840 95.880837 11.709870" -$ns_ at 163.000000 "$node_(3) setdest 117.765575 89.646315 15.754785" -$ns_ at 163.000000 "$node_(4) setdest 140.287067 180.992837 6.947177" -$ns_ at 163.000000 "$node_(5) setdest 184.617717 96.618690 15.104819" -$ns_ at 163.000000 "$node_(6) setdest 410.594549 18.024662 12.871613" -$ns_ at 163.000000 "$node_(7) setdest 419.556244 20.806580 7.152058" -$ns_ at 163.000000 "$node_(8) setdest 410.491787 28.885939 6.622539" -$ns_ at 163.000000 "$node_(9) setdest 462.331560 81.229685 18.458934" -$ns_ at 163.000000 "$node_(10) setdest 459.326921 167.770043 14.173654" - -$ns_ at 164.000000 "$node_(1) setdest 77.700460 16.056801 5.668364" -$ns_ at 164.000000 "$node_(2) setdest 148.502806 108.986321 13.331613" -$ns_ at 164.000000 "$node_(3) setdest 109.149818 74.597894 17.340307" -$ns_ at 164.000000 "$node_(4) setdest 131.820856 181.190189 8.468511" -$ns_ at 164.000000 "$node_(5) setdest 185.147114 79.901197 16.725873" -$ns_ at 164.000000 "$node_(6) setdest 396.123158 17.912799 14.471824" -$ns_ at 164.000000 "$node_(7) setdest 411.667762 24.597608 8.752145" -$ns_ at 164.000000 "$node_(8) setdest 402.783503 31.748758 8.222735" -$ns_ at 164.000000 "$node_(9) setdest 442.549827 79.886156 19.827305" -$ns_ at 164.000000 "$node_(10) setdest 443.980346 164.127469 15.772942" - -$ns_ at 165.000000 "$node_(1) setdest 80.751011 22.632665 7.248989" -$ns_ at 165.000000 "$node_(2) setdest 147.928686 123.907075 14.931795" -$ns_ at 165.000000 "$node_(3) setdest 96.035595 60.970960 18.912329" -$ns_ at 165.000000 "$node_(4) setdest 122.502042 185.210639 10.149105" -$ns_ at 165.000000 "$node_(5) setdest 185.141179 61.579353 18.321845" -$ns_ at 165.000000 "$node_(6) setdest 380.051979 17.762097 16.071885" -$ns_ at 165.000000 "$node_(7) setdest 402.404607 29.219681 10.352276" -$ns_ at 165.000000 "$node_(8) setdest 393.507649 34.981420 9.823012" -$ns_ at 165.000000 "$node_(9) setdest 422.735375 77.199676 19.995742" -$ns_ at 165.000000 "$node_(10) setdest 426.942629 160.730540 17.373052" - -$ns_ at 166.000000 "$node_(1) setdest 82.726194 31.276530 8.866665" -$ns_ at 166.000000 "$node_(2) setdest 148.987588 140.420750 16.547590" -$ns_ at 166.000000 "$node_(3) setdest 78.637722 51.317801 19.896468" -$ns_ at 166.000000 "$node_(4) setdest 111.343377 182.740860 11.428718" -$ns_ at 166.000000 "$node_(5) setdest 183.940304 41.880407 19.735515" -$ns_ at 166.000000 "$node_(6) setdest 362.380169 17.752944 17.671813" -$ns_ at 166.000000 "$node_(7) setdest 391.653384 34.440900 11.951984" -$ns_ at 166.000000 "$node_(8) setdest 382.669885 38.590161 11.422790" -$ns_ at 166.000000 "$node_(9) setdest 403.199353 72.940877 19.994837" -$ns_ at 166.000000 "$node_(10) setdest 408.274085 157.340788 18.973796" - -$ns_ at 167.000000 "$node_(1) setdest 83.836001 41.676120 10.458640" -$ns_ at 167.000000 "$node_(2) setdest 153.399183 157.898562 18.025984" -$ns_ at 167.000000 "$node_(3) setdest 58.975217 50.354423 19.686091" -$ns_ at 167.000000 "$node_(4) setdest 103.966143 171.791634 13.202619" -$ns_ at 167.000000 "$node_(5) setdest 192.412042 25.101152 18.796642" -$ns_ at 167.000000 "$node_(6) setdest 343.128857 18.513654 19.266336" -$ns_ at 167.000000 "$node_(7) setdest 379.364734 40.154703 13.552065" -$ns_ at 167.000000 "$node_(8) setdest 370.163237 42.213745 13.021007" -$ns_ at 167.000000 "$node_(9) setdest 384.109842 66.996327 19.993677" -$ns_ at 167.000000 "$node_(10) setdest 388.699756 153.273291 19.992471" - -$ns_ at 168.000000 "$node_(1) setdest 84.894126 53.682119 12.052537" -$ns_ at 168.000000 "$node_(2) setdest 167.272527 171.355308 19.327536" -$ns_ at 168.000000 "$node_(3) setdest 50.795974 63.637111 15.599033" -$ns_ at 168.000000 "$node_(4) setdest 99.748116 157.437131 14.961400" -$ns_ at 168.000000 "$node_(5) setdest 198.947067 22.026635 7.222133" -$ns_ at 168.000000 "$node_(6) setdest 323.346757 21.396871 19.991109" -$ns_ at 168.000000 "$node_(7) setdest 365.975599 47.239433 15.148014" -$ns_ at 168.000000 "$node_(8) setdest 355.878352 45.327028 14.620207" -$ns_ at 168.000000 "$node_(9) setdest 365.020316 61.038320 19.997696" -$ns_ at 168.000000 "$node_(10) setdest 369.105098 149.269829 19.999458" - -$ns_ at 169.000000 "$node_(1) setdest 89.451531 66.521653 13.624375" -$ns_ at 169.000000 "$node_(2) setdest 185.788334 169.598855 18.598931" -$ns_ at 169.000000 "$node_(3) setdest 57.023606 66.857513 7.011019" -$ns_ at 169.000000 "$node_(4) setdest 94.375213 141.785412 16.548244" -$ns_ at 169.000000 "$node_(5) setdest 197.685641 21.098308 1.566202" -$ns_ at 169.000000 "$node_(6) setdest 303.800583 25.627234 19.998722" -$ns_ at 169.000000 "$node_(7) setdest 351.976358 56.428967 16.745934" -$ns_ at 169.000000 "$node_(8) setdest 339.845401 47.794114 16.221653" -$ns_ at 169.000000 "$node_(9) setdest 345.625203 56.166910 19.997526" -$ns_ at 169.000000 "$node_(10) setdest 349.412594 145.778646 19.999576" - -$ns_ at 170.000000 "$node_(1) setdest 98.595971 78.660537 15.197805" -$ns_ at 170.000000 "$node_(2) setdest 191.824229 152.854155 17.799355" -$ns_ at 170.000000 "$node_(3) setdest 65.505872 65.288800 8.626105" -$ns_ at 170.000000 "$node_(4) setdest 84.771789 126.399680 18.136882" -$ns_ at 170.000000 "$node_(5) setdest 194.447590 20.748193 3.256924" -$ns_ at 170.000000 "$node_(6) setdest 284.422089 30.561769 19.996891" -$ns_ at 170.000000 "$node_(7) setdest 336.488392 66.266943 18.348375" -$ns_ at 170.000000 "$node_(8) setdest 322.137911 49.798598 17.820583" -$ns_ at 170.000000 "$node_(9) setdest 325.954317 52.576373 19.995892" -$ns_ at 170.000000 "$node_(10) setdest 329.735957 142.201287 19.999189" - -$ns_ at 171.000000 "$node_(1) setdest 112.977297 87.271027 16.761953" -$ns_ at 171.000000 "$node_(2) setdest 191.611035 136.352639 16.502893" -$ns_ at 171.000000 "$node_(3) setdest 75.600405 63.592078 10.236135" -$ns_ at 171.000000 "$node_(4) setdest 69.325659 114.455881 19.525298" -$ns_ at 171.000000 "$node_(5) setdest 189.626370 20.167736 4.856036" -$ns_ at 171.000000 "$node_(6) setdest 265.427300 36.816797 19.998184" -$ns_ at 171.000000 "$node_(7) setdest 319.125355 75.725898 19.772377" -$ns_ at 171.000000 "$node_(8) setdest 302.740361 50.564467 19.412663" -$ns_ at 171.000000 "$node_(9) setdest 306.097225 50.200000 19.998782" -$ns_ at 171.000000 "$node_(10) setdest 310.324303 137.409564 19.994322" - -$ns_ at 172.000000 "$node_(1) setdest 130.889740 91.652087 18.440426" -$ns_ at 172.000000 "$node_(2) setdest 188.195099 119.984720 16.720568" -$ns_ at 172.000000 "$node_(3) setdest 87.261624 61.566337 11.835863" -$ns_ at 172.000000 "$node_(4) setdest 50.408455 108.069384 19.966171" -$ns_ at 172.000000 "$node_(5) setdest 183.210315 19.462493 6.454698" -$ns_ at 172.000000 "$node_(6) setdest 246.804372 44.105199 19.998357" -$ns_ at 172.000000 "$node_(7) setdest 300.903681 83.960245 19.995847" -$ns_ at 172.000000 "$node_(8) setdest 282.761368 49.802834 19.993506" -$ns_ at 172.000000 "$node_(9) setdest 286.178420 48.427559 19.997508" -$ns_ at 172.000000 "$node_(10) setdest 291.419852 130.900985 19.993495" - -$ns_ at 173.000000 "$node_(1) setdest 150.117221 96.445478 19.815968" -$ns_ at 173.000000 "$node_(2) setdest 186.605797 101.739334 18.314476" -$ns_ at 173.000000 "$node_(3) setdest 100.596739 59.980711 13.429055" -$ns_ at 173.000000 "$node_(4) setdest 30.490170 107.030632 19.945353" -$ns_ at 173.000000 "$node_(5) setdest 175.384564 17.552862 8.055375" -$ns_ at 173.000000 "$node_(6) setdest 228.279753 51.641445 19.998913" -$ns_ at 173.000000 "$node_(7) setdest 282.201859 91.043224 19.998168" -$ns_ at 173.000000 "$node_(8) setdest 263.086759 46.344289 19.976279" -$ns_ at 173.000000 "$node_(9) setdest 266.189461 47.940458 19.994893" -$ns_ at 173.000000 "$node_(10) setdest 273.195059 122.679443 19.993419" - -$ns_ at 174.000000 "$node_(1) setdest 168.902350 103.226473 19.971554" -$ns_ at 174.000000 "$node_(2) setdest 184.513754 82.093305 19.757102" -$ns_ at 174.000000 "$node_(3) setdest 115.623096 60.000922 15.026371" -$ns_ at 174.000000 "$node_(4) setdest 11.378375 105.199769 19.199290" -$ns_ at 174.000000 "$node_(5) setdest 165.905684 15.739495 9.650776" -$ns_ at 174.000000 "$node_(6) setdest 210.524312 60.821660 19.988297" -$ns_ at 174.000000 "$node_(7) setdest 263.237099 97.391304 19.999006" -$ns_ at 174.000000 "$node_(8) setdest 244.452806 39.179900 19.963784" -$ns_ at 174.000000 "$node_(9) setdest 246.259591 49.492870 19.990241" -$ns_ at 174.000000 "$node_(10) setdest 255.875893 112.695630 19.990749" - -$ns_ at 175.000000 "$node_(1) setdest 179.680069 118.492693 18.687341" -$ns_ at 175.000000 "$node_(2) setdest 180.258778 62.740869 19.814682" -$ns_ at 175.000000 "$node_(3) setdest 132.021670 62.570627 16.598693" -$ns_ at 175.000000 "$node_(4) setdest 5.755446 88.484328 17.635853" -$ns_ at 175.000000 "$node_(5) setdest 155.223912 16.670444 10.722262" -$ns_ at 175.000000 "$node_(6) setdest 194.092342 72.196532 19.984929" -$ns_ at 175.000000 "$node_(7) setdest 244.024859 102.944527 19.998711" -$ns_ at 175.000000 "$node_(8) setdest 226.039257 31.479843 19.958700" -$ns_ at 175.000000 "$node_(9) setdest 226.666973 53.441639 19.986582" -$ns_ at 175.000000 "$node_(10) setdest 239.867016 100.730485 19.986216" - -$ns_ at 176.000000 "$node_(1) setdest 178.455056 113.826735 4.824088" -$ns_ at 176.000000 "$node_(2) setdest 170.317497 46.270492 19.238045" -$ns_ at 176.000000 "$node_(3) setdest 148.852278 69.512159 18.205884" -$ns_ at 176.000000 "$node_(4) setdest 7.747696 72.189753 16.415914" -$ns_ at 176.000000 "$node_(5) setdest 155.067960 17.267330 0.616923" -$ns_ at 176.000000 "$node_(6) setdest 179.520253 85.870172 19.982848" -$ns_ at 176.000000 "$node_(7) setdest 224.758061 108.308526 19.999549" -$ns_ at 176.000000 "$node_(8) setdest 206.348654 28.206572 19.960815" -$ns_ at 176.000000 "$node_(9) setdest 207.773501 59.963121 19.987322" -$ns_ at 176.000000 "$node_(10) setdest 225.733708 86.607919 19.979922" - -$ns_ at 177.000000 "$node_(1) setdest 175.246544 108.496016 6.221826" -$ns_ at 177.000000 "$node_(2) setdest 157.726290 31.362125 19.514044" -$ns_ at 177.000000 "$node_(3) setdest 164.683417 81.103727 19.621148" -$ns_ at 177.000000 "$node_(4) setdest 17.513917 60.031501 15.594941" -$ns_ at 177.000000 "$node_(5) setdest 156.535342 17.780235 1.554439" -$ns_ at 177.000000 "$node_(6) setdest 167.122891 101.545865 19.985543" -$ns_ at 177.000000 "$node_(7) setdest 205.299075 112.923724 19.998805" -$ns_ at 177.000000 "$node_(8) setdest 186.493072 30.105946 19.946222" -$ns_ at 177.000000 "$node_(9) setdest 189.928589 68.956396 19.982989" -$ns_ at 177.000000 "$node_(10) setdest 213.261658 71.046403 19.942738" - -$ns_ at 178.000000 "$node_(1) setdest 172.424003 101.197065 7.825690" -$ns_ at 178.000000 "$node_(2) setdest 142.888376 19.133692 19.227539" -$ns_ at 178.000000 "$node_(3) setdest 174.810337 98.211073 19.880034" -$ns_ at 178.000000 "$node_(4) setdest 31.152481 49.569283 17.189195" -$ns_ at 178.000000 "$node_(5) setdest 159.699097 18.019297 3.172774" -$ns_ at 178.000000 "$node_(6) setdest 157.052647 118.802745 19.980234" -$ns_ at 178.000000 "$node_(7) setdest 185.768249 117.229326 19.999784" -$ns_ at 178.000000 "$node_(8) setdest 167.818405 37.111714 19.945525" -$ns_ at 178.000000 "$node_(9) setdest 173.871013 80.833808 19.972948" -$ns_ at 178.000000 "$node_(10) setdest 196.419365 70.738967 16.845098" - -$ns_ at 179.000000 "$node_(1) setdest 170.753363 91.918408 9.427858" -$ns_ at 179.000000 "$node_(2) setdest 125.010723 12.749372 18.983414" -$ns_ at 179.000000 "$node_(3) setdest 181.874760 116.920836 19.999033" -$ns_ at 179.000000 "$node_(4) setdest 46.551054 38.789818 18.796620" -$ns_ at 179.000000 "$node_(5) setdest 163.906434 16.048997 4.645834" -$ns_ at 179.000000 "$node_(6) setdest 150.159618 137.551322 19.975559" -$ns_ at 179.000000 "$node_(7) setdest 166.344084 121.993628 19.999919" -$ns_ at 179.000000 "$node_(8) setdest 150.738069 47.480338 19.981147" -$ns_ at 179.000000 "$node_(9) setdest 160.581359 95.722920 19.957469" -$ns_ at 179.000000 "$node_(10) setdest 195.672687 84.091040 13.372934" - -$ns_ at 180.000000 "$node_(1) setdest 170.379290 80.898702 11.026053" -$ns_ at 180.000000 "$node_(2) setdest 106.108663 11.307135 18.957001" -$ns_ at 180.000000 "$node_(3) setdest 186.831517 136.224536 19.929934" -$ns_ at 180.000000 "$node_(4) setdest 63.824239 28.948857 19.879825" -$ns_ at 180.000000 "$node_(5) setdest 169.419179 13.556525 6.050023" -$ns_ at 180.000000 "$node_(6) setdest 147.828308 157.269197 19.855216" -$ns_ at 180.000000 "$node_(7) setdest 147.059157 127.267473 19.993046" -$ns_ at 180.000000 "$node_(8) setdest 134.966214 59.765581 19.991963" -$ns_ at 180.000000 "$node_(9) setdest 151.747848 113.601200 19.941509" -$ns_ at 180.000000 "$node_(10) setdest 189.493134 92.502152 10.437130" - -$ns_ at 181.000000 "$node_(1) setdest 171.163052 68.288192 12.634842" -$ns_ at 181.000000 "$node_(2) setdest 91.123305 20.053465 17.351060" -$ns_ at 181.000000 "$node_(3) setdest 188.637831 156.141046 19.998253" -$ns_ at 181.000000 "$node_(4) setdest 82.685943 28.747684 18.862777" -$ns_ at 181.000000 "$node_(5) setdest 172.747269 19.290485 6.629817" -$ns_ at 181.000000 "$node_(6) setdest 160.476531 170.330272 18.181563" -$ns_ at 181.000000 "$node_(7) setdest 128.509912 134.706388 19.985292" -$ns_ at 181.000000 "$node_(8) setdest 117.253969 68.951910 19.952752" -$ns_ at 181.000000 "$node_(9) setdest 145.153561 132.482364 19.999575" -$ns_ at 181.000000 "$node_(10) setdest 178.683836 98.024600 12.138302" - -$ns_ at 182.000000 "$node_(1) setdest 172.888706 54.198358 14.195116" -$ns_ at 182.000000 "$node_(2) setdest 83.890009 35.949121 17.464032" -$ns_ at 182.000000 "$node_(3) setdest 190.094980 176.021799 19.934083" -$ns_ at 182.000000 "$node_(4) setdest 96.855632 39.340425 17.691417" -$ns_ at 182.000000 "$node_(5) setdest 173.027925 27.952089 8.666149" -$ns_ at 182.000000 "$node_(6) setdest 177.244737 175.603016 17.577672" -$ns_ at 182.000000 "$node_(7) setdest 111.416146 145.032855 19.970798" -$ns_ at 182.000000 "$node_(8) setdest 97.650034 72.426294 19.909435" -$ns_ at 182.000000 "$node_(9) setdest 139.260466 151.590578 19.996310" -$ns_ at 182.000000 "$node_(10) setdest 167.962697 106.536181 13.689040" - -$ns_ at 183.000000 "$node_(1) setdest 180.428826 40.405392 15.719393" -$ns_ at 183.000000 "$node_(2) setdest 80.665629 54.207418 18.540821" -$ns_ at 183.000000 "$node_(3) setdest 196.076606 187.662698 13.087794" -$ns_ at 183.000000 "$node_(4) setdest 113.096835 43.407822 16.742771" -$ns_ at 183.000000 "$node_(5) setdest 175.004921 38.052270 10.291850" -$ns_ at 183.000000 "$node_(6) setdest 192.567746 173.044954 15.535067" -$ns_ at 183.000000 "$node_(7) setdest 94.933105 156.301721 19.966922" -$ns_ at 183.000000 "$node_(8) setdest 78.202415 68.303846 19.879749" -$ns_ at 183.000000 "$node_(9) setdest 128.466810 168.153105 19.769176" -$ns_ at 183.000000 "$node_(10) setdest 155.692441 115.659456 15.290302" - -$ns_ at 184.000000 "$node_(1) setdest 194.682139 32.290056 16.401695" -$ns_ at 184.000000 "$node_(2) setdest 71.721236 70.341996 18.447948" -$ns_ at 184.000000 "$node_(3) setdest 195.005636 184.210017 3.614967" -$ns_ at 184.000000 "$node_(4) setdest 131.373418 43.329977 18.276749" -$ns_ at 184.000000 "$node_(5) setdest 177.681189 49.641032 11.893773" -$ns_ at 184.000000 "$node_(6) setdest 192.538130 172.725928 0.320398" -$ns_ at 184.000000 "$node_(7) setdest 76.208559 163.180223 19.947993" -$ns_ at 184.000000 "$node_(8) setdest 59.386392 61.528995 19.998534" -$ns_ at 184.000000 "$node_(9) setdest 119.659162 170.816167 9.201443" -$ns_ at 184.000000 "$node_(10) setdest 139.468774 119.990598 16.791848" - -$ns_ at 185.000000 "$node_(1) setdest 195.613467 33.069178 1.214250" -$ns_ at 185.000000 "$node_(2) setdest 72.027737 89.787372 19.447792" -$ns_ at 185.000000 "$node_(3) setdest 194.672645 188.582756 4.385400" -$ns_ at 185.000000 "$node_(4) setdest 134.492679 47.692958 5.363338" -$ns_ at 185.000000 "$node_(5) setdest 173.964993 62.431439 13.319333" -$ns_ at 185.000000 "$node_(6) setdest 191.099665 172.527656 1.452065" -$ns_ at 185.000000 "$node_(7) setdest 56.380453 165.404161 19.952436" -$ns_ at 185.000000 "$node_(8) setdest 40.804330 54.137082 19.998335" -$ns_ at 185.000000 "$node_(9) setdest 119.805941 169.859912 0.967454" -$ns_ at 185.000000 "$node_(10) setdest 121.371407 116.477413 18.435216" - -$ns_ at 186.000000 "$node_(1) setdest 195.523460 35.547228 2.479684" -$ns_ at 186.000000 "$node_(2) setdest 72.860222 109.769952 19.999913" -$ns_ at 186.000000 "$node_(3) setdest 193.465576 194.532746 6.071194" -$ns_ at 186.000000 "$node_(4) setdest 134.472696 54.482129 6.789201" -$ns_ at 186.000000 "$node_(5) setdest 169.445995 76.675295 14.943519" -$ns_ at 186.000000 "$node_(6) setdest 188.017704 172.548818 3.082034" -$ns_ at 186.000000 "$node_(7) setdest 36.936529 161.362410 19.859555" -$ns_ at 186.000000 "$node_(8) setdest 21.592497 48.640305 19.982719" -$ns_ at 186.000000 "$node_(9) setdest 120.575903 167.393762 2.583551" -$ns_ at 186.000000 "$node_(10) setdest 104.372214 106.231584 19.848162" - -$ns_ at 187.000000 "$node_(1) setdest 195.465659 39.626432 4.079614" -$ns_ at 187.000000 "$node_(2) setdest 73.033876 129.767033 19.997835" -$ns_ at 187.000000 "$node_(3) setdest 192.328990 202.117959 7.669894" -$ns_ at 187.000000 "$node_(4) setdest 134.718626 62.867220 8.388696" -$ns_ at 187.000000 "$node_(5) setdest 165.002660 92.609977 16.542591" -$ns_ at 187.000000 "$node_(6) setdest 183.363363 172.076516 4.678243" -$ns_ at 187.000000 "$node_(7) setdest 27.040671 147.302132 17.193587" -$ns_ at 187.000000 "$node_(8) setdest 15.086590 34.481154 15.582310" -$ns_ at 187.000000 "$node_(9) setdest 122.262624 163.566603 4.182365" -$ns_ at 187.000000 "$node_(10) setdest 87.019330 96.377428 19.955625" - -$ns_ at 188.000000 "$node_(1) setdest 195.493442 45.306014 5.679650" -$ns_ at 188.000000 "$node_(2) setdest 72.088632 149.742168 19.997487" -$ns_ at 188.000000 "$node_(3) setdest 191.694603 211.364885 9.268662" -$ns_ at 188.000000 "$node_(4) setdest 135.397225 72.832879 9.988737" -$ns_ at 188.000000 "$node_(5) setdest 160.860419 110.273346 18.142567" -$ns_ at 188.000000 "$node_(6) setdest 177.331385 170.366266 6.269746" -$ns_ at 188.000000 "$node_(7) setdest 33.339932 142.144690 8.141247" -$ns_ at 188.000000 "$node_(8) setdest 25.950932 28.357513 12.471284" -$ns_ at 188.000000 "$node_(9) setdest 125.574753 158.840877 5.770848" -$ns_ at 188.000000 "$node_(10) setdest 73.723879 81.531864 19.928868" - -$ns_ at 189.000000 "$node_(1) setdest 195.501926 52.585695 7.279686" -$ns_ at 189.000000 "$node_(2) setdest 70.118723 169.643281 19.998371" -$ns_ at 189.000000 "$node_(3) setdest 191.784503 222.234607 10.870094" -$ns_ at 189.000000 "$node_(4) setdest 136.587465 84.360558 11.588963" -$ns_ at 189.000000 "$node_(5) setdest 157.134792 129.574013 19.656960" -$ns_ at 189.000000 "$node_(6) setdest 170.511875 166.445811 7.866110" -$ns_ at 189.000000 "$node_(7) setdest 42.075135 137.545000 9.872230" -$ns_ at 189.000000 "$node_(8) setdest 39.756298 24.207709 14.415582" -$ns_ at 189.000000 "$node_(9) setdest 131.266657 154.174797 7.360033" -$ns_ at 189.000000 "$node_(10) setdest 62.437001 65.038639 19.985497" - -$ns_ at 190.000000 "$node_(1) setdest 195.416493 61.464644 8.879359" -$ns_ at 190.000000 "$node_(2) setdest 67.278825 189.439428 19.998811" -$ns_ at 190.000000 "$node_(3) setdest 192.074302 234.702462 12.471222" -$ns_ at 190.000000 "$node_(4) setdest 138.172614 97.454006 13.189051" -$ns_ at 190.000000 "$node_(5) setdest 154.020435 149.328771 19.998742" -$ns_ at 190.000000 "$node_(6) setdest 163.520779 160.060724 9.468092" -$ns_ at 190.000000 "$node_(7) setdest 51.690561 131.290754 11.470484" -$ns_ at 190.000000 "$node_(8) setdest 55.087819 19.437284 16.056541" -$ns_ at 190.000000 "$node_(9) setdest 139.311546 150.191848 8.976865" -$ns_ at 190.000000 "$node_(10) setdest 59.419189 45.948052 19.327640" - -$ns_ at 191.000000 "$node_(1) setdest 195.032236 71.937101 10.479504" -$ns_ at 191.000000 "$node_(2) setdest 63.774126 209.129366 19.999414" -$ns_ at 191.000000 "$node_(3) setdest 192.134525 248.773197 14.070864" -$ns_ at 191.000000 "$node_(4) setdest 140.151210 112.110209 14.789156" -$ns_ at 191.000000 "$node_(5) setdest 151.528492 169.172266 19.999351" -$ns_ at 191.000000 "$node_(6) setdest 156.653106 151.371539 11.075507" -$ns_ at 191.000000 "$node_(7) setdest 61.020362 122.160481 13.054006" -$ns_ at 191.000000 "$node_(8) setdest 72.246356 15.431568 17.619908" -$ns_ at 191.000000 "$node_(9) setdest 149.037901 146.020315 10.583179" -$ns_ at 191.000000 "$node_(10) setdest 62.233515 26.981985 19.173735" - -$ns_ at 192.000000 "$node_(1) setdest 194.328858 83.995651 12.079047" -$ns_ at 192.000000 "$node_(2) setdest 60.068139 228.782066 19.999074" -$ns_ at 192.000000 "$node_(3) setdest 191.210367 264.413225 15.667308" -$ns_ at 192.000000 "$node_(4) setdest 142.034412 128.390629 16.388976" -$ns_ at 192.000000 "$node_(5) setdest 149.209226 189.037194 19.999859" -$ns_ at 192.000000 "$node_(6) setdest 149.885588 140.648727 12.679826" -$ns_ at 192.000000 "$node_(7) setdest 70.178665 110.699923 14.670341" -$ns_ at 192.000000 "$node_(8) setdest 91.480263 14.579377 19.252776" -$ns_ at 192.000000 "$node_(9) setdest 160.621424 145.650484 11.589425" -$ns_ at 192.000000 "$node_(10) setdest 71.531198 10.851366 18.618372" - -$ns_ at 193.000000 "$node_(1) setdest 193.150556 97.624358 13.679549" -$ns_ at 193.000000 "$node_(2) setdest 56.962041 248.539067 19.999673" -$ns_ at 193.000000 "$node_(3) setdest 188.728422 281.499973 17.266065" -$ns_ at 193.000000 "$node_(4) setdest 143.661611 146.305417 17.988535" -$ns_ at 193.000000 "$node_(5) setdest 146.639128 208.871240 19.999870" -$ns_ at 193.000000 "$node_(6) setdest 141.678111 128.965386 14.278065" -$ns_ at 193.000000 "$node_(7) setdest 77.526460 96.240451 16.219323" -$ns_ at 193.000000 "$node_(8) setdest 111.285642 11.901841 19.985551" -$ns_ at 193.000000 "$node_(9) setdest 162.320582 151.191100 5.795306" -$ns_ at 193.000000 "$node_(10) setdest 69.434904 14.512209 4.218556" - -$ns_ at 194.000000 "$node_(1) setdest 191.331293 112.793988 15.278331" -$ns_ at 194.000000 "$node_(2) setdest 54.045499 268.325206 19.999938" -$ns_ at 194.000000 "$node_(3) setdest 184.809887 299.958796 18.870163" -$ns_ at 194.000000 "$node_(4) setdest 144.576980 165.824228 19.540263" -$ns_ at 194.000000 "$node_(5) setdest 143.541952 228.628802 19.998844" -$ns_ at 194.000000 "$node_(6) setdest 132.011405 116.363647 15.882350" -$ns_ at 194.000000 "$node_(7) setdest 81.390315 78.832201 17.831897" -$ns_ at 194.000000 "$node_(8) setdest 130.995388 8.526521 19.996672" -$ns_ at 194.000000 "$node_(9) setdest 158.304055 156.109234 6.349844" -$ns_ at 194.000000 "$node_(10) setdest 64.357297 23.822765 10.605120" - -$ns_ at 195.000000 "$node_(1) setdest 188.282059 129.392447 16.876216" -$ns_ at 195.000000 "$node_(2) setdest 51.150472 288.114471 19.999904" -$ns_ at 195.000000 "$node_(3) setdest 179.637007 319.243200 19.966145" -$ns_ at 195.000000 "$node_(4) setdest 144.982177 185.819869 19.999746" -$ns_ at 195.000000 "$node_(5) setdest 139.870629 248.288518 19.999576" -$ns_ at 195.000000 "$node_(6) setdest 122.921583 101.453520 17.462438" -$ns_ at 195.000000 "$node_(7) setdest 80.824768 59.414565 19.425870" -$ns_ at 195.000000 "$node_(8) setdest 150.685052 6.112369 19.837111" -$ns_ at 195.000000 "$node_(9) setdest 153.669623 162.564787 7.946831" -$ns_ at 195.000000 "$node_(10) setdest 62.963882 36.031903 12.288395" - -$ns_ at 196.000000 "$node_(1) setdest 183.957321 147.358510 18.479253" -$ns_ at 196.000000 "$node_(2) setdest 48.611087 307.952411 19.999809" -$ns_ at 196.000000 "$node_(3) setdest 172.922634 338.070779 19.989011" -$ns_ at 196.000000 "$node_(4) setdest 145.105736 205.819344 19.999857" -$ns_ at 196.000000 "$node_(5) setdest 135.716006 267.851495 19.999273" -$ns_ at 196.000000 "$node_(6) setdest 114.965812 84.111046 19.080244" -$ns_ at 196.000000 "$node_(7) setdest 77.199943 39.771797 19.974427" -$ns_ at 196.000000 "$node_(8) setdest 170.172454 10.569598 19.990641" -$ns_ at 196.000000 "$node_(9) setdest 146.820750 169.209669 9.542616" -$ns_ at 196.000000 "$node_(10) setdest 65.562221 49.704614 13.917413" - -$ns_ at 197.000000 "$node_(1) setdest 179.424231 166.672897 19.839215" -$ns_ at 197.000000 "$node_(2) setdest 46.811525 327.868842 19.997566" -$ns_ at 197.000000 "$node_(3) setdest 163.939414 355.929108 19.990452" -$ns_ at 197.000000 "$node_(4) setdest 145.006109 225.818471 19.999375" -$ns_ at 197.000000 "$node_(5) setdest 130.662166 287.197475 19.995206" -$ns_ at 197.000000 "$node_(6) setdest 106.357417 66.062345 19.996501" -$ns_ at 197.000000 "$node_(7) setdest 75.946021 20.181201 19.630684" -$ns_ at 197.000000 "$node_(8) setdest 188.099728 18.417830 19.569923" -$ns_ at 197.000000 "$node_(9) setdest 138.645810 176.738594 11.113701" -$ns_ at 197.000000 "$node_(10) setdest 71.277978 64.136289 15.522342" - -$ns_ at 198.000000 "$node_(1) setdest 175.356307 186.254820 19.999992" -$ns_ at 198.000000 "$node_(2) setdest 45.427324 347.820835 19.999951" -$ns_ at 198.000000 "$node_(3) setdest 152.416252 372.246071 19.975649" -$ns_ at 198.000000 "$node_(4) setdest 143.832197 245.780166 19.996183" -$ns_ at 198.000000 "$node_(5) setdest 123.549176 305.874927 19.986041" -$ns_ at 198.000000 "$node_(6) setdest 95.007893 49.716550 19.899666" -$ns_ at 198.000000 "$node_(7) setdest 89.910882 8.256505 18.363434" -$ns_ at 198.000000 "$node_(8) setdest 186.767229 35.321285 16.955895" -$ns_ at 198.000000 "$node_(9) setdest 140.360459 185.666801 9.091364" -$ns_ at 198.000000 "$node_(10) setdest 79.585340 79.054188 17.075010" - -$ns_ at 199.000000 "$node_(1) setdest 171.310371 205.841290 19.999985" -$ns_ at 199.000000 "$node_(2) setdest 45.246485 367.808943 19.988926" -$ns_ at 199.000000 "$node_(3) setdest 141.026187 379.353825 13.425861" -$ns_ at 199.000000 "$node_(4) setdest 141.471649 265.638334 19.997976" -$ns_ at 199.000000 "$node_(5) setdest 113.615585 323.205618 19.975712" -$ns_ at 199.000000 "$node_(6) setdest 77.769915 49.534854 17.238935" -$ns_ at 199.000000 "$node_(7) setdest 106.824065 10.366785 17.044326" -$ns_ at 199.000000 "$node_(8) setdest 175.640526 47.155431 16.243476" -$ns_ at 199.000000 "$node_(9) setdest 145.881782 184.022631 5.760929" -$ns_ at 199.000000 "$node_(10) setdest 88.755604 95.337817 18.688240" - -$ns_ at 200.000000 "$node_(1) setdest 167.224719 225.419522 19.999993" -$ns_ at 200.000000 "$node_(2) setdest 49.050666 387.354600 19.912420" -$ns_ at 200.000000 "$node_(3) setdest 144.119591 377.312601 3.706177" -$ns_ at 200.000000 "$node_(4) setdest 138.256986 285.377161 19.998884" -$ns_ at 200.000000 "$node_(5) setdest 100.527566 338.285629 19.967548" -$ns_ at 200.000000 "$node_(6) setdest 72.091162 65.514596 16.958785" -$ns_ at 200.000000 "$node_(7) setdest 122.081158 16.304017 16.371610" -$ns_ at 200.000000 "$node_(8) setdest 160.926667 51.839992 15.441592" -$ns_ at 200.000000 "$node_(9) setdest 149.142428 177.126205 7.628401" -$ns_ at 200.000000 "$node_(10) setdest 99.613365 111.937528 19.835356" - -$ns_ at 201.000000 "$node_(1) setdest 163.241486 245.018750 19.999897" -$ns_ at 201.000000 "$node_(2) setdest 61.654558 402.610167 19.788644" -$ns_ at 201.000000 "$node_(3) setdest 149.076068 375.294812 5.351461" -$ns_ at 201.000000 "$node_(4) setdest 134.200711 304.958942 19.997488" -$ns_ at 201.000000 "$node_(5) setdest 84.538504 350.240382 19.964123" -$ns_ at 201.000000 "$node_(6) setdest 67.136324 80.376662 15.666251" -$ns_ at 201.000000 "$node_(7) setdest 139.717702 18.648063 17.791633" -$ns_ at 201.000000 "$node_(8) setdest 145.832431 59.287246 16.831446" -$ns_ at 201.000000 "$node_(9) setdest 152.552155 168.551362 9.227902" -$ns_ at 201.000000 "$node_(10) setdest 117.014782 121.404332 19.809839" - -$ns_ at 202.000000 "$node_(1) setdest 159.391115 264.644218 19.999609" -$ns_ at 202.000000 "$node_(2) setdest 78.236392 413.777419 19.991617" -$ns_ at 202.000000 "$node_(3) setdest 155.820516 373.560161 6.963950" -$ns_ at 202.000000 "$node_(4) setdest 129.372934 324.366691 19.999203" -$ns_ at 202.000000 "$node_(5) setdest 66.671342 359.206049 19.990464" -$ns_ at 202.000000 "$node_(6) setdest 59.005599 94.783951 16.543236" -$ns_ at 202.000000 "$node_(7) setdest 158.694781 17.342255 19.021952" -$ns_ at 202.000000 "$node_(8) setdest 128.180124 62.164422 17.885247" -$ns_ at 202.000000 "$node_(9) setdest 155.239978 158.052038 10.837906" -$ns_ at 202.000000 "$node_(10) setdest 136.907991 122.875448 19.947530" - -$ns_ at 203.000000 "$node_(1) setdest 156.090421 284.369430 19.999465" -$ns_ at 203.000000 "$node_(2) setdest 95.064626 424.526948 19.968521" -$ns_ at 203.000000 "$node_(3) setdest 163.970693 371.055823 8.526259" -$ns_ at 203.000000 "$node_(4) setdest 123.550868 343.497632 19.997233" -$ns_ at 203.000000 "$node_(5) setdest 47.626658 365.068247 19.926499" -$ns_ at 203.000000 "$node_(6) setdest 44.129184 104.390756 17.708711" -$ns_ at 203.000000 "$node_(7) setdest 173.699979 7.360376 18.022038" -$ns_ at 203.000000 "$node_(8) setdest 113.299302 53.211896 17.366248" -$ns_ at 203.000000 "$node_(9) setdest 158.404079 146.023580 12.437658" -$ns_ at 203.000000 "$node_(10) setdest 156.369232 118.860713 19.871034" - -$ns_ at 204.000000 "$node_(1) setdest 153.023861 304.132837 19.999901" -$ns_ at 204.000000 "$node_(2) setdest 111.823384 435.393263 19.973301" -$ns_ at 204.000000 "$node_(3) setdest 169.826488 362.901841 10.038813" -$ns_ at 204.000000 "$node_(4) setdest 116.289633 362.124419 19.992067" -$ns_ at 204.000000 "$node_(5) setdest 28.522161 370.489417 19.858773" -$ns_ at 204.000000 "$node_(6) setdest 27.051512 112.644070 18.967447" -$ns_ at 204.000000 "$node_(7) setdest 180.486356 8.534284 6.887160" -$ns_ at 204.000000 "$node_(8) setdest 98.103987 42.322359 18.694375" -$ns_ at 204.000000 "$node_(9) setdest 161.029362 132.243002 14.028416" -$ns_ at 204.000000 "$node_(10) setdest 172.443816 107.486758 19.691600" - -$ns_ at 205.000000 "$node_(1) setdest 149.277393 323.777154 19.998380" -$ns_ at 205.000000 "$node_(2) setdest 129.394110 444.945228 19.999261" -$ns_ at 205.000000 "$node_(3) setdest 168.110917 364.353857 2.247562" -$ns_ at 205.000000 "$node_(4) setdest 106.734376 379.674290 19.982515" -$ns_ at 205.000000 "$node_(5) setdest 24.594624 377.857992 8.349937" -$ns_ at 205.000000 "$node_(6) setdest 9.174780 116.138563 18.215078" -$ns_ at 205.000000 "$node_(7) setdest 181.039157 13.299606 4.797278" -$ns_ at 205.000000 "$node_(8) setdest 82.787587 30.297708 19.472656" -$ns_ at 205.000000 "$node_(9) setdest 162.200630 116.656242 15.630705" -$ns_ at 205.000000 "$node_(10) setdest 181.116590 90.598550 18.984958" - -$ns_ at 206.000000 "$node_(1) setdest 144.598638 343.219337 19.997231" -$ns_ at 206.000000 "$node_(2) setdest 147.113812 454.211788 19.996424" -$ns_ at 206.000000 "$node_(3) setdest 161.975039 369.257123 7.854363" -$ns_ at 206.000000 "$node_(4) setdest 94.731875 395.657510 19.988080" -$ns_ at 206.000000 "$node_(5) setdest 28.110519 380.700946 4.521493" -$ns_ at 206.000000 "$node_(6) setdest 5.389523 111.880557 5.697261" -$ns_ at 206.000000 "$node_(7) setdest 182.643028 19.505356 6.409660" -$ns_ at 206.000000 "$node_(8) setdest 66.703839 19.152674 19.567798" -$ns_ at 206.000000 "$node_(9) setdest 163.096529 99.441502 17.238037" -$ns_ at 206.000000 "$node_(10) setdest 185.879217 71.902868 19.292773" - -$ns_ at 207.000000 "$node_(1) setdest 138.750622 362.341225 19.996146" -$ns_ at 207.000000 "$node_(2) setdest 163.876030 465.070012 19.971805" -$ns_ at 207.000000 "$node_(3) setdest 153.481555 373.421602 9.459501" -$ns_ at 207.000000 "$node_(4) setdest 81.367103 410.535184 19.999058" -$ns_ at 207.000000 "$node_(5) setdest 33.182405 384.121656 6.117622" -$ns_ at 207.000000 "$node_(6) setdest 7.670427 109.002037 3.672656" -$ns_ at 207.000000 "$node_(7) setdest 183.240979 27.459965 7.977052" -$ns_ at 207.000000 "$node_(8) setdest 48.471800 15.353912 18.623584" -$ns_ at 207.000000 "$node_(9) setdest 164.150679 80.632580 18.838438" -$ns_ at 207.000000 "$node_(10) setdest 185.014933 52.993766 18.928844" - -$ns_ at 208.000000 "$node_(1) setdest 131.154711 380.829290 19.987657" -$ns_ at 208.000000 "$node_(2) setdest 180.272876 476.520635 19.999333" -$ns_ at 208.000000 "$node_(3) setdest 143.368479 377.932962 11.073692" -$ns_ at 208.000000 "$node_(4) setdest 69.391507 426.525693 19.977769" -$ns_ at 208.000000 "$node_(5) setdest 39.946435 387.849275 7.723163" -$ns_ at 208.000000 "$node_(6) setdest 10.931499 104.858445 5.272945" -$ns_ at 208.000000 "$node_(7) setdest 180.816137 36.719425 9.571701" -$ns_ at 208.000000 "$node_(8) setdest 30.381523 9.369616 19.054393" -$ns_ at 208.000000 "$node_(9) setdest 164.385587 60.684667 19.949297" -$ns_ at 208.000000 "$node_(10) setdest 174.507313 38.662418 17.770695" - -$ns_ at 209.000000 "$node_(1) setdest 121.092963 398.095887 19.984348" -$ns_ at 209.000000 "$node_(2) setdest 189.211708 490.664051 16.731375" -$ns_ at 209.000000 "$node_(3) setdest 131.945788 383.417256 12.671044" -$ns_ at 209.000000 "$node_(4) setdest 59.975120 444.153298 19.985015" -$ns_ at 209.000000 "$node_(5) setdest 48.328073 391.937141 9.325369" -$ns_ at 209.000000 "$node_(6) setdest 14.411675 98.942625 6.863568" -$ns_ at 209.000000 "$node_(7) setdest 175.728098 46.705469 11.207551" -$ns_ at 209.000000 "$node_(8) setdest 12.204122 7.859309 18.240037" -$ns_ at 209.000000 "$node_(9) setdest 159.026552 41.578356 19.843648" -$ns_ at 209.000000 "$node_(10) setdest 163.369819 23.521448 18.796083" - -$ns_ at 210.000000 "$node_(1) setdest 108.982057 413.993854 19.985480" -$ns_ at 210.000000 "$node_(2) setdest 180.764820 496.526252 10.281795" -$ns_ at 210.000000 "$node_(3) setdest 119.741871 390.808564 14.267692" -$ns_ at 210.000000 "$node_(4) setdest 53.047125 462.900705 19.986555" -$ns_ at 210.000000 "$node_(5) setdest 57.929229 397.148381 10.924249" -$ns_ at 210.000000 "$node_(6) setdest 16.629371 90.783736 8.454918" -$ns_ at 210.000000 "$node_(7) setdest 170.109979 58.216735 12.809079" -$ns_ at 210.000000 "$node_(8) setdest 7.612919 9.823576 4.993745" -$ns_ at 210.000000 "$node_(9) setdest 144.943214 27.647777 19.809125" -$ns_ at 210.000000 "$node_(10) setdest 151.654646 8.351943 19.166615" - -$ns_ at 211.000000 "$node_(1) setdest 94.765433 428.045068 19.988722" -$ns_ at 211.000000 "$node_(2) setdest 169.488840 501.292361 12.241876" -$ns_ at 211.000000 "$node_(3) setdest 106.907423 400.126968 15.860507" -$ns_ at 211.000000 "$node_(4) setdest 49.262673 482.502882 19.964153" -$ns_ at 211.000000 "$node_(5) setdest 68.775716 403.409497 12.523891" -$ns_ at 211.000000 "$node_(6) setdest 18.101119 80.820271 10.071578" -$ns_ at 211.000000 "$node_(7) setdest 164.220636 71.367090 14.408894" -$ns_ at 211.000000 "$node_(8) setdest 8.398181 10.582628 1.092152" -$ns_ at 211.000000 "$node_(9) setdest 126.252440 20.979851 19.844553" -$ns_ at 211.000000 "$node_(10) setdest 150.671362 7.925031 1.071962" - -$ns_ at 212.000000 "$node_(1) setdest 79.694798 440.482197 19.539862" -$ns_ at 212.000000 "$node_(2) setdest 158.086396 509.199851 13.876027" -$ns_ at 212.000000 "$node_(3) setdest 93.891593 411.784206 17.472923" -$ns_ at 212.000000 "$node_(4) setdest 51.602803 502.238394 19.873768" -$ns_ at 212.000000 "$node_(5) setdest 79.786377 412.225707 14.105326" -$ns_ at 212.000000 "$node_(6) setdest 18.082994 69.169270 11.651015" -$ns_ at 212.000000 "$node_(7) setdest 156.452151 85.357032 16.002119" -$ns_ at 212.000000 "$node_(8) setdest 10.252534 12.543807 2.699046" -$ns_ at 212.000000 "$node_(9) setdest 106.444082 18.349570 19.982227" -$ns_ at 212.000000 "$node_(10) setdest 150.561643 9.241322 1.320856" - -$ns_ at 213.000000 "$node_(1) setdest 74.331248 439.156532 5.524948" -$ns_ at 213.000000 "$node_(2) setdest 147.109484 520.059714 15.441154" -$ns_ at 213.000000 "$node_(3) setdest 78.802986 423.444845 19.069257" -$ns_ at 213.000000 "$node_(4) setdest 64.714464 515.886813 18.926040" -$ns_ at 213.000000 "$node_(5) setdest 90.367257 423.848581 15.717704" -$ns_ at 213.000000 "$node_(6) setdest 15.231940 56.211466 13.267750" -$ns_ at 213.000000 "$node_(7) setdest 146.294162 99.736602 17.605590" -$ns_ at 213.000000 "$node_(8) setdest 12.764348 16.030199 4.296992" -$ns_ at 213.000000 "$node_(9) setdest 87.094251 13.355646 19.983875" -$ns_ at 213.000000 "$node_(10) setdest 150.265932 12.167440 2.941022" - -$ns_ at 214.000000 "$node_(1) setdest 75.387413 435.963971 3.362726" -$ns_ at 214.000000 "$node_(2) setdest 134.637490 531.303365 16.791972" -$ns_ at 214.000000 "$node_(3) setdest 63.111503 435.821747 19.985253" -$ns_ at 214.000000 "$node_(4) setdest 82.741655 517.689625 18.117113" -$ns_ at 214.000000 "$node_(5) setdest 100.190863 438.094362 17.304495" -$ns_ at 214.000000 "$node_(6) setdest 11.435316 41.831751 14.872477" -$ns_ at 214.000000 "$node_(7) setdest 134.405054 114.825240 19.209838" -$ns_ at 214.000000 "$node_(8) setdest 15.786921 21.097420 5.900227" -$ns_ at 214.000000 "$node_(9) setdest 67.206233 11.386313 19.985283" -$ns_ at 214.000000 "$node_(10) setdest 150.233247 16.709509 4.542186" - -$ns_ at 215.000000 "$node_(1) setdest 78.105600 431.749429 5.015068" -$ns_ at 215.000000 "$node_(2) setdest 119.211728 527.255675 15.947976" -$ns_ at 215.000000 "$node_(3) setdest 48.423135 449.394750 19.999364" -$ns_ at 215.000000 "$node_(4) setdest 100.521552 517.808971 17.780297" -$ns_ at 215.000000 "$node_(5) setdest 109.423660 454.614792 18.925357" -$ns_ at 215.000000 "$node_(6) setdest 16.762073 29.826767 13.133696" -$ns_ at 215.000000 "$node_(7) setdest 121.638439 130.219167 19.998986" -$ns_ at 215.000000 "$node_(8) setdest 20.223833 27.143327 7.499279" -$ns_ at 215.000000 "$node_(9) setdest 47.635785 14.277190 19.782811" -$ns_ at 215.000000 "$node_(10) setdest 149.981298 22.846536 6.142197" - -$ns_ at 216.000000 "$node_(1) setdest 82.316111 426.647880 6.614696" -$ns_ at 216.000000 "$node_(2) setdest 110.714063 514.069971 15.686717" -$ns_ at 216.000000 "$node_(3) setdest 34.234170 463.437881 19.963373" -$ns_ at 216.000000 "$node_(4) setdest 119.756878 518.623367 19.252559" -$ns_ at 216.000000 "$node_(5) setdest 118.021417 472.643823 19.974168" -$ns_ at 216.000000 "$node_(6) setdest 24.439905 33.577223 8.544883" -$ns_ at 216.000000 "$node_(7) setdest 109.264356 145.928934 19.997868" -$ns_ at 216.000000 "$node_(8) setdest 26.436807 33.784570 9.094347" -$ns_ at 216.000000 "$node_(9) setdest 34.763093 28.005283 18.819318" -$ns_ at 216.000000 "$node_(10) setdest 149.466985 30.571752 7.742318" - -$ns_ at 217.000000 "$node_(1) setdest 87.966643 420.681429 8.217484" -$ns_ at 217.000000 "$node_(2) setdest 106.139891 497.477479 17.211446" -$ns_ at 217.000000 "$node_(3) setdest 24.871837 481.006527 19.907551" -$ns_ at 217.000000 "$node_(4) setdest 139.198045 521.043816 19.591262" -$ns_ at 217.000000 "$node_(5) setdest 125.144910 491.320562 19.989115" -$ns_ at 217.000000 "$node_(6) setdest 29.906717 42.714611 10.647906" -$ns_ at 217.000000 "$node_(7) setdest 95.624683 160.464758 19.933160" -$ns_ at 217.000000 "$node_(8) setdest 35.012079 40.154365 10.682209" -$ns_ at 217.000000 "$node_(9) setdest 26.794592 44.498695 18.317469" -$ns_ at 217.000000 "$node_(10) setdest 148.822317 39.891733 9.342250" - -$ns_ at 218.000000 "$node_(1) setdest 95.567803 414.482141 9.808608" -$ns_ at 218.000000 "$node_(2) setdest 101.751650 479.151427 18.844119" -$ns_ at 218.000000 "$node_(3) setdest 21.772410 500.718610 19.954264" -$ns_ at 218.000000 "$node_(4) setdest 156.440799 529.170085 19.061711" -$ns_ at 218.000000 "$node_(5) setdest 136.804828 507.434328 19.889875" -$ns_ at 218.000000 "$node_(6) setdest 34.936287 53.901566 12.265583" -$ns_ at 218.000000 "$node_(7) setdest 77.559907 162.800620 18.215168" -$ns_ at 218.000000 "$node_(8) setdest 46.265277 45.048070 12.271219" -$ns_ at 218.000000 "$node_(9) setdest 18.369496 61.553834 19.022618" -$ns_ at 218.000000 "$node_(10) setdest 148.315037 50.819341 10.939376" - -$ns_ at 219.000000 "$node_(1) setdest 105.384019 408.666566 11.409602" -$ns_ at 219.000000 "$node_(2) setdest 105.257830 460.439311 19.037767" -$ns_ at 219.000000 "$node_(3) setdest 20.836622 520.669754 19.973078" -$ns_ at 219.000000 "$node_(4) setdest 169.726291 541.962081 18.442870" -$ns_ at 219.000000 "$node_(5) setdest 151.392428 509.951508 14.803185" -$ns_ at 219.000000 "$node_(6) setdest 39.985524 66.816926 13.867275" -$ns_ at 219.000000 "$node_(7) setdest 65.983518 149.611440 17.548997" -$ns_ at 219.000000 "$node_(8) setdest 60.002002 46.833409 13.852258" -$ns_ at 219.000000 "$node_(9) setdest 12.671632 79.346833 18.683052" -$ns_ at 219.000000 "$node_(10) setdest 149.329428 63.307247 12.529038" - -$ns_ at 220.000000 "$node_(1) setdest 117.372851 403.595980 13.017025" -$ns_ at 220.000000 "$node_(2) setdest 114.312002 443.838623 18.909280" -$ns_ at 220.000000 "$node_(3) setdest 32.633983 533.959274 17.770455" -$ns_ at 220.000000 "$node_(4) setdest 186.809428 545.300049 17.406194" -$ns_ at 220.000000 "$node_(5) setdest 154.136381 499.903314 10.416116" -$ns_ at 220.000000 "$node_(6) setdest 38.966285 82.245893 15.462596" -$ns_ at 220.000000 "$node_(7) setdest 74.429529 163.526860 16.278023" -$ns_ at 220.000000 "$node_(8) setdest 62.748658 50.955781 4.953592" -$ns_ at 220.000000 "$node_(9) setdest 16.722542 97.580963 18.678688" -$ns_ at 220.000000 "$node_(10) setdest 147.564335 77.337282 14.140630" - -$ns_ at 221.000000 "$node_(1) setdest 130.510749 397.211113 14.607220" -$ns_ at 221.000000 "$node_(2) setdest 126.001789 428.533431 19.258765" -$ns_ at 221.000000 "$node_(3) setdest 47.085796 524.976442 17.016055" -$ns_ at 221.000000 "$node_(4) setdest 195.470877 545.496075 8.663667" -$ns_ at 221.000000 "$node_(5) setdest 153.537843 487.668110 12.249835" -$ns_ at 221.000000 "$node_(6) setdest 37.659369 99.258980 17.063211" -$ns_ at 221.000000 "$node_(7) setdest 81.550077 180.240654 18.167363" -$ns_ at 221.000000 "$node_(8) setdest 62.598894 57.433367 6.479317" -$ns_ at 221.000000 "$node_(9) setdest 23.470822 116.374653 19.968527" -$ns_ at 221.000000 "$node_(10) setdest 144.701469 92.814988 15.740247" - -$ns_ at 222.000000 "$node_(1) setdest 145.829089 392.029894 16.170856" -$ns_ at 222.000000 "$node_(2) setdest 140.217574 415.094347 19.562657" -$ns_ at 222.000000 "$node_(3) setdest 60.241100 516.107987 15.865420" -$ns_ at 222.000000 "$node_(4) setdest 195.175480 544.049314 1.476611" -$ns_ at 222.000000 "$node_(5) setdest 153.773151 473.824698 13.845411" -$ns_ at 222.000000 "$node_(6) setdest 36.836689 117.903151 18.662312" -$ns_ at 222.000000 "$node_(7) setdest 88.469997 198.652396 19.669203" -$ns_ at 222.000000 "$node_(8) setdest 62.213896 65.503403 8.079215" -$ns_ at 222.000000 "$node_(9) setdest 31.284840 134.781911 19.997150" -$ns_ at 222.000000 "$node_(10) setdest 140.588071 109.660694 17.340642" - -$ns_ at 223.000000 "$node_(1) setdest 163.506752 392.575980 17.686096" -$ns_ at 223.000000 "$node_(2) setdest 154.063643 401.028161 19.737558" -$ns_ at 223.000000 "$node_(3) setdest 74.782464 518.041618 14.669363" -$ns_ at 223.000000 "$node_(4) setdest 194.480877 541.034819 3.093486" -$ns_ at 223.000000 "$node_(5) setdest 154.461775 458.388033 15.452018" -$ns_ at 223.000000 "$node_(6) setdest 36.889515 137.817056 19.913975" -$ns_ at 223.000000 "$node_(7) setdest 93.285752 218.049531 19.986004" -$ns_ at 223.000000 "$node_(8) setdest 61.558857 75.160595 9.679381" -$ns_ at 223.000000 "$node_(9) setdest 40.120888 152.722334 19.998363" -$ns_ at 223.000000 "$node_(10) setdest 135.370957 127.870138 18.942073" - -$ns_ at 224.000000 "$node_(1) setdest 181.923802 396.004220 18.733408" -$ns_ at 224.000000 "$node_(2) setdest 167.390779 386.339495 19.833544" -$ns_ at 224.000000 "$node_(3) setdest 88.812375 526.590208 16.429145" -$ns_ at 224.000000 "$node_(4) setdest 193.757794 536.395966 4.694870" -$ns_ at 224.000000 "$node_(5) setdest 155.534575 441.369278 17.052534" -$ns_ at 224.000000 "$node_(6) setdest 37.937125 157.787942 19.998344" -$ns_ at 224.000000 "$node_(7) setdest 95.263234 237.932451 19.981015" -$ns_ at 224.000000 "$node_(8) setdest 60.618285 86.400311 11.279002" -$ns_ at 224.000000 "$node_(9) setdest 49.705686 170.274483 19.998657" -$ns_ at 224.000000 "$node_(10) setdest 129.766491 147.053821 19.985588" - -$ns_ at 225.000000 "$node_(1) setdest 169.232343 395.048481 12.727394" -$ns_ at 225.000000 "$node_(2) setdest 178.021040 369.992559 19.499353" -$ns_ at 225.000000 "$node_(3) setdest 105.697669 532.818640 17.997403" -$ns_ at 225.000000 "$node_(4) setdest 193.626695 530.109972 6.287361" -$ns_ at 225.000000 "$node_(5) setdest 157.030780 422.777712 18.651674" -$ns_ at 225.000000 "$node_(6) setdest 39.945670 177.684547 19.997729" -$ns_ at 225.000000 "$node_(7) setdest 93.862395 257.856020 19.972755" -$ns_ at 225.000000 "$node_(8) setdest 59.031456 99.180711 12.878534" -$ns_ at 225.000000 "$node_(9) setdest 59.205275 187.873059 19.998802" -$ns_ at 225.000000 "$node_(10) setdest 124.063931 166.223553 19.999945" - -$ns_ at 226.000000 "$node_(1) setdest 156.800156 391.440287 12.945205" -$ns_ at 226.000000 "$node_(2) setdest 181.618992 357.273651 13.218014" -$ns_ at 226.000000 "$node_(3) setdest 124.505138 538.184199 19.557865" -$ns_ at 226.000000 "$node_(4) setdest 193.643917 522.227082 7.882909" -$ns_ at 226.000000 "$node_(5) setdest 158.657327 402.933793 19.910469" -$ns_ at 226.000000 "$node_(6) setdest 43.108409 197.429911 19.997057" -$ns_ at 226.000000 "$node_(7) setdest 88.502871 277.089742 19.966486" -$ns_ at 226.000000 "$node_(8) setdest 56.808037 113.487980 14.479003" -$ns_ at 226.000000 "$node_(9) setdest 67.791820 205.933327 19.997551" -$ns_ at 226.000000 "$node_(10) setdest 117.964834 185.269423 19.998604" - -$ns_ at 227.000000 "$node_(1) setdest 142.278798 390.812500 14.534922" -$ns_ at 227.000000 "$node_(2) setdest 180.809611 361.122439 3.932972" -$ns_ at 227.000000 "$node_(3) setdest 139.353761 542.830733 15.558660" -$ns_ at 227.000000 "$node_(4) setdest 190.918757 513.212438 9.417553" -$ns_ at 227.000000 "$node_(5) setdest 158.201943 382.958722 19.980261" -$ns_ at 227.000000 "$node_(6) setdest 47.461748 216.947467 19.997164" -$ns_ at 227.000000 "$node_(7) setdest 79.883191 295.123722 19.988080" -$ns_ at 227.000000 "$node_(8) setdest 54.120836 129.341065 16.079222" -$ns_ at 227.000000 "$node_(9) setdest 75.603470 224.344458 19.999791" -$ns_ at 227.000000 "$node_(10) setdest 111.317961 204.132478 19.999894" - -$ns_ at 228.000000 "$node_(1) setdest 126.803939 394.954915 16.019702" -$ns_ at 228.000000 "$node_(2) setdest 181.453885 366.636563 5.551636" -$ns_ at 228.000000 "$node_(3) setdest 139.679950 541.809477 1.072084" -$ns_ at 228.000000 "$node_(4) setdest 182.221684 506.884617 10.755483" -$ns_ at 228.000000 "$node_(5) setdest 147.532398 367.471383 18.806830" -$ns_ at 228.000000 "$node_(6) setdest 53.185240 236.106169 19.995355" -$ns_ at 228.000000 "$node_(7) setdest 69.135376 311.964610 19.978263" -$ns_ at 228.000000 "$node_(8) setdest 50.220110 146.582020 17.676713" -$ns_ at 228.000000 "$node_(9) setdest 83.229589 242.832888 19.999493" -$ns_ at 228.000000 "$node_(10) setdest 104.487873 222.930048 19.999968" - -$ns_ at 229.000000 "$node_(1) setdest 112.719153 405.732941 17.735474" -$ns_ at 229.000000 "$node_(2) setdest 184.190891 373.250673 7.158048" -$ns_ at 229.000000 "$node_(3) setdest 138.130687 540.190583 2.240767" -$ns_ at 229.000000 "$node_(4) setdest 170.893314 511.903508 12.390368" -$ns_ at 229.000000 "$node_(5) setdest 131.769906 373.894402 17.020909" -$ns_ at 229.000000 "$node_(6) setdest 60.421096 254.745402 19.994464" -$ns_ at 229.000000 "$node_(7) setdest 55.227342 326.293985 19.969086" -$ns_ at 229.000000 "$node_(8) setdest 46.727716 165.535396 19.272448" -$ns_ at 229.000000 "$node_(9) setdest 90.276455 261.550003 19.999718" -$ns_ at 229.000000 "$node_(10) setdest 98.003508 241.846149 19.996647" - -$ns_ at 230.000000 "$node_(1) setdest 96.091336 415.488575 19.278400" -$ns_ at 230.000000 "$node_(2) setdest 183.469209 381.617058 8.397453" -$ns_ at 230.000000 "$node_(3) setdest 135.135321 537.790149 3.838527" -$ns_ at 230.000000 "$node_(4) setdest 159.237705 520.178185 14.294178" -$ns_ at 230.000000 "$node_(5) setdest 126.003487 389.332246 16.479642" -$ns_ at 230.000000 "$node_(6) setdest 69.231636 272.693606 19.994091" -$ns_ at 230.000000 "$node_(7) setdest 39.927801 339.173368 19.998862" -$ns_ at 230.000000 "$node_(8) setdest 44.917086 185.446450 19.993211" -$ns_ at 230.000000 "$node_(9) setdest 96.877144 280.425405 19.996247" -$ns_ at 230.000000 "$node_(10) setdest 92.829898 261.161671 19.996390" - -$ns_ at 231.000000 "$node_(1) setdest 76.542960 419.096553 19.878544" -$ns_ at 231.000000 "$node_(2) setdest 176.455767 382.214395 7.038833" -$ns_ at 231.000000 "$node_(3) setdest 130.270647 535.384863 5.426828" -$ns_ at 231.000000 "$node_(4) setdest 147.767236 531.122795 15.854216" -$ns_ at 231.000000 "$node_(5) setdest 120.093704 403.690952 15.527329" -$ns_ at 231.000000 "$node_(6) setdest 79.612346 289.781035 19.993483" -$ns_ at 231.000000 "$node_(7) setdest 24.003817 350.585990 19.591355" -$ns_ at 231.000000 "$node_(8) setdest 44.961975 205.440954 19.994554" -$ns_ at 231.000000 "$node_(9) setdest 99.747344 300.145262 19.927640" -$ns_ at 231.000000 "$node_(10) setdest 89.013268 280.789285 19.995247" - -$ns_ at 232.000000 "$node_(1) setdest 57.010907 414.931045 19.971292" -$ns_ at 232.000000 "$node_(2) setdest 170.625082 375.887436 8.603912" -$ns_ at 232.000000 "$node_(3) setdest 123.401898 533.915668 7.024119" -$ns_ at 232.000000 "$node_(4) setdest 133.831007 536.334199 14.878750" -$ns_ at 232.000000 "$node_(5) setdest 112.784511 418.983603 16.949616" -$ns_ at 232.000000 "$node_(6) setdest 91.565883 305.808159 19.993893" -$ns_ at 232.000000 "$node_(7) setdest 24.991666 366.397074 15.841913" -$ns_ at 232.000000 "$node_(8) setdest 46.668910 225.364489 19.996521" -$ns_ at 232.000000 "$node_(9) setdest 95.297668 319.497789 19.857489" -$ns_ at 232.000000 "$node_(10) setdest 86.767611 300.658389 19.995606" - -$ns_ at 233.000000 "$node_(1) setdest 39.647141 405.570459 19.726149" -$ns_ at 233.000000 "$node_(2) setdest 163.274148 368.970881 10.093313" -$ns_ at 233.000000 "$node_(3) setdest 114.780291 533.380993 8.638170" -$ns_ at 233.000000 "$node_(4) setdest 131.539148 532.333883 4.610330" -$ns_ at 233.000000 "$node_(5) setdest 104.102864 435.367253 18.541710" -$ns_ at 233.000000 "$node_(6) setdest 103.303347 321.997575 19.996631" -$ns_ at 233.000000 "$node_(7) setdest 30.412033 380.296306 14.918748" -$ns_ at 233.000000 "$node_(8) setdest 49.123918 245.211852 19.998622" -$ns_ at 233.000000 "$node_(9) setdest 83.212825 335.267364 19.867635" -$ns_ at 233.000000 "$node_(10) setdest 86.025912 320.638077 19.993450" - -$ns_ at 234.000000 "$node_(1) setdest 27.316123 390.616503 19.382332" -$ns_ at 234.000000 "$node_(2) setdest 152.190026 371.188100 11.303708" -$ns_ at 234.000000 "$node_(3) setdest 104.559734 533.881666 10.232813" -$ns_ at 234.000000 "$node_(4) setdest 134.437047 528.843275 4.536757" -$ns_ at 234.000000 "$node_(5) setdest 99.490371 454.660971 19.837405" -$ns_ at 234.000000 "$node_(6) setdest 113.260598 339.320990 19.981180" -$ns_ at 234.000000 "$node_(7) setdest 34.878867 395.284625 15.639767" -$ns_ at 234.000000 "$node_(8) setdest 52.561370 264.911186 19.996995" -$ns_ at 234.000000 "$node_(9) setdest 66.066130 345.377223 19.905235" -$ns_ at 234.000000 "$node_(10) setdest 87.285070 340.587013 19.988635" - -$ns_ at 235.000000 "$node_(1) setdest 20.218846 372.865040 19.117682" -$ns_ at 235.000000 "$node_(2) setdest 142.051256 379.923957 13.383193" -$ns_ at 235.000000 "$node_(3) setdest 92.840981 535.571717 11.839993" -$ns_ at 235.000000 "$node_(4) setdest 138.217326 524.011125 6.135160" -$ns_ at 235.000000 "$node_(5) setdest 91.141238 472.512581 19.707562" -$ns_ at 235.000000 "$node_(6) setdest 120.629818 357.902574 19.989513" -$ns_ at 235.000000 "$node_(7) setdest 37.667906 412.302677 17.245082" -$ns_ at 235.000000 "$node_(8) setdest 57.399640 284.312240 19.995243" -$ns_ at 235.000000 "$node_(9) setdest 47.135371 351.684805 19.953928" -$ns_ at 235.000000 "$node_(10) setdest 91.171326 360.189136 19.983649" - -$ns_ at 236.000000 "$node_(1) setdest 24.598928 356.149629 17.279760" -$ns_ at 236.000000 "$node_(2) setdest 133.409494 392.148552 14.970664" -$ns_ at 236.000000 "$node_(3) setdest 79.429653 536.017371 13.418731" -$ns_ at 236.000000 "$node_(4) setdest 141.644180 517.087121 7.725617" -$ns_ at 236.000000 "$node_(5) setdest 82.659254 489.792059 19.249010" -$ns_ at 236.000000 "$node_(6) setdest 124.911845 377.382671 19.945173" -$ns_ at 236.000000 "$node_(7) setdest 36.308163 431.068874 18.815394" -$ns_ at 236.000000 "$node_(8) setdest 63.770885 303.263885 19.993940" -$ns_ at 236.000000 "$node_(9) setdest 27.530214 350.712658 19.629245" -$ns_ at 236.000000 "$node_(10) setdest 98.063978 378.939773 19.977363" - -$ns_ at 237.000000 "$node_(1) setdest 40.321183 353.037350 16.027339" -$ns_ at 237.000000 "$node_(2) setdest 125.329380 406.653920 16.604033" -$ns_ at 237.000000 "$node_(3) setdest 64.843715 532.584356 14.984497" -$ns_ at 237.000000 "$node_(4) setdest 144.634350 508.245730 9.333344" -$ns_ at 237.000000 "$node_(5) setdest 82.909106 508.254419 18.464050" -$ns_ at 237.000000 "$node_(6) setdest 118.133725 394.817452 18.706002" -$ns_ at 237.000000 "$node_(7) setdest 29.233267 449.643599 19.876483" -$ns_ at 237.000000 "$node_(8) setdest 71.818285 321.564343 19.991683" -$ns_ at 237.000000 "$node_(9) setdest 29.921966 351.885394 2.663792" -$ns_ at 237.000000 "$node_(10) setdest 108.291461 396.089794 19.968090" - -$ns_ at 238.000000 "$node_(1) setdest 45.596210 362.703271 11.011628" -$ns_ at 238.000000 "$node_(2) setdest 116.291703 422.438321 18.188648" -$ns_ at 238.000000 "$node_(3) setdest 50.905662 523.641287 16.560429" -$ns_ at 238.000000 "$node_(4) setdest 147.083186 497.586315 10.937090" -$ns_ at 238.000000 "$node_(5) setdest 86.823206 527.075434 19.223704" -$ns_ at 238.000000 "$node_(6) setdest 100.295091 394.820595 17.838634" -$ns_ at 238.000000 "$node_(7) setdest 14.754694 462.701263 19.496965" -$ns_ at 238.000000 "$node_(8) setdest 82.106778 338.696777 19.984329" -$ns_ at 238.000000 "$node_(9) setdest 29.384525 352.572171 0.872069" -$ns_ at 238.000000 "$node_(10) setdest 121.581838 411.004409 19.976983" - -$ns_ at 239.000000 "$node_(1) setdest 43.050325 374.782260 12.344371" -$ns_ at 239.000000 "$node_(2) setdest 109.603123 440.967025 19.698985" -$ns_ at 239.000000 "$node_(3) setdest 40.281591 508.934509 18.142774" -$ns_ at 239.000000 "$node_(4) setdest 150.186991 485.439022 12.537557" -$ns_ at 239.000000 "$node_(5) setdest 88.363743 540.891623 13.901811" -$ns_ at 239.000000 "$node_(6) setdest 83.872867 392.609649 16.570387" -$ns_ at 239.000000 "$node_(7) setdest 2.120167 462.131925 12.647348" -$ns_ at 239.000000 "$node_(8) setdest 94.881055 354.058754 19.979301" -$ns_ at 239.000000 "$node_(9) setdest 28.147365 354.727230 2.484924" -$ns_ at 239.000000 "$node_(10) setdest 137.437686 423.128242 19.959841" - -$ns_ at 240.000000 "$node_(1) setdest 38.556092 388.011135 13.971445" -$ns_ at 240.000000 "$node_(2) setdest 102.994537 459.843356 19.999731" -$ns_ at 240.000000 "$node_(3) setdest 34.511155 490.212704 19.590914" -$ns_ at 240.000000 "$node_(4) setdest 153.699183 471.745840 14.136432" -$ns_ at 240.000000 "$node_(5) setdest 87.677276 538.921027 2.086741" -$ns_ at 240.000000 "$node_(6) setdest 67.844685 393.430187 16.049172" -$ns_ at 240.000000 "$node_(7) setdest 2.807388 458.762773 3.438526" -$ns_ at 240.000000 "$node_(8) setdest 109.948493 367.184167 19.982596" -$ns_ at 240.000000 "$node_(9) setdest 26.581030 358.478450 4.065102" -$ns_ at 240.000000 "$node_(10) setdest 155.787822 430.945677 19.945921" - -$ns_ at 241.000000 "$node_(1) setdest 36.249641 403.358559 15.519767" -$ns_ at 241.000000 "$node_(2) setdest 95.054734 478.197050 19.997464" -$ns_ at 241.000000 "$node_(3) setdest 38.588756 470.902314 19.736210" -$ns_ at 241.000000 "$node_(4) setdest 158.039693 456.618076 15.738147" -$ns_ at 241.000000 "$node_(5) setdest 85.810743 535.721185 3.704447" -$ns_ at 241.000000 "$node_(6) setdest 50.254348 394.635888 17.631610" -$ns_ at 241.000000 "$node_(7) setdest 5.492504 454.380668 5.139327" -$ns_ at 241.000000 "$node_(8) setdest 125.740547 379.432191 19.985071" -$ns_ at 241.000000 "$node_(9) setdest 26.686133 364.112657 5.635187" -$ns_ at 241.000000 "$node_(10) setdest 175.328309 429.760207 19.576413" - -$ns_ at 242.000000 "$node_(1) setdest 37.522192 420.480349 17.169015" -$ns_ at 242.000000 "$node_(2) setdest 90.631305 497.645680 19.945323" -$ns_ at 242.000000 "$node_(3) setdest 50.739464 455.055826 19.968748" -$ns_ at 242.000000 "$node_(4) setdest 162.672725 439.910564 17.337991" -$ns_ at 242.000000 "$node_(5) setdest 82.862827 531.310088 5.305468" -$ns_ at 242.000000 "$node_(6) setdest 31.030156 394.391413 19.225746" -$ns_ at 242.000000 "$node_(7) setdest 9.560885 449.014231 6.734268" -$ns_ at 242.000000 "$node_(8) setdest 138.863619 394.470220 19.958891" -$ns_ at 242.000000 "$node_(9) setdest 30.044622 370.532583 7.245336" -$ns_ at 242.000000 "$node_(10) setdest 184.068040 414.234527 17.816555" - -$ns_ at 243.000000 "$node_(1) setdest 37.985476 439.243636 18.769005" -$ns_ at 243.000000 "$node_(2) setdest 87.433717 517.377092 19.988827" -$ns_ at 243.000000 "$node_(3) setdest 62.449094 438.866145 19.980520" -$ns_ at 243.000000 "$node_(4) setdest 167.366807 421.571460 18.930323" -$ns_ at 243.000000 "$node_(5) setdest 79.256025 525.421283 6.905580" -$ns_ at 243.000000 "$node_(6) setdest 11.506341 396.543000 19.642013" -$ns_ at 243.000000 "$node_(7) setdest 15.539098 443.203051 8.337197" -$ns_ at 243.000000 "$node_(8) setdest 147.973211 412.218070 19.949207" -$ns_ at 243.000000 "$node_(9) setdest 36.059140 377.050285 8.868758" -$ns_ at 243.000000 "$node_(10) setdest 177.685561 398.128349 17.324694" - -$ns_ at 244.000000 "$node_(1) setdest 39.206090 459.137583 19.931358" -$ns_ at 244.000000 "$node_(2) setdest 83.154377 536.500088 19.595961" -$ns_ at 244.000000 "$node_(3) setdest 78.636311 427.281132 19.905741" -$ns_ at 244.000000 "$node_(4) setdest 170.390886 401.818715 19.982892" -$ns_ at 244.000000 "$node_(5) setdest 74.252665 518.545692 8.503374" -$ns_ at 244.000000 "$node_(6) setdest 7.973051 410.375276 14.276414" -$ns_ at 244.000000 "$node_(7) setdest 23.323807 437.026222 9.937551" -$ns_ at 244.000000 "$node_(8) setdest 153.374916 431.467556 19.993027" -$ns_ at 244.000000 "$node_(9) setdest 44.032723 383.856539 10.483469" -$ns_ at 244.000000 "$node_(10) setdest 172.718843 382.551826 16.349201" - -$ns_ at 245.000000 "$node_(1) setdest 34.618867 478.486864 19.885606" -$ns_ at 245.000000 "$node_(2) setdest 84.300844 531.592510 5.039713" -$ns_ at 245.000000 "$node_(3) setdest 94.940590 415.825326 19.926490" -$ns_ at 245.000000 "$node_(4) setdest 172.304961 394.881002 7.196912" -$ns_ at 245.000000 "$node_(5) setdest 68.133382 510.504064 10.105117" -$ns_ at 245.000000 "$node_(6) setdest 17.059711 420.972002 13.959154" -$ns_ at 245.000000 "$node_(7) setdest 32.971174 430.706107 11.533236" -$ns_ at 245.000000 "$node_(8) setdest 157.601063 450.999458 19.983881" -$ns_ at 245.000000 "$node_(9) setdest 53.145590 391.780127 12.075909" -$ns_ at 245.000000 "$node_(10) setdest 169.004729 365.196387 17.748406" - -$ns_ at 246.000000 "$node_(1) setdest 23.314948 494.915448 19.941839" -$ns_ at 246.000000 "$node_(2) setdest 80.388414 526.333405 6.554791" -$ns_ at 246.000000 "$node_(3) setdest 105.925896 399.190915 19.934407" -$ns_ at 246.000000 "$node_(4) setdest 172.261920 400.073454 5.192630" -$ns_ at 246.000000 "$node_(5) setdest 60.662128 501.492990 11.705516" -$ns_ at 246.000000 "$node_(6) setdest 25.067644 434.285222 15.536049" -$ns_ at 246.000000 "$node_(7) setdest 44.416211 424.250797 13.140012" -$ns_ at 246.000000 "$node_(8) setdest 157.547382 470.971881 19.972495" -$ns_ at 246.000000 "$node_(9) setdest 61.816142 402.356439 13.676142" -$ns_ at 246.000000 "$node_(10) setdest 159.697284 354.841814 13.922848" - -$ns_ at 247.000000 "$node_(1) setdest 11.471594 510.982443 19.960295" -$ns_ at 247.000000 "$node_(2) setdest 73.667647 521.515333 8.269373" -$ns_ at 247.000000 "$node_(3) setdest 115.687404 381.745967 19.990329" -$ns_ at 247.000000 "$node_(4) setdest 172.542353 406.883343 6.815660" -$ns_ at 247.000000 "$node_(5) setdest 53.043729 490.595790 13.296201" -$ns_ at 247.000000 "$node_(6) setdest 35.532652 447.799237 17.092249" -$ns_ at 247.000000 "$node_(7) setdest 57.583686 417.635230 14.735946" -$ns_ at 247.000000 "$node_(8) setdest 155.807521 490.895157 19.999102" -$ns_ at 247.000000 "$node_(9) setdest 70.586313 414.874960 15.284936" -$ns_ at 247.000000 "$node_(10) setdest 150.705382 353.022498 9.174106" - -$ns_ at 248.000000 "$node_(1) setdest 6.250205 530.216206 19.929890" -$ns_ at 248.000000 "$node_(2) setdest 64.550481 517.738746 9.868400" -$ns_ at 248.000000 "$node_(3) setdest 129.575043 368.902786 18.915967" -$ns_ at 248.000000 "$node_(4) setdest 172.766820 415.295599 8.415251" -$ns_ at 248.000000 "$node_(5) setdest 45.664917 477.649441 14.901504" -$ns_ at 248.000000 "$node_(6) setdest 49.236481 460.622756 18.767994" -$ns_ at 248.000000 "$node_(7) setdest 72.542200 411.059556 16.340032" -$ns_ at 248.000000 "$node_(8) setdest 154.151119 510.826019 19.999573" -$ns_ at 248.000000 "$node_(9) setdest 80.048453 428.859710 16.885062" -$ns_ at 248.000000 "$node_(10) setdest 150.693495 353.348529 0.326248" - -$ns_ at 249.000000 "$node_(1) setdest 15.633937 545.116140 17.608591" -$ns_ at 249.000000 "$node_(2) setdest 53.897778 513.466205 11.477573" -$ns_ at 249.000000 "$node_(3) setdest 147.143605 364.268821 18.169425" -$ns_ at 249.000000 "$node_(4) setdest 172.715108 425.310616 10.015150" -$ns_ at 249.000000 "$node_(5) setdest 40.276620 462.090927 16.465147" -$ns_ at 249.000000 "$node_(6) setdest 66.591813 470.358500 19.899554" -$ns_ at 249.000000 "$node_(7) setdest 89.011277 403.945945 17.939731" -$ns_ at 249.000000 "$node_(8) setdest 153.637467 522.766334 11.951358" -$ns_ at 249.000000 "$node_(9) setdest 90.366944 444.196722 18.484999" -$ns_ at 249.000000 "$node_(10) setdest 152.055411 354.274810 1.647062" - -$ns_ at 250.000000 "$node_(1) setdest 32.767440 547.185729 17.258045" -$ns_ at 250.000000 "$node_(2) setdest 42.327370 507.405581 13.061605" -$ns_ at 250.000000 "$node_(3) setdest 166.110136 361.566966 19.158010" -$ns_ at 250.000000 "$node_(4) setdest 171.517760 436.860424 11.611706" -$ns_ at 250.000000 "$node_(5) setdest 39.663162 444.108944 17.992445" -$ns_ at 250.000000 "$node_(6) setdest 82.640473 482.268268 19.985046" -$ns_ at 250.000000 "$node_(7) setdest 106.691634 395.709099 19.504889" -$ns_ at 250.000000 "$node_(8) setdest 156.539558 511.951326 11.197613" -$ns_ at 250.000000 "$node_(9) setdest 102.661633 459.753615 19.828673" -$ns_ at 250.000000 "$node_(10) setdest 155.016298 355.644768 3.262459" - diff --git a/gui/configs/sample5-mgen.imn b/gui/configs/sample5-mgen.imn deleted file mode 100644 index d80a58a6..00000000 --- a/gui/configs/sample5-mgen.imn +++ /dev/null @@ -1,127 +0,0 @@ -node n1 { - type router - model router - network-config { - hostname n1 - ! - interface eth0 - ip address 10.0.0.2/24 - ipv6 address a:0::2/64 - ! - router ospf - router-id 10.0.0.2 - network 10.0.0.0/24 area 0 - ! - router ospf6 - router-id 10.0.0.2 - interface eth0 area 0.0.0.0 - ! - } - canvas c1 - iconcoords {312.0 120.0} - labelcoords {312.0 148.0} - interface-peer {eth0 n2} - custom-config { - custom-config-id service:UserDefined:mgen.sh - custom-command mgen.sh - config { - #!/bin/sh - SCRIPTDIR=$SESSION_DIR - LOGDIR=/var/log - if [ `uname` = "Linux" ]; then - cd $SCRIPTDIR - else - cd /tmp/e0_`hostname` - fi - ( - cat << 'EOF' - # mgen receiver script - 15.0 LISTEN UDP 5001 - EOF - ) > recv.mgn - mgen input recv.mgn output $LOGDIR/mgen.log > /dev/null 2> /dev/null < /dev/null & - } - } - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('mgen.sh', ) - startidx=35 - cmdup=('sh mgen.sh', ) - } - } - services {zebra OSPFv2 OSPFv3 IPForward UserDefined} -} - -node n2 { - type router - model router - network-config { - hostname n2 - ! - interface eth0 - ip address 10.0.0.1/24 - ipv6 address a:0::1/64 - ! - } - canvas c1 - iconcoords {72.0 48.0} - labelcoords {72.0 76.0} - interface-peer {eth0 n1} - custom-config { - custom-config-id service:UserDefined - custom-command UserDefined - config { - files=('mgen.sh', ) - startidx=35 - cmdup=('sh mgen.sh', ) - } - } - custom-config { - custom-config-id service:UserDefined:mgen.sh - custom-command mgen.sh - config { - #!/bin/sh - HN=`hostname` - SCRIPTDIR=$SESSION_DIR - LOGDIR=/var/log - - cd $SCRIPTDIR - ( - cat << 'EOF' - # mgen sender script: send UDP traffic to UDP port 5001 after 15 seconds - 15.0 ON 1 UDP SRC 5000 DST 10.0.0.2/5001 PERIODIC [1 4096] - EOF - ) > send_$HN.mgn - mgen input send_$HN.mgn output $LOGDIR/mgen_$HN.log > /dev/null 2> /dev/null < /dev/null & - } - } - services {zebra OSPFv2 OSPFv3 IPForward UserDefined} -} - -link l1 { - nodes {n2 n1} - bandwidth 0 -} - -canvas c1 { - name {Canvas1} -} - -option global { - interface_names no - ip_addresses yes - ipv6_addresses yes - node_labels yes - link_labels yes - show_api no - background_images no - annotations yes - grid yes - traffic_start 0 -} - -option session { -} - diff --git a/gui/configs/sample6-emane-rfpipe.imn b/gui/configs/sample6-emane-rfpipe.imn deleted file mode 100644 index 9e0cc045..00000000 --- a/gui/configs/sample6-emane-rfpipe.imn +++ /dev/null @@ -1,271 +0,0 @@ -node n1 { - type router - model mdr - network-config { - hostname n1 - ! - interface eth0 - ip address 10.0.0.1/32 - ipv6 address a:0::1/128 - ! - } - iconcoords {263.148836492 76.94184084899999} - labelcoords {263.148836492 100.94184084899999} - canvas c1 - interface-peer {eth0 n11} -} - -node n2 { - type router - model mdr - network-config { - hostname n2 - ! - interface eth0 - ip address 10.0.0.2/32 - ipv6 address a:0::2/128 - ! - } - iconcoords {184.35166313500002 532.524009667} - labelcoords {184.35166313500002 556.524009667} - canvas c1 - interface-peer {eth0 n11} -} - -node n3 { - type router - model mdr - network-config { - hostname n3 - ! - interface eth0 - ip address 10.0.0.3/32 - ipv6 address a:0::3/128 - ! - } - iconcoords {121.17243156500001 313.104176223} - labelcoords {121.17243156500001 337.104176223} - canvas c1 - interface-peer {eth0 n11} -} - -node n4 { - type router - model mdr - network-config { - hostname n4 - ! - interface eth0 - ip address 10.0.0.4/32 - ipv6 address a:0::4/128 - ! - } - iconcoords {443.031505695 586.805480735} - labelcoords {443.031505695 610.805480735} - canvas c1 - interface-peer {eth0 n11} -} - -node n5 { - type router - model mdr - network-config { - hostname n5 - ! - interface eth0 - ip address 10.0.0.5/32 - ipv6 address a:0::5/128 - ! - } - iconcoords {548.817758443 209.207353139} - labelcoords {548.817758443 233.207353139} - canvas c1 - interface-peer {eth0 n11} -} - -node n6 { - type router - model mdr - network-config { - hostname n6 - ! - interface eth0 - ip address 10.0.0.6/32 - ipv6 address a:0::6/128 - ! - } - iconcoords {757.062318769 61.533941783} - labelcoords {757.062318769 85.533941783} - canvas c1 - interface-peer {eth0 n11} -} - -node n7 { - type router - model mdr - network-config { - hostname n7 - ! - interface eth0 - ip address 10.0.0.7/32 - ipv6 address a:0::7/128 - ! - } - iconcoords {778.142667152 489.227596061} - labelcoords {778.142667152 513.227596061} - canvas c1 - interface-peer {eth0 n11} -} - -node n8 { - type router - model mdr - network-config { - hostname n8 - ! - interface eth0 - ip address 10.0.0.8/32 - ipv6 address a:0::8/128 - ! - } - iconcoords {93.895107521 135.228007484} - labelcoords {93.895107521 159.228007484} - canvas c1 - interface-peer {eth0 n11} -} - -node n9 { - type router - model mdr - network-config { - hostname n9 - ! - interface eth0 - ip address 10.0.0.9/32 - ipv6 address a:0::9/128 - ! - } - iconcoords {528.693178831 84.9814304098} - labelcoords {528.693178831 108.9814304098} - canvas c1 - interface-peer {eth0 n11} -} - -node n10 { - type router - model mdr - network-config { - hostname n10 - ! - interface eth0 - ip address 10.0.0.10/32 - ipv6 address a:0::10/128 - ! - } - iconcoords {569.534639911 475.46828902} - labelcoords {569.534639911 499.46828902} - canvas c1 - interface-peer {eth0 n11} -} - -node n11 { - bandwidth 54000000 - type wlan - range 275 - network-config { - hostname wlan11 - ! - interface wireless - ip address 10.0.0.0/32 - ipv6 address a:0::0/128 - ! - mobmodel - coreapi - emane_rfpipe - ! - } - canvas c1 - iconcoords {65.0 558.0} - labelcoords {65.0 582.0} - interface-peer {e0 n1} - interface-peer {e1 n2} - interface-peer {e2 n3} - interface-peer {e3 n4} - interface-peer {e4 n5} - interface-peer {e5 n6} - interface-peer {e6 n7} - interface-peer {e7 n8} - interface-peer {e8 n9} - interface-peer {e9 n10} -} - -link l1 { - nodes {n11 n1} - bandwidth 54000000 -} - -link l2 { - nodes {n11 n2} - bandwidth 54000000 -} - -link l3 { - nodes {n11 n3} - bandwidth 54000000 -} - -link l4 { - nodes {n11 n4} - bandwidth 54000000 -} - -link l5 { - nodes {n11 n5} - bandwidth 54000000 -} - -link l6 { - nodes {n11 n6} - bandwidth 54000000 -} - -link l7 { - nodes {n11 n7} - bandwidth 54000000 -} - -link l8 { - nodes {n11 n8} - bandwidth 54000000 -} - -link l9 { - nodes {n11 n9} - bandwidth 54000000 -} - -link l10 { - nodes {n11 n10} - bandwidth 54000000 -} - -canvas c1 { - name {Canvas1} -} - -option global { - interface_names no - ip_addresses yes - ipv6_addresses yes - node_labels yes - link_labels yes - ipsec_configs yes - remote_exec no - exec_errors yes - show_api no - background_images no - annotations yes - grid yes - traffic_start 0 -} - diff --git a/gui/configs/sample7-emane-ieee80211abg.imn b/gui/configs/sample7-emane-ieee80211abg.imn deleted file mode 100644 index b1323f6f..00000000 --- a/gui/configs/sample7-emane-ieee80211abg.imn +++ /dev/null @@ -1,274 +0,0 @@ -node n1 { - type router - model mdr - network-config { - hostname n1 - ! - interface eth0 - ip address 10.0.0.1/32 - ipv6 address a:0::1/128 - ! - } - iconcoords {115.14883649199999 139.941840849} - labelcoords {115.14883649199999 167.941840849} - canvas c1 - interface-peer {eth0 n11} -} - -node n2 { - type router - model mdr - network-config { - hostname n2 - ! - interface eth0 - ip address 10.0.0.2/32 - ipv6 address a:0::2/128 - ! - } - iconcoords {190.35166313500002 519.524009667} - labelcoords {190.35166313500002 547.524009667} - canvas c1 - interface-peer {eth0 n11} -} - -node n3 { - type router - model mdr - network-config { - hostname n3 - ! - interface eth0 - ip address 10.0.0.3/32 - ipv6 address a:0::3/128 - ! - } - iconcoords {142.172431565 307.104176223} - labelcoords {142.172431565 335.104176223} - canvas c1 - interface-peer {eth0 n11} -} - -node n4 { - type router - model mdr - network-config { - hostname n4 - ! - interface eth0 - ip address 10.0.0.4/32 - ipv6 address a:0::4/128 - ! - } - iconcoords {395.031505695 589.805480735} - labelcoords {395.031505695 617.805480735} - canvas c1 - interface-peer {eth0 n11} -} - -node n5 { - type router - model mdr - network-config { - hostname n5 - ! - interface eth0 - ip address 10.0.0.5/32 - ipv6 address a:0::5/128 - ! - } - iconcoords {250.817758443 27.20735313899999} - labelcoords {250.817758443 55.20735313899999} - canvas c1 - interface-peer {eth0 n11} -} - -node n6 { - type router - model mdr - network-config { - hostname n6 - ! - interface eth0 - ip address 10.0.0.6/32 - ipv6 address a:0::6/128 - ! - } - iconcoords {757.062318769 61.533941783} - labelcoords {757.062318769 89.533941783} - canvas c1 - interface-peer {eth0 n11} -} - -node n7 { - type router - model mdr - network-config { - hostname n7 - ! - interface eth0 - ip address 10.0.0.7/32 - ipv6 address a:0::7/128 - ! - } - iconcoords {909.142667152 593.227596061} - labelcoords {909.142667152 621.227596061} - canvas c1 - interface-peer {eth0 n11} -} - -node n8 { - type router - model mdr - network-config { - hostname n8 - ! - interface eth0 - ip address 10.0.0.8/32 - ipv6 address a:0::8/128 - ! - } - iconcoords {351.895107521 337.228007484} - labelcoords {351.895107521 365.228007484} - canvas c1 - interface-peer {eth0 n11} -} - -node n9 { - type router - model mdr - network-config { - hostname n9 - ! - interface eth0 - ip address 10.0.0.9/32 - ipv6 address a:0::9/128 - ! - } - iconcoords {528.693178831 84.9814304098} - labelcoords {528.693178831 112.98143041} - canvas c1 - interface-peer {eth0 n11} -} - -node n10 { - type router - model mdr - network-config { - hostname n10 - ! - interface eth0 - ip address 10.0.0.10/32 - ipv6 address a:0::10/128 - ! - } - iconcoords {568.534639911 526.4682890199999} - labelcoords {568.534639911 554.4682890199999} - canvas c1 - interface-peer {eth0 n11} -} - -node n11 { - bandwidth 54000000 - type wlan - range 275 - network-config { - hostname wlan11 - ! - interface wireless - ip address 10.0.0.0/32 - ipv6 address a:0::0/128 - ! - mobmodel - coreapi - emane_ieee80211abg - ! - } - canvas c1 - iconcoords {65.0 558.0} - labelcoords {65.0 590.0} - interface-peer {e0 n1} - interface-peer {e1 n2} - interface-peer {e2 n3} - interface-peer {e3 n4} - interface-peer {e4 n5} - interface-peer {e5 n6} - interface-peer {e6 n7} - interface-peer {e7 n8} - interface-peer {e8 n9} - interface-peer {e9 n10} -} - -link l1 { - nodes {n11 n1} - bandwidth 54000000 -} - -link l2 { - nodes {n11 n2} - bandwidth 54000000 -} - -link l3 { - nodes {n11 n3} - bandwidth 54000000 -} - -link l4 { - nodes {n11 n4} - bandwidth 54000000 -} - -link l5 { - nodes {n11 n5} - bandwidth 54000000 -} - -link l6 { - nodes {n11 n6} - bandwidth 54000000 -} - -link l7 { - nodes {n11 n7} - bandwidth 54000000 -} - -link l8 { - nodes {n11 n8} - bandwidth 54000000 -} - -link l9 { - nodes {n11 n9} - bandwidth 54000000 -} - -link l10 { - nodes {n11 n10} - bandwidth 54000000 -} - -canvas c1 { - name {Canvas1} - refpt {0 0 47.5791667 -122.132322 2.0} - scale 350.0 - size {1000 750} -} - -option global { - interface_names no - ip_addresses yes - ipv6_addresses yes - node_labels yes - link_labels yes - ipsec_configs yes - remote_exec no - exec_errors yes - show_api no - background_images no - annotations yes - grid yes - traffic_start 0 -} - diff --git a/gui/configs/sample8-ipsec-service.imn b/gui/configs/sample8-ipsec-service.imn deleted file mode 100644 index fb82881f..00000000 --- a/gui/configs/sample8-ipsec-service.imn +++ /dev/null @@ -1,920 +0,0 @@ -comments { -Sample scenario showing IPsec service configuration. - -There are three red routers having the IPsec service enabled. The IPsec service -must be customized with the tunnel hosts (peers) and their keys, and the subnet -addresses that should be tunneled. - -For simplicity, the same keys and certificates are used in each of the three -IPsec gateways. These are written to node n1's configuration directory. Keys -can be generated using the openssl utility. - -Note that this scenario may require at patched kernel in order to work; see the -kernels subdirectory of the CORE source for kernel patches. - -The racoon keying daemon and setkey from the ipsec-tools package should also be -installed. -} - -node n1 { - type router - model router - network-config { - hostname n1 - ! - interface eth3 - ip address 192.168.6.1/24 - ipv6 address 2001:6::1/64 - ! - interface eth2 - ip address 192.168.5.1/24 - ipv6 address 2001:5::1/64 - ! - interface eth1 - ip address 192.168.1.1/24 - ipv6 address 2001:1::1/64 - ! - interface eth0 - ip address 192.168.0.1/24 - ipv6 address 2001:0::1/64 - ! - } - canvas c1 - iconcoords {210.0 172.0} - labelcoords {210.0 200.0} - interface-peer {eth0 n2} - interface-peer {eth1 n3} - interface-peer {eth2 n7} - interface-peer {eth3 n8} - custom-config { - custom-config-id service:IPsec:copycerts.sh - custom-command copycerts.sh - config { - #!/bin/sh - - FILES="test1.pem test1.key ca-cert.pem" - - mkdir -p /tmp/certs - - for f in $FILES; do - cp $f /tmp/certs - done - } - } - custom-config { - custom-config-id service:IPsec:ca-cert.pem - custom-command ca-cert.pem - config { - Certificate: - Data: - Version: 3 (0x2) - Serial Number: 16615976057451940887 (0xe697ce3064d18c17) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, ST=WA, O=CORE CA/emailAddress=root@localhost - Validity - Not Before: Sep 9 17:18:04 2013 GMT - Not After : Sep 7 17:18:04 2023 GMT - Subject: C=US, ST=WA, O=CORE CA/emailAddress=root@localhost - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (1024 bit) - Modulus: - 00:d3:0d:ab:91:72:50:ca:10:43:8d:18:d8:92:05: - 9d:d9:aa:16:2b:d1:25:f8:be:52:48:e4:e7:7a:83: - 9b:b4:3b:26:12:fa:46:23:df:09:cb:34:ba:6f:f6: - 5e:38:9c:d4:90:ea:44:ad:65:f6:bd:85:6f:ac:9f: - 4c:83:d4:10:ab:0a:0e:cd:ba:99:1a:ae:f7:b7:e2: - c3:00:0b:c1:02:69:16:c7:55:e3:cf:4c:c3:72:77: - 10:be:da:66:ce:91:b2:cc:92:e1:a8:f0:74:fe:b9: - 03:38:fc:49:97:73:bb:40:55:1b:7d:3e:41:63:02: - b5:ad:f4:33:95:76:fd:7b:61 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - 9A:EF:A7:36:28:06:4A:0A:2F:F9:2E:99:BE:6F:06:E1:83:9C:A2:0E - X509v3 Authority Key Identifier: - keyid:9A:EF:A7:36:28:06:4A:0A:2F:F9:2E:99:BE:6F:06:E1:83:9C:A2:0E - - X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: sha1WithRSAEncryption - 2d:88:84:20:19:9b:97:90:2d:18:86:7d:db:6c:d0:5e:ae:c2: - 55:61:af:ca:86:5b:3b:e8:15:c5:31:de:ea:d3:7e:9e:39:61: - 2e:b4:a0:93:43:bf:a2:95:f8:b6:13:b3:2f:cb:f8:fb:72:8c: - 40:95:50:db:03:cc:f7:b8:a5:d8:fb:77:88:c4:f5:f9:65:85: - 29:c8:0c:e9:ce:c9:fa:1d:4e:b2:3f:92:dc:b5:2e:73:50:c3: - c8:3e:90:9e:9a:34:ef:fd:ed:de:74:0b:19:73:6a:95:de:90: - 3b:ee:db:b0:be:14:fd:bf:3e:c6:7b:cd:7d:3c:ba:45:3c:f1: - 46:d7 - -----BEGIN CERTIFICATE----- - MIICZDCCAc2gAwIBAgIJAOaXzjBk0YwXMA0GCSqGSIb3DQEBBQUAMEsxCzAJBgNV - BAYTAlVTMQswCQYDVQQIDAJXQTEQMA4GA1UECgwHQ09SRSBDQTEdMBsGCSqGSIb3 - DQEJARYOcm9vdEBsb2NhbGhvc3QwHhcNMTMwOTA5MTcxODA0WhcNMjMwOTA3MTcx - ODA0WjBLMQswCQYDVQQGEwJVUzELMAkGA1UECAwCV0ExEDAOBgNVBAoMB0NPUkUg - Q0ExHTAbBgkqhkiG9w0BCQEWDnJvb3RAbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEB - AQUAA4GNADCBiQKBgQDTDauRclDKEEONGNiSBZ3ZqhYr0SX4vlJI5Od6g5u0OyYS - +kYj3wnLNLpv9l44nNSQ6kStZfa9hW+sn0yD1BCrCg7Nupkarve34sMAC8ECaRbH - VePPTMNydxC+2mbOkbLMkuGo8HT+uQM4/EmXc7tAVRt9PkFjArWt9DOVdv17YQID - AQABo1AwTjAdBgNVHQ4EFgQUmu+nNigGSgov+S6Zvm8G4YOcog4wHwYDVR0jBBgw - FoAUmu+nNigGSgov+S6Zvm8G4YOcog4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B - AQUFAAOBgQAtiIQgGZuXkC0Yhn3bbNBersJVYa/Khls76BXFMd7q036eOWEutKCT - Q7+ilfi2E7Mvy/j7coxAlVDbA8z3uKXY+3eIxPX5ZYUpyAzpzsn6HU6yP5LctS5z - UMPIPpCemjTv/e3edAsZc2qV3pA77tuwvhT9vz7Ge819PLpFPPFG1w== - -----END CERTIFICATE----- - - } - } - custom-config { - custom-config-id service:IPsec:test1.pem - custom-command test1.pem - config { - Certificate: - Data: - Version: 3 (0x2) - Serial Number: 16098433458223693585 (0xdf691fefe5afbf11) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C=US, ST=WA, O=CORE CA/emailAddress=root@localhost - Validity - Not Before: Sep 9 17:44:47 2013 GMT - Not After : Sep 7 17:44:47 2023 GMT - Subject: C=US, ST=WA, O=core-dev, CN=test1 - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (1024 bit) - Modulus: - 00:b3:26:ed:b6:eb:26:ea:c0:5a:d1:09:6f:d4:5f: - 8d:11:cc:3c:ff:d7:5e:37:e6:55:71:5c:eb:c9:e8: - f8:8e:a3:85:99:2c:3e:a2:8e:b2:1c:2f:fe:99:c6: - 0d:d3:ce:c0:ed:c1:e2:4d:bc:10:35:f6:61:02:b9: - 8f:cc:c5:80:d1:7f:c8:2e:2d:9a:32:9f:8a:bb:32: - ea:14:82:e0:6f:cb:3d:9d:d5:1c:f1:43:52:9f:49: - 79:f1:94:03:48:2c:91:51:c7:8f:32:90:a7:c2:c0: - 25:64:34:f1:c7:f2:ac:d5:96:87:a2:0a:fb:e5:b3: - 0b:90:bf:6f:08:75:5d:54:cb - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - Netscape Comment: - OpenSSL Generated Certificate - X509v3 Subject Key Identifier: - B3:EC:1A:56:77:F9:DC:0E:60:0F:B7:69:C9:DC:43:2D:09:39:A6:1C - X509v3 Authority Key Identifier: - keyid:9A:EF:A7:36:28:06:4A:0A:2F:F9:2E:99:BE:6F:06:E1:83:9C:A2:0E - - Signature Algorithm: sha1WithRSAEncryption - c5:3f:65:1f:b6:a4:33:fd:c8:04:a1:da:07:f6:e0:3b:55:b9: - 76:b7:aa:78:55:4a:59:ad:36:7f:cb:00:1c:32:cb:fe:40:72: - eb:49:27:b4:9d:5d:05:6f:30:37:1d:49:35:5e:0b:6b:5d:c5: - 07:3d:c8:63:1f:b6:46:6d:f9:c9:52:ce:1d:1f:d9:e8:02:46: - 95:18:26:39:ec:17:fe:ae:07:cf:55:25:45:1f:8a:e4:bb:f2: - 73:d2:e1:01:c3:8e:5f:eb:e4:7e:80:44:40:e6:a1:cd:85:9b: - e8:fb:16:d0:7b:4f:ad:3b:4c:eb:bd:67:02:2c:08:2b:62:f1: - c5:0a - -----BEGIN CERTIFICATE----- - MIICgTCCAeqgAwIBAgIJAN9pH+/lr78RMA0GCSqGSIb3DQEBBQUAMEsxCzAJBgNV - BAYTAlVTMQswCQYDVQQIDAJXQTEQMA4GA1UECgwHQ09SRSBDQTEdMBsGCSqGSIb3 - DQEJARYOcm9vdEBsb2NhbGhvc3QwHhcNMTMwOTA5MTc0NDQ3WhcNMjMwOTA3MTc0 - NDQ3WjA9MQswCQYDVQQGEwJVUzELMAkGA1UECAwCV0ExETAPBgNVBAoMCGNvcmUt - ZGV2MQ4wDAYDVQQDDAV0ZXN0MTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA - sybttusm6sBa0Qlv1F+NEcw8/9deN+ZVcVzryej4jqOFmSw+oo6yHC/+mcYN087A - 7cHiTbwQNfZhArmPzMWA0X/ILi2aMp+KuzLqFILgb8s9ndUc8UNSn0l58ZQDSCyR - UcePMpCnwsAlZDTxx/Ks1ZaHogr75bMLkL9vCHVdVMsCAwEAAaN7MHkwCQYDVR0T - BAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNh - dGUwHQYDVR0OBBYEFLPsGlZ3+dwOYA+3acncQy0JOaYcMB8GA1UdIwQYMBaAFJrv - pzYoBkoKL/kumb5vBuGDnKIOMA0GCSqGSIb3DQEBBQUAA4GBAMU/ZR+2pDP9yASh - 2gf24DtVuXa3qnhVSlmtNn/LABwyy/5AcutJJ7SdXQVvMDcdSTVeC2tdxQc9yGMf - tkZt+clSzh0f2egCRpUYJjnsF/6uB89VJUUfiuS78nPS4QHDjl/r5H6AREDmoc2F - m+j7FtB7T607TOu9ZwIsCCti8cUK - -----END CERTIFICATE----- - - } - } - custom-config { - custom-config-id service:IPsec:test1.key - custom-command test1.key - config { - -----BEGIN PRIVATE KEY----- - MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALMm7bbrJurAWtEJ - b9RfjRHMPP/XXjfmVXFc68no+I6jhZksPqKOshwv/pnGDdPOwO3B4k28EDX2YQK5 - j8zFgNF/yC4tmjKfirsy6hSC4G/LPZ3VHPFDUp9JefGUA0gskVHHjzKQp8LAJWQ0 - 8cfyrNWWh6IK++WzC5C/bwh1XVTLAgMBAAECgYB1zJIgZe04DPVqYC8lURL8cfRm - MeIlFZJ3MSdlo4fUmtddCYfB8dxRxok96cnrzRZ0/7jjblamdPQDC6rvdaqmfLFx - nJ/RVhCj6HqDMrQnv/9tnl6UQmkaYSnYvTn2GgmpqvBf9RUQk4+kjwgRgdqKxaIz - oH8j0ZxMh2DOZuzJMQJBAOJwEnbG085q2k1Qg8PQz0cpVG9QCE3sJUNs0hMPC7dk - IzknFtidlpCf6NMboJ2Nt9dzmJmKLqWb3oauyQRQA6MCQQDKin0wElLV1268IbcF - RXhkVlxcg5fDEazeNL9p1z5vmwaq0IcLtSPrIaect2hacCkfJoREhcA+f9YIpcod - lby5AkEApyXla0ofpXqYxIOPkGc96qCmlDh2uNZ9N0VH2Qu9MVW47oJdSe8h6oYv - /k2hhUvMjjzlQ0mOX28slyzEc+uAkwJAWlAsiE3zX+UjPIJwIMqcZ2lW3+3Rsyrj - gWXV4HUZIxzmeS5ouWC5NnSYT7o8ru8KdxhurDtTwMqx/sMmf9CwCQJAIDbMwwIs - XStw0y/M9+hdPUkccVoHyXKPTensyX/miAUwHZN/oadGUUOZO7XBKb1uNFv1uowU - 29bGgXa+mvb6aA== - -----END PRIVATE KEY----- - - } - } - custom-config { - custom-config-id service:IPsec:ipsec.sh - custom-command ipsec.sh - config { - #!/bin/sh - # set up static tunnel mode security assocation for service (security.py) - # -------- CUSTOMIZATION REQUIRED -------- - # - # The IPsec service builds ESP tunnels between the specified peers using the - # racoon IKEv2 keying daemon. You need to provide keys and the addresses of - # peers, along with subnets to tunnel. - - # directory containing the certificate and key described below - keydir=/tmp/certs - - # the name used for the "$certname.pem" x509 certificate and - # "$certname.key" RSA private key, which can be generated using openssl - certname=test1 - - # list the public-facing IP addresses, starting with the localhost and followed - # by each tunnel peer, separated with a single space - tunnelhosts="192.168.0.1AND192.168.0.2 192.168.1.1AND192.168.1.2" - - # Define T where i is the index for each tunnel peer host from - # the tunnel_hosts list above (0 is localhost). - # T is a list of IPsec tunnels with peer i, with a local subnet address - # followed by the remote subnet address: - # T="AND AND" - # For example, 192.168.0.0/24 is a local network (behind this node) to be - # tunneled and 192.168.2.0/24 is a remote network (behind peer 1) - T1="192.168.5.0/24AND192.168.8.0/24" - T2="192.168.5.0/24AND192.168.4.0/24 192.168.6.0/24AND192.168.4.0/24" - - # -------- END CUSTOMIZATION -------- - - echo "building config $PWD/ipsec.conf..." - echo "building config $PWD/ipsec.conf..." > $PWD/ipsec.log - - checkip=0 - if [ "$(dpkg -l | grep " sipcalc ")" = "" ]; then - echo "WARNING: ip validation disabled because package sipcalc not installed - " >> $PWD/ipsec.log - checkip=1 - fi - - echo "#!/usr/sbin/setkey -f - # Flush the SAD and SPD - flush; - spdflush; - - # Security policies \ - " > $PWD/ipsec.conf - i=0 - for hostpair in $tunnelhosts; do - i=`expr $i + 1` - # parse tunnel host IP - thishost=${hostpair%%AND*} - peerhost=${hostpair##*AND} - if [ $checkip = "0" ] && - [ "$(sipcalc "$thishost" "$peerhost" | grep ERR)" != "" ]; then - echo "ERROR: invalid host address $thishost or $peerhost \ - " >> $PWD/ipsec.log - fi - # parse each tunnel addresses - tunnel_list_var_name=T$i - eval tunnels="$"$tunnel_list_var_name"" - for ttunnel in $tunnels; do - lclnet=${ttunnel%%AND*} - rmtnet=${ttunnel##*AND} - if [ $checkip = "0" ] && - [ "$(sipcalc "$lclnet" "$rmtnet"| grep ERR)" != "" ]; then - echo "ERROR: invalid tunnel address $lclnet and $rmtnet \ - " >> $PWD/ipsec.log - fi - # add tunnel policies - echo " - spdadd $lclnet $rmtnet any -P out ipsec - esp/tunnel/$thishost-$peerhost/require; - spdadd $rmtnet $lclnet any -P in ipsec - esp/tunnel/$peerhost-$thishost/require; \ - " >> $PWD/ipsec.conf - done - done - - echo "building config $PWD/racoon.conf..." - if [ ! -e $keydir\/$certname.key ] || [ ! -e $keydir\/$certname.pem ]; then - echo "ERROR: missing certification files under $keydir \ - $certname.key or $certname.pem " >> $PWD/ipsec.log - fi - echo " - path certificate \"$keydir\"; - listen { - adminsock disabled; - } - remote anonymous - { - exchange_mode main; - certificate_type x509 \"$certname.pem\" \"$certname.key\"; - ca_type x509 \"ca-cert.pem\"; - my_identifier asn1dn; - peers_identifier asn1dn; - - proposal { - encryption_algorithm 3des ; - hash_algorithm sha1; - authentication_method rsasig ; - dh_group modp768; - } - } - sainfo anonymous - { - pfs_group modp768; - lifetime time 1 hour ; - encryption_algorithm 3des, blowfish 448, rijndael ; - authentication_algorithm hmac_sha1, hmac_md5 ; - compression_algorithm deflate ; - } - " > $PWD/racoon.conf - - # the setkey program is required from the ipsec-tools package - echo "running setkey -f $PWD/ipsec.conf..." - setkey -f $PWD/ipsec.conf - - echo "running racoon -d -f $PWD/racoon.conf..." - racoon -d -f $PWD/racoon.conf -l racoon.log - - } - } - custom-config { - custom-config-id service:IPsec - custom-command IPsec - config { - files=('ipsec.sh', 'test1.key', 'test1.pem', 'ca-cert.pem', 'copycerts.sh', ) - } - } - services {zebra OSPFv2 OSPFv3 IPForward IPsec} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif -} - -node n2 { - type router - model router - network-config { - hostname n2 - ! - interface eth3 - ip address 192.168.8.1/24 - ipv6 address 2001:8::1/64 - ! - interface eth2 - ip address 192.168.7.1/24 - ipv6 address 2001:7::1/64 - ! - interface eth1 - ip address 192.168.2.1/24 - ipv6 address 2001:2::1/64 - ! - interface eth0 - ip address 192.168.0.2/24 - ipv6 address 2001:0::2/64 - ! - } - canvas c1 - iconcoords {455.0 173.0} - labelcoords {455.0 201.0} - interface-peer {eth0 n1} - interface-peer {eth1 n4} - interface-peer {eth2 n9} - interface-peer {eth3 n10} - custom-config { - custom-config-id service:IPsec:ipsec.sh - custom-command ipsec.sh - config { - #!/bin/sh - # set up static tunnel mode security assocation for service (security.py) - # -------- CUSTOMIZATION REQUIRED -------- - # - # The IPsec service builds ESP tunnels between the specified peers using the - # racoon IKEv2 keying daemon. You need to provide keys and the addresses of - # peers, along with subnets to tunnel. - - # directory containing the certificate and key described below - keydir=/tmp/certs - - # the name used for the "$certname.pem" x509 certificate and - # "$certname.key" RSA private key, which can be generated using openssl - certname=test1 - - # list the public-facing IP addresses, starting with the localhost and followed - # by each tunnel peer, separated with a single space - tunnelhosts="192.168.0.2AND192.168.0.1" - - # Define T where i is the index for each tunnel peer host from - # the tunnel_hosts list above (0 is localhost). - # T is a list of IPsec tunnels with peer i, with a local subnet address - # followed by the remote subnet address: - # T="AND AND" - # For example, 192.168.0.0/24 is a local network (behind this node) to be - # tunneled and 192.168.2.0/24 is a remote network (behind peer 1) - T1="192.168.8.0/24AND192.168.5.0/24" - - # -------- END CUSTOMIZATION -------- - - echo "building config $PWD/ipsec.conf..." - echo "building config $PWD/ipsec.conf..." > $PWD/ipsec.log - - checkip=0 - if [ "$(dpkg -l | grep " sipcalc ")" = "" ]; then - echo "WARNING: ip validation disabled because package sipcalc not installed - " >> $PWD/ipsec.log - checkip=1 - fi - - echo "#!/usr/sbin/setkey -f - # Flush the SAD and SPD - flush; - spdflush; - - # Security policies \ - " > $PWD/ipsec.conf - i=0 - for hostpair in $tunnelhosts; do - i=`expr $i + 1` - # parse tunnel host IP - thishost=${hostpair%%AND*} - peerhost=${hostpair##*AND} - if [ $checkip = "0" ] && - [ "$(sipcalc "$thishost" "$peerhost" | grep ERR)" != "" ]; then - echo "ERROR: invalid host address $thishost or $peerhost \ - " >> $PWD/ipsec.log - fi - # parse each tunnel addresses - tunnel_list_var_name=T$i - eval tunnels="$"$tunnel_list_var_name"" - for ttunnel in $tunnels; do - lclnet=${ttunnel%%AND*} - rmtnet=${ttunnel##*AND} - if [ $checkip = "0" ] && - [ "$(sipcalc "$lclnet" "$rmtnet"| grep ERR)" != "" ]; then - echo "ERROR: invalid tunnel address $lclnet and $rmtnet \ - " >> $PWD/ipsec.log - fi - # add tunnel policies - echo " - spdadd $lclnet $rmtnet any -P out ipsec - esp/tunnel/$thishost-$peerhost/require; - spdadd $rmtnet $lclnet any -P in ipsec - esp/tunnel/$peerhost-$thishost/require; \ - " >> $PWD/ipsec.conf - done - done - - echo "building config $PWD/racoon.conf..." - if [ ! -e $keydir\/$certname.key ] || [ ! -e $keydir\/$certname.pem ]; then - echo "ERROR: missing certification files under $keydir \ - $certname.key or $certname.pem " >> $PWD/ipsec.log - fi - echo " - path certificate \"$keydir\"; - listen { - adminsock disabled; - } - remote anonymous - { - exchange_mode main; - certificate_type x509 \"$certname.pem\" \"$certname.key\"; - ca_type x509 \"ca-cert.pem\"; - my_identifier asn1dn; - peers_identifier asn1dn; - - proposal { - encryption_algorithm 3des ; - hash_algorithm sha1; - authentication_method rsasig ; - dh_group modp768; - } - } - sainfo anonymous - { - pfs_group modp768; - lifetime time 1 hour ; - encryption_algorithm 3des, blowfish 448, rijndael ; - authentication_algorithm hmac_sha1, hmac_md5 ; - compression_algorithm deflate ; - } - " > $PWD/racoon.conf - - # the setkey program is required from the ipsec-tools package - echo "running setkey -f $PWD/ipsec.conf..." - setkey -f $PWD/ipsec.conf - - echo "running racoon -d -f $PWD/racoon.conf..." - racoon -d -f $PWD/racoon.conf -l racoon.log - - } - } - services {zebra OSPFv2 OSPFv3 IPForward IPsec} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif -} - -node n3 { - type router - model router - network-config { - hostname n3 - ! - interface eth2 - ip address 192.168.4.1/24 - ipv6 address 2001:4::1/64 - ! - interface eth1 - ip address 192.168.3.1/24 - ipv6 address 2001:3::1/64 - ! - interface eth0 - ip address 192.168.1.2/24 - ipv6 address 2001:1::2/64 - ! - } - canvas c1 - iconcoords {211.0 375.0} - labelcoords {211.0 403.0} - interface-peer {eth0 n1} - interface-peer {eth1 n5} - interface-peer {eth2 n6} - custom-config { - custom-config-id service:IPsec:ipsec.sh - custom-command ipsec.sh - config { - #!/bin/sh - # set up static tunnel mode security assocation for service (security.py) - # -------- CUSTOMIZATION REQUIRED -------- - # - # The IPsec service builds ESP tunnels between the specified peers using the - # racoon IKEv2 keying daemon. You need to provide keys and the addresses of - # peers, along with subnets to tunnel. - - # directory containing the certificate and key described below - keydir=/tmp/certs - - # the name used for the "$certname.pem" x509 certificate and - # "$certname.key" RSA private key, which can be generated using openssl - certname=test1 - - # list the public-facing IP addresses, starting with the localhost and followed - # by each tunnel peer, separated with a single space - tunnelhosts="192.168.1.2AND192.168.1.1" - - # Define T where i is the index for each tunnel peer host from - # the tunnel_hosts list above (0 is localhost). - # T is a list of IPsec tunnels with peer i, with a local subnet address - # followed by the remote subnet address: - # T="AND AND" - # For example, 192.168.0.0/24 is a local network (behind this node) to be - # tunneled and 192.168.2.0/24 is a remote network (behind peer 1) - T1="192.168.4.0/24AND192.168.5.0/24 192.168.4.0/24AND192.168.6.0/24" - - # -------- END CUSTOMIZATION -------- - - echo "building config $PWD/ipsec.conf..." - echo "building config $PWD/ipsec.conf..." > $PWD/ipsec.log - - checkip=0 - if [ "$(dpkg -l | grep " sipcalc ")" = "" ]; then - echo "WARNING: ip validation disabled because package sipcalc not installed - " >> $PWD/ipsec.log - checkip=1 - fi - - echo "#!/usr/sbin/setkey -f - # Flush the SAD and SPD - flush; - spdflush; - - # Security policies \ - " > $PWD/ipsec.conf - i=0 - for hostpair in $tunnelhosts; do - i=`expr $i + 1` - # parse tunnel host IP - thishost=${hostpair%%AND*} - peerhost=${hostpair##*AND} - if [ $checkip = "0" ] && - [ "$(sipcalc "$thishost" "$peerhost" | grep ERR)" != "" ]; then - echo "ERROR: invalid host address $thishost or $peerhost \ - " >> $PWD/ipsec.log - fi - # parse each tunnel addresses - tunnel_list_var_name=T$i - eval tunnels="$"$tunnel_list_var_name"" - for ttunnel in $tunnels; do - lclnet=${ttunnel%%AND*} - rmtnet=${ttunnel##*AND} - if [ $checkip = "0" ] && - [ "$(sipcalc "$lclnet" "$rmtnet"| grep ERR)" != "" ]; then - echo "ERROR: invalid tunnel address $lclnet and $rmtnet \ - " >> $PWD/ipsec.log - fi - # add tunnel policies - echo " - spdadd $lclnet $rmtnet any -P out ipsec - esp/tunnel/$thishost-$peerhost/require; - spdadd $rmtnet $lclnet any -P in ipsec - esp/tunnel/$peerhost-$thishost/require; \ - " >> $PWD/ipsec.conf - done - done - - echo "building config $PWD/racoon.conf..." - if [ ! -e $keydir\/$certname.key ] || [ ! -e $keydir\/$certname.pem ]; then - echo "ERROR: missing certification files under $keydir \ - $certname.key or $certname.pem " >> $PWD/ipsec.log - fi - echo " - path certificate \"$keydir\"; - listen { - adminsock disabled; - } - remote anonymous - { - exchange_mode main; - certificate_type x509 \"$certname.pem\" \"$certname.key\"; - ca_type x509 \"ca-cert.pem\"; - my_identifier asn1dn; - peers_identifier asn1dn; - - proposal { - encryption_algorithm 3des ; - hash_algorithm sha1; - authentication_method rsasig ; - dh_group modp768; - } - } - sainfo anonymous - { - pfs_group modp768; - lifetime time 1 hour ; - encryption_algorithm 3des, blowfish 448, rijndael ; - authentication_algorithm hmac_sha1, hmac_md5 ; - compression_algorithm deflate ; - } - " > $PWD/racoon.conf - - # the setkey program is required from the ipsec-tools package - echo "running setkey -f $PWD/ipsec.conf..." - setkey -f $PWD/ipsec.conf - - echo "running racoon -d -f $PWD/racoon.conf..." - racoon -d -f $PWD/racoon.conf -l racoon.log - - } - } - services {zebra OSPFv2 OSPFv3 IPForward IPsec} - custom-image $CORE_DATA_DIR/icons/normal/router_red.gif -} - -node n4 { - type router - model router - network-config { - hostname n4 - ! - interface eth1 - ip address 192.168.9.1/24 - ipv6 address 2001:9::1/64 - ! - interface eth0 - ip address 192.168.2.2/24 - ipv6 address 2001:2::2/64 - ! - } - canvas c1 - iconcoords {456.0 376.0} - labelcoords {456.0 404.0} - interface-peer {eth0 n2} - interface-peer {eth1 n11} -} - -node n5 { - type router - model host - network-config { - hostname n5 - ! - interface eth0 - ip address 192.168.3.10/24 - ipv6 address 2001:3::10/64 - ! - } - canvas c1 - iconcoords {50.0 472.0} - labelcoords {50.0 504.0} - interface-peer {eth0 n3} -} - -node n6 { - type router - model host - network-config { - hostname n6 - ! - interface eth0 - ip address 192.168.4.10/24 - ipv6 address 2001:4::10/64 - ! - } - canvas c1 - iconcoords {44.0 292.0} - labelcoords {44.0 324.0} - interface-peer {eth0 n3} -} - -node n7 { - type router - model host - network-config { - hostname n7 - ! - interface eth0 - ip address 192.168.5.10/24 - ipv6 address 2001:5::10/64 - ! - } - canvas c1 - iconcoords {41.0 62.0} - labelcoords {41.0 94.0} - interface-peer {eth0 n1} -} - -node n8 { - type router - model host - network-config { - hostname n8 - ! - interface eth0 - ip address 192.168.6.10/24 - ipv6 address 2001:6::10/64 - ! - } - canvas c1 - iconcoords {39.0 121.0} - labelcoords {39.0 153.0} - interface-peer {eth0 n1} -} - -node n9 { - type router - model host - network-config { - hostname n9 - ! - interface eth0 - ip address 192.168.7.10/24 - ipv6 address 2001:7::10/64 - ! - } - canvas c1 - iconcoords {653.0 69.0} - labelcoords {653.0 101.0} - interface-peer {eth0 n2} -} - -node n10 { - type router - model host - network-config { - hostname n10 - ! - interface eth0 - ip address 192.168.8.10/24 - ipv6 address 2001:8::10/64 - ! - } - canvas c1 - iconcoords {454.0 48.0} - labelcoords {484.0 59.0} - interface-peer {eth0 n2} -} - -node n11 { - type router - model host - network-config { - hostname n11 - ! - interface eth0 - ip address 192.168.9.10/24 - ipv6 address 2001:9::10/64 - ! - } - canvas c1 - iconcoords {654.0 460.0} - labelcoords {654.0 492.0} - interface-peer {eth0 n4} -} - -link l1 { - nodes {n1 n2} - bandwidth 0 -} - -link l2 { - nodes {n1 n3} - bandwidth 0 -} - -link l3 { - nodes {n2 n4} - bandwidth 0 -} - -link l4 { - nodes {n3 n5} - bandwidth 0 -} - -link l5 { - nodes {n3 n6} - bandwidth 0 -} - -link l6 { - nodes {n1 n7} - bandwidth 0 -} - -link l7 { - nodes {n1 n8} - bandwidth 0 -} - -link l8 { - nodes {n2 n9} - bandwidth 0 -} - -link l9 { - nodes {n2 n10} - bandwidth 0 -} - -link l10 { - nodes {n4 n11} - bandwidth 0 -} - -annotation a1 { - iconcoords {8.0 6.0 514.0 99.0} - type rectangle - label {Tunnel 1} - labelcolor black - fontfamily {Arial} - fontsize {12} - color #ffd0d0 - width 0 - border #00ff00 - rad 22 - canvas c1 -} - -annotation a2 { - iconcoords {8.0 6.0 137.0 334.0} - type rectangle - label {Tunnel 2} - labelcolor black - fontfamily {Arial} - fontsize {12} - color #ffe1e1 - width 0 - border black - rad 23 - canvas c1 -} - -annotation a5 { - iconcoords {263.0 127.0} - type text - label {} - labelcolor black - fontfamily {Arial} - fontsize {12} - effects {underline} - canvas c1 -} - -canvas c1 { - name {Canvas1} -} - -option global { - interface_names yes - ip_addresses yes - ipv6_addresses no - node_labels yes - link_labels yes - ipsec_configs yes - exec_errors yes - show_api no - background_images no - annotations yes - grid yes - traffic_start 0 -} - diff --git a/gui/configs/sample9-vpn.imn b/gui/configs/sample9-vpn.imn deleted file mode 100644 index 095c2db4..00000000 --- a/gui/configs/sample9-vpn.imn +++ /dev/null @@ -1,1015 +0,0 @@ -comments { -Sample scenario showing VPNClient and VPNServer service configuration. - -This topology features an OpenVPN client and server for virtual private -networking. The client can access the private 10.0.6.0/24 network via the VPN -server. First wait until routing converges in the center routers (try using the -Adjacency Widget and wait for blue lines, meaning full adjacencies), then open -a shell on the vpnclient and try pinging the private address of the vpnserver: - - vpnclient> ping 10.0.6.1 - -You can also access the other 10.0.6.* hosts behind the server. Try running -tcpudmp on one of the center routers, e.g. the n2 eth1/10.0.5.2 interface, and -you'll see UDP packets with TLS encrypted data instead of ICMP packets. - -Keys are included as extra files in the VPNClient and VPNServer service -configuration. -} - -node n1 { - type router - model router - network-config { - hostname n1 - ! - interface eth2 - ip address 10.0.4.2/24 - ipv6 address 2001:4::2/64 - ! - interface eth1 - ip address 10.0.2.1/24 - ipv6 address 2001:2::1/64 - ! - interface eth0 - ip address 10.0.0.1/24 - ipv6 address 2001:0::1/64 - ! - } - canvas c1 - iconcoords {297.0 236.0} - labelcoords {297.0 264.0} - interface-peer {eth0 n6} - interface-peer {eth1 n2} - interface-peer {eth2 n3} -} - -node n2 { - type router - model router - network-config { - hostname n2 - ! - interface eth1 - ip address 10.0.5.2/24 - ipv6 address 2001:5::2/64 - ! - interface eth0 - ip address 10.0.2.2/24 - ipv6 address 2001:2::2/64 - ! - } - canvas c1 - iconcoords {298.0 432.0} - labelcoords {298.0 460.0} - interface-peer {eth0 n1} - interface-peer {eth1 n4} -} - -node n3 { - type router - model router - network-config { - hostname n3 - ! - interface eth1 - ip address 10.0.4.1/24 - ipv6 address 2001:4::1/64 - ! - interface eth0 - ip address 10.0.3.1/24 - ipv6 address 2001:3::1/64 - ! - } - canvas c1 - iconcoords {573.0 233.0} - labelcoords {573.0 261.0} - interface-peer {eth0 n4} - interface-peer {eth1 n1} -} - -node n4 { - type router - model router - network-config { - hostname n4 - ! - interface eth2 - ip address 10.0.5.1/24 - ipv6 address 2001:5::1/64 - ! - interface eth1 - ip address 10.0.3.2/24 - ipv6 address 2001:3::2/64 - ! - interface eth0 - ip address 10.0.1.1/24 - ipv6 address 2001:1::1/64 - ! - } - canvas c1 - iconcoords {574.0 429.0} - labelcoords {574.0 457.0} - interface-peer {eth0 n5} - interface-peer {eth1 n3} - interface-peer {eth2 n2} -} - -node n5 { - type router - model host - network-config { - hostname vpnserver - ! - interface eth1 - ipv6 address 2001:6::10/64 - ip address 10.0.6.1/24 - ! - interface eth0 - ip address 10.0.1.10/24 - ipv6 address 2001:1::10/64 - ! - } - canvas c1 - iconcoords {726.0 511.0} - labelcoords {726.0 543.0} - interface-peer {eth0 n4} - interface-peer {eth1 n7} - custom-config { - custom-config-id service:VPNServer:vpnserver.pem - custom-command vpnserver.pem - config { - Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha256WithRSAEncryption - Issuer: C=US, ST=WA, O=core-dev/emailAddress=root@localhost - Validity - Not Before: May 19 02:09:57 2015 GMT - Not After : Apr 25 02:09:57 2115 GMT - Subject: C=US, ST=WA, O=core-dev, CN=vpnserver/emailAddress=root@localhost - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (2048 bit) - Modulus: - 00:d2:88:b2:9b:32:ac:38:ca:45:e0:6b:db:1c:92: - 5d:9a:42:23:df:64:a0:3b:c2:c4:f2:3a:75:bb:d6: - 54:12:61:6e:aa:ac:0f:a6:2e:d9:3b:63:dc:3d:48: - 02:f1:36:c8:97:d3:ef:24:6f:7f:dd:b7:9a:9d:6d: - c1:c9:e2:11:49:1c:e0:67:d6:b0:b7:62:84:9a:f8: - c3:af:4f:f7:77:29:74:01:81:47:49:84:d6:1c:0c: - 36:41:42:a2:3e:92:28:83:50:7a:9c:fd:f3:66:7c: - f8:d9:c7:f6:63:d2:59:d2:fd:9a:a4:9b:75:a6:16: - ec:37:de:05:dd:05:a2:31:65:79:66:eb:b3:82:41: - af:b9:e8:4a:bc:02:d6:a1:68:49:6c:09:e1:c5:9f: - 3e:cf:52:76:d9:63:65:7a:a5:34:75:ee:ce:a3:c6: - 92:f3:0d:2f:7f:b0:b4:12:fe:44:5f:77:10:25:98: - b2:45:af:69:c8:9b:13:fc:f9:de:c6:be:b5:cf:62: - 06:01:32:71:d5:84:1d:14:b9:28:46:80:f6:98:35: - 12:e4:c8:e4:7a:94:e5:99:a3:6b:34:de:be:33:fe: - 63:21:a3:cc:c4:64:15:49:e0:9d:57:84:b9:11:e5: - 05:79:ba:22:6e:e4:24:b0:64:f0:54:13:1a:f4:73: - 8a:ff - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - Netscape Cert Type: - SSL Server - Netscape Comment: - OpenSSL Generated Server Certificate - X509v3 Subject Key Identifier: - A5:A6:80:4D:3C:CD:E2:FE:AD:32:FD:9D:B2:7C:B6:00:76:16:C0:41 - X509v3 Authority Key Identifier: - keyid:DB:D2:9C:8D:22:D9:D7:E2:38:A0:8D:6C:3B:BE:33:CE:8D:2A:BE:C8 - DirName:/C=US/ST=WA/O=core-dev/emailAddress=root@localhost - serial:CE:78:96:91:DB:9B:84:FD - - X509v3 Extended Key Usage: - TLS Web Server Authentication - X509v3 Key Usage: - Digital Signature, Key Encipherment - Signature Algorithm: sha256WithRSAEncryption - 3b:40:af:3a:c0:95:10:bc:d4:63:4a:1b:0f:9d:af:9c:27:29: - 34:c9:80:dc:c2:2d:72:40:0e:50:15:fe:b4:87:bc:59:56:de: - 81:96:1f:4f:ec:1a:44:ce:23:ba:69:b1:f5:ed:4b:1a:22:cf: - 16:17:29:f9:bb:69:12:3c:42:87:09:48:26:a2:b3:88:40:3e: - 3c:06:92:e1:65:6e:c0:62:50:55:08:5d:a0:4b:3a:0f:ff:9d: - 65:91:b9:bf:d3:69:b9:ac:27:83:2c:fd:5a:bd:58:d3:75:a0: - 70:e6:21:e9:f0:0d:19:a6:5f:2b:2d:1f:c9:fb:72:73:06:40: - 32:5a:f8:81:30:59:b7:cb:3a:a7:3e:6f:af:4c:4b:57:eb:4a: - d8:24:65:13:c3:86:fd:35:d3:6d:a0:3a:4b:63:40:9e:b4:98: - e0:a2:c7:f2:71:42:d5:08:72:95:fd:df:8f:05:e9:68:a8:f8: - 13:db:e6:0a:ec:c2:df:29:65:33:52:57:52:e5:7e:1d:09:2c: - 56:0b:cc:d3:2d:dd:46:72:f0:cb:8b:2d:53:c4:d3:9d:63:a6: - 6e:9f:dd:1a:7c:b2:87:d1:9e:4e:a0:b2:36:85:4a:5e:89:f9: - 01:82:94:3d:3a:86:17:84:48:d4:0c:c4:25:25:54:3f:d7:65: - 6b:85:c2:44:b3:6a:f5:74:69:f4:be:b2:13:68:a0:99:82:88: - 07:23:8e:a3:67:e0:88:07:fe:fd:ba:85:f8:8a:1f:ac:1e:7d: - ac:1e:f9:d1:3d:a8:fd:d9:91:9e:b2:3d:4f:f1:b4:80:9e:0b: - aa:bb:44:6a:20:08:68:a4:45:0e:21:21:4d:d1:5f:ab:a8:96: - 5a:29:e1:0f:9a:ff:a4:58:c6:80:15:51:98:ac:3c:23:4e:9e: - 8f:a2:34:c1:f6:4c:26:f0:33:8d:db:15:b9:30:03:a7:b3:17: - 31:9f:9a:5a:e7:a1:10:5e:61:57:04:bf:9a:6f:ec:87:15:4e: - 33:2a:0c:e4:4a:b0:66:ab:04:7a:32:4d:66:44:af:d9:ad:41: - a9:b1:05:c4:7d:2a:ba:2b:bb:c9:1e:5a:ff:cd:e0:e3:54:39: - b6:be:e2:70:6c:db:e6:71:dc:27:7e:ef:e9:11:1f:cb:fa:cd: - e1:57:a9:b9:ba:d6:69:fc:c0:d7:57:b0:51:4d:c4:2a:2f:1b: - 99:fc:b7:65:11:99:fe:0b:58:4e:11:aa:06:c6:e1:53:20:c7: - 56:0a:de:a6:65:c1:a6:41:e1:7b:1d:d7:17:45:b0:e4:66:50: - 26:d8:85:c3:c3:93:2d:df:b0:35:6d:29:9a:6b:cc:cc:75:de: - cf:72:37:8b:2d:24:b2:45 - -----BEGIN CERTIFICATE----- - MIIFQTCCAymgAwIBAgIBATANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEL - MAkGA1UECBMCV0ExETAPBgNVBAoTCGNvcmUtZGV2MR0wGwYJKoZIhvcNAQkBFg5y - b290QGxvY2FsaG9zdDAgFw0xNTA1MTkwMjA5NTdaGA8yMTE1MDQyNTAyMDk1N1ow - YDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMREwDwYDVQQKEwhjb3JlLWRldjES - MBAGA1UEAxMJdnBuc2VydmVyMR0wGwYJKoZIhvcNAQkBFg5yb290QGxvY2FsaG9z - dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANKIspsyrDjKReBr2xyS - XZpCI99koDvCxPI6dbvWVBJhbqqsD6Yu2Ttj3D1IAvE2yJfT7yRvf923mp1twcni - EUkc4GfWsLdihJr4w69P93cpdAGBR0mE1hwMNkFCoj6SKINQepz982Z8+NnH9mPS - WdL9mqSbdaYW7DfeBd0FojFleWbrs4JBr7noSrwC1qFoSWwJ4cWfPs9SdtljZXql - NHXuzqPGkvMNL3+wtBL+RF93ECWYskWvacibE/z53sa+tc9iBgEycdWEHRS5KEaA - 9pg1EuTI5HqU5ZmjazTevjP+YyGjzMRkFUngnVeEuRHlBXm6Im7kJLBk8FQTGvRz - iv8CAwEAAaOCARYwggESMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZAMDMG - CWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBTZXJ2ZXIgQ2VydGlmaWNh - dGUwHQYDVR0OBBYEFKWmgE08zeL+rTL9nbJ8tgB2FsBBMHwGA1UdIwR1MHOAFNvS - nI0i2dfiOKCNbDu+M86NKr7IoVCkTjBMMQswCQYDVQQGEwJVUzELMAkGA1UECBMC - V0ExETAPBgNVBAoTCGNvcmUtZGV2MR0wGwYJKoZIhvcNAQkBFg5yb290QGxvY2Fs - aG9zdIIJAM54lpHbm4T9MBMGA1UdJQQMMAoGCCsGAQUFBwMBMAsGA1UdDwQEAwIF - oDANBgkqhkiG9w0BAQsFAAOCAgEAO0CvOsCVELzUY0obD52vnCcpNMmA3MItckAO - UBX+tIe8WVbegZYfT+waRM4jummx9e1LGiLPFhcp+btpEjxChwlIJqKziEA+PAaS - 4WVuwGJQVQhdoEs6D/+dZZG5v9Npuawngyz9Wr1Y03WgcOYh6fANGaZfKy0fyfty - cwZAMlr4gTBZt8s6pz5vr0xLV+tK2CRlE8OG/TXTbaA6S2NAnrSY4KLH8nFC1Qhy - lf3fjwXpaKj4E9vmCuzC3yllM1JXUuV+HQksVgvM0y3dRnLwy4stU8TTnWOmbp/d - Gnyyh9GeTqCyNoVKXon5AYKUPTqGF4RI1AzEJSVUP9dla4XCRLNq9XRp9L6yE2ig - mYKIByOOo2fgiAf+/bqF+IofrB59rB750T2o/dmRnrI9T/G0gJ4LqrtEaiAIaKRF - DiEhTdFfq6iWWinhD5r/pFjGgBVRmKw8I06ej6I0wfZMJvAzjdsVuTADp7MXMZ+a - WuehEF5hVwS/mm/shxVOMyoM5EqwZqsEejJNZkSv2a1BqbEFxH0quiu7yR5a/83g - 41Q5tr7icGzb5nHcJ37v6REfy/rN4VepubrWafzA11ewUU3EKi8bmfy3ZRGZ/gtY - ThGqBsbhUyDHVgrepmXBpkHhex3XF0Ww5GZQJtiFw8OTLd+wNW0pmmvMzHXez3I3 - iy0kskU= - -----END CERTIFICATE----- - } - } - custom-config { - custom-config-id service:VPNServer:vpnserver.key - custom-command vpnserver.key - config { - -----BEGIN PRIVATE KEY----- - MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDSiLKbMqw4ykXg - a9sckl2aQiPfZKA7wsTyOnW71lQSYW6qrA+mLtk7Y9w9SALxNsiX0+8kb3/dt5qd - bcHJ4hFJHOBn1rC3YoSa+MOvT/d3KXQBgUdJhNYcDDZBQqI+kiiDUHqc/fNmfPjZ - x/Zj0lnS/Zqkm3WmFuw33gXdBaIxZXlm67OCQa+56Eq8AtahaElsCeHFnz7PUnbZ - Y2V6pTR17s6jxpLzDS9/sLQS/kRfdxAlmLJFr2nImxP8+d7GvrXPYgYBMnHVhB0U - uShGgPaYNRLkyOR6lOWZo2s03r4z/mMho8zEZBVJ4J1XhLkR5QV5uiJu5CSwZPBU - Exr0c4r/AgMBAAECggEATaktMUC09NHwisNedSCstI13TB2DWegT3EKiUWLTamBU - gVKtByE68sR4ZoacxzvtLMx555fVtATZXP8yv/TLaYvkX4l7cHo/7iabkJzP7T32 - U+PLVxxQGtKKZPJehPRHS4ExaZ3n3kN1TGiNw+7BQapZFCVgdZ75DfaxdQFx/gQD - 4htDr7SZL/jG1Sn08Cf7DRQ9U0rISecmm9nG9LV1LXMfnbdWTwvmm/z0a6wjDZ4n - Byfd5jOOI4cpgetHhAQCH+ksComY0GBf21MOsfQT/NzfuW/KFGag992Yub8tBUFa - AG+SlaNZBiLAPYfMegjCxR1jZeUCthlB2kdzYKcmyQKBgQD4lgbktGO/VKjnKnGD - SR8oJT82HvkfB16M/pSlTNOTmAAbbY9yMNj/zKPJDOhxHLhFxmXqVnvs70Ye+pfT - 3o3v0NkAfdIhzNzqbFlUA15QqELhrXHaTtpU3/nyw+/lQhoiEof9yj9vuGBy4iDf - GdP1R8G7OWqJIDXwZd3s99XujQKBgQDY0CPvCe1j43wfG8MjI/bLeDWmxjGaLWJu - IKbMepEbqcaz9x+25Ey3E35DYtfLjeAQ+qRc5T4Cj6L9iG/mS89/ShPGj91xyFzQ - qoZf4lGB0/A80aTgmDiF4FxHFzWpXKaJPS1gTfWZ9Qs7r0LP8Uwni9dhO8LGPNAr - 9Ky3jaHyuwKBgQDxml74yZpoyw+eHVJWFyuBCTJ2l4Po9HCg+I3gWtsICCOShNl2 - UqOVen91WGZSCWfP6RQEvimUDrpIQaZu9U9eVc2S/LbOwx2zebsYPG3eVqsqTDjr - xNfOxiFYIbd3Ste7ZedmcrtVCg4zmjP4olGvgx53qUYyIGxMSbV4KyhxwQKBgQCQ - ba7SSLGrrdl8O5k1Knr3tb8/tp1KUFtWc0fJxQgu/lzQe5nT0qdL+Z9NsmWAQqV1 - ihG9lDRHrnlsHNw19GBoMeeUiTeB2XACzOWwr+mN66oISbtkpeJZREkUTmC/zmld - 2LQGiEhIY9U00B5YuSv62AwEyLOKLO6bqWT47U9piwKBgQDm2+ufGU+ZBr0qpyCf - TiZFngJ1fGK0tyVrERm1y83vWzbqaW9nX5hJilqYDB3jpHARvbY56+jWVSm4ADwG - dlqEpmPHBgDRYBkdLUl50TN5vINcXQCGlA0zOHAueAUESyL5nLnO7NsK/McSRDd5 - XonR43XumudHzs3R6BwBTKv1gw== - -----END PRIVATE KEY----- - } - } - custom-config { - custom-config-id service:VPNServer:vpnserver.sh - custom-command vpnserver.sh - config { - #!/bin/sh - # custom VPN Server Configuration for service (security.py) - # -------- CUSTOMIZATION REQUIRED -------- - # - # The VPNServer service sets up the OpenVPN server for building VPN tunnels - # that allow access via TUN/TAP device to private networks. - # - # note that the IPForward and DefaultRoute services should be enabled - - # directory containing the certificate and key described below, in addition to - # a CA certificate and DH key - certdir=$SESSION_DIR/certs - keydir=$PWD - - # the name used for a "$keyname.pem" certificate and "$keyname.key" private key. - keyname=vpnserver - - # the VPN subnet address from which the client VPN IP (for the TUN/TAP) - # will be allocated - vpnsubnet=10.0.200.0 - - # public IP address of this vpn server (same as VPNClient vpnserver= setting) - vpnserver=10.0.1.10 - - # optional list of private subnets reachable behind this VPN server - # each subnet and next hop is separated by a space - # ", , ..." - privatenets="10.0.6.0,10.0.1.10" - - # optional list of VPN clients, for statically assigning IP addresses to - # clients; also, an optional client subnet can be specified for adding static - # routes via the client - # Note: VPN addresses x.x.x.0-3 are reserved - # ",, ,, ..." - #vpnclients="client1KeyFilename,10.0.200.5,10.0.0.0 client2KeyFilename,," - vpnclients="" - - # NOTE: you may need to enable the StaticRoutes service on nodes within the - # private subnet, in order to have routes back to the client. - # /sbin/ip ro add /24 via - # /sbin/ip ro add /24 via - - # -------- END CUSTOMIZATION -------- - - echo > $PWD/vpnserver.log - rm -f -r $PWD/ccd - - # validate key and certification files - check-key-file() { - if [ ! -e $1 ]; then - echo "ERROR: missing certification or key file: $1" >> $PWD/vpnserver.log - fi - } - - check-key-file $keydir/$keyname.key - check-key-file $keydir/$keyname.pem - check-key-file $certdir/ca-cert.pem - check-key-file $certdir/dh2048.pem - - # validate configuration IP addresses - checkip=0 - if [ "$(dpkg -l | grep sipcalc)" = "" ]; then - echo "WARNING: ip validation disabled because package sipcalc not installed\ - " >> $PWD/vpnserver.log - checkip=1 - else - if [ "$(sipcalc "$vpnsubnet" "$vpnserver" | grep ERR)" != "" ]; then - echo "ERROR: invalid vpn subnet or server address \ - $vpnsubnet or $vpnserver " >> $PWD/vpnserver.log - fi - fi - - # create client vpn ip pool file - ( - cat << EOF - EOF - )> $PWD/ippool.txt - - # create server.conf file - ( - cat << EOF - # openvpn server config - local $vpnserver - server $vpnsubnet 255.255.255.0 - push redirect-gateway def1 - EOF - )> $PWD/server.conf - - # add routes to VPN server private subnets, and push these routes to clients - for privatenet in $privatenets; do - if [ $privatenet != "" ]; then - net=${privatenet%%,*} - nexthop=${privatenet##*,} - if [ $checkip = "0" ] && - [ "$(sipcalc "$net" "$nexthop" | grep ERR)" != "" ]; then - echo "ERROR: invalid vpn server private net address \ - $net or $nexthop " >> $PWD/vpnserver.log - fi - echo push route $net 255.255.255.0 >> $PWD/server.conf - fi - done - - # allow subnet through this VPN, one route for each client subnet - for client in $vpnclients; do - if [ $client != "" ]; then - cSubnetIP=${client##*,} - cVpnIP=${client#*,} - cVpnIP=${cVpnIP%%,*} - cKeyFilename=${client%%,*} - if [ "$cSubnetIP" != "" ]; then - if [ $checkip = "0" ] && - [ "$(sipcalc "$cSubnetIP" "$cVpnIP" | grep ERR)" != "" ]; then - echo "ERROR: invalid vpn client and subnet address \ - $cSubnetIP or $cVpnIP " >> $PWD/vpnserver.log - fi - echo route $cSubnetIP 255.255.255.0 >> $PWD/server.conf - if ! test -d $PWD/ccd; then - mkdir -p $PWD/ccd - echo client-config-dir $PWD/ccd >> $PWD/server.conf - fi - if test -e $PWD/ccd/$cKeyFilename; then - echo iroute $cSubnetIP 255.255.255.0 >> $PWD/ccd/$cKeyFilename - else - echo iroute $cSubnetIP 255.255.255.0 > $PWD/ccd/$cKeyFilename - fi - fi - if [ "$cVpnIP" != "" ]; then - echo $cKeyFilename,$cVpnIP >> $PWD/ippool.txt - fi - fi - done - - ( - cat << EOF - keepalive 10 120 - ca $certdir/ca-cert.pem - cert $keydir/$keyname.pem - key $keydir/$keyname.key - dh $certdir/dh2048.pem - cipher AES-256-CBC - status /var/log/openvpn-status.log - log /var/log/openvpn-server.log - ifconfig-pool-linear - ifconfig-pool-persist $PWD/ippool.txt - port 1194 - proto udp - dev tun - verb 4 - daemon - EOF - )>> $PWD/server.conf - - # start vpn server - openvpn --config server.conf - - } - } - custom-config { - custom-config-id service:VPNServer - custom-command VPNServer - config { - - ('vpnserver.sh', 'vpnserver.key', 'vpnserver.pem', ) - 50 - ('bash vpnserver.sh', ) - ('killall openvpn', ) - ('pidof openvpn', ) - - } - } - services {IPForward DefaultRoute SSH VPNServer} -} - -node n6 { - type router - model PC - network-config { - hostname vpnclient - ! - interface eth0 - ip address 10.0.0.20/24 - ipv6 address 2001:0::20/64 - ! - } - canvas c1 - iconcoords {120.0 133.0} - labelcoords {120.0 165.0} - interface-peer {eth0 n1} - custom-config { - custom-config-id service:VPNClient:vpnclient.key - custom-command vpnclient.key - config { - -----BEGIN PRIVATE KEY----- - MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC6T+1XG/EQX8pj - vGSq5QMS6G8sqozjDPInZz8hSukeJCueE9Ib/nbg9wXLST6fAVA/VsY4eGXZzQNB - vl6BxVXjjj/UkY4R+RXchKjg85fq+I37uZnzUL3S2jIalswB4LsLSGusBbTTfe8v - 0rMCPVUzojMSXhkOVJs1gzusmdNnqEg7TZ+W4Ov12jzACbRdGMA572sXvnXRPhdR - BI4CSfrsPRueWPO317oLDCECMrxzza9y65UFS3oPFvf2s6oR7FlAIEq0Z1YUQayx - LDH0kE1ZjhLxBmaqNO7hD0gCjYYX8XSHOpiq045N+OGmKcI3Th8ZsGkXKMMyQ1yN - a1c2PuehAgMBAAECggEAVVqYmPesEJxR1C9SzxfruJXTmNrpgHtF1NdwDIiNE8nu - UZUzBLAnNhj1BpSfo6iuYtYWKXi+8HEDtPLJyRnmp0Fb7L5iH8nFQilkVOpEBtmn - 8lKtPNMYo6him9vJynJyPlEHQt+6X8mp8nbMm5INnoIIc7m4MOCB2poslH5EY4/j - /WTohzXVdx3nhYAJ5v5uVi/i6jeNHfY+6sj6pBKDq82OrfxgjrtABRj3/K5UcVd0 - UBsaqXXObHxSvJkHFOSxK+qhVivuT3svZZlaYaleRB1oDmMx3uRNvtxdkhVz5zZY - zeEddu5/BQzHPpIwKR/HScpFes92fiQ639bJxIzGAQKBgQDtNoE7V2CVpvMVgTsX - 3WsqjTZZOnH8jWfWrOMPgRWmDWSA7P7SNSL7dCIftqdMv3pPxCoYVzH7Skp18HGD - 8EVRqrBUupfj7NXOWlG624qtlilWQsNwPkpjXWciQQapdAhEX+T+1/d5UrVR/mY9 - gP4M6rnT87ShcPPi/Otvr/B6SQKBgQDJEWj0wR5GyCfDA0L8ez3OzAwkiWB3K+8b - usc0Cs/+ZFOjQd4Qxahoo6lL8G17TaIcSvdrULaWsQ/oeJ40M2xzsdlwrrtr6ueL - 7q/mqsJeGLIN0h0I0i6DTUYWwzTR5CXCox967FZV46FQ8Jof3c7fsXCNUajHzcUh - zxqp+AdCmQKBgHeV5bqTxzZKrvtlZfQXBOKzw/VhuHs4kmOwTtvPGKnY0JUKZUB1 - 10fq+RUB0P+o/DFgVFRnCOSFRFqGt8NrCpcsNK7STqZyDCt2bwODkDsIm5hIGhzo - 2jmTqd2j6Ibe3xgRO/GZ0MHSB2TpmoNhFzJN1xbaInLM7ba+CLcKfHI5AoGBAIaS - b3O4uSHYnrwnt7KybXi2Gr5tb7HzJrKhfOf5AKKb1VqkIBOLpx55wzp/LVdka0aS - aixaNgp/cU0/RWtcq453jzeayvf8nYKLexFgYnyF/M3BPguEWPsqQenENtrv3tH5 - SX2FJnePxY0dq5n+Y5JV+SWsbNFliDYLniX6SimpAoGAR9ABECd9DMnhgi+WkhZs - 55YBE8P8jFuSUASBIKVmke60nDn4oot0YD74kykb6TxasGXX5lC1vCje/olNBIGM - y687YmrudDfXWxEUwlHMoec5wrHDGIGCnBRAlt4whDoCREH1H+fp/9BgAThcjv58 - NyNDfW+vGpDlkbwFvyhc4pY= - -----END PRIVATE KEY----- - } - } - custom-config { - custom-config-id service:VPNClient:vpnclient.pem - custom-command vpnclient.pem - config { - Certificate: - Data: - Version: 3 (0x2) - Serial Number: 2 (0x2) - Signature Algorithm: sha256WithRSAEncryption - Issuer: C=US, ST=WA, O=core-dev/emailAddress=root@localhost - Validity - Not Before: May 19 02:09:57 2015 GMT - Not After : Apr 25 02:09:57 2115 GMT - Subject: C=US, ST=WA, O=core-dev, CN=vpnclient/emailAddress=root@localhost - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (2048 bit) - Modulus: - 00:ba:4f:ed:57:1b:f1:10:5f:ca:63:bc:64:aa:e5: - 03:12:e8:6f:2c:aa:8c:e3:0c:f2:27:67:3f:21:4a: - e9:1e:24:2b:9e:13:d2:1b:fe:76:e0:f7:05:cb:49: - 3e:9f:01:50:3f:56:c6:38:78:65:d9:cd:03:41:be: - 5e:81:c5:55:e3:8e:3f:d4:91:8e:11:f9:15:dc:84: - a8:e0:f3:97:ea:f8:8d:fb:b9:99:f3:50:bd:d2:da: - 32:1a:96:cc:01:e0:bb:0b:48:6b:ac:05:b4:d3:7d: - ef:2f:d2:b3:02:3d:55:33:a2:33:12:5e:19:0e:54: - 9b:35:83:3b:ac:99:d3:67:a8:48:3b:4d:9f:96:e0: - eb:f5:da:3c:c0:09:b4:5d:18:c0:39:ef:6b:17:be: - 75:d1:3e:17:51:04:8e:02:49:fa:ec:3d:1b:9e:58: - f3:b7:d7:ba:0b:0c:21:02:32:bc:73:cd:af:72:eb: - 95:05:4b:7a:0f:16:f7:f6:b3:aa:11:ec:59:40:20: - 4a:b4:67:56:14:41:ac:b1:2c:31:f4:90:4d:59:8e: - 12:f1:06:66:aa:34:ee:e1:0f:48:02:8d:86:17:f1: - 74:87:3a:98:aa:d3:8e:4d:f8:e1:a6:29:c2:37:4e: - 1f:19:b0:69:17:28:c3:32:43:5c:8d:6b:57:36:3e: - e7:a1 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Basic Constraints: - CA:FALSE - X509v3 Subject Key Identifier: - 55:33:21:40:42:B6:63:7F:EA:A5:20:FA:18:21:C7:27:5B:6F:65:68 - X509v3 Authority Key Identifier: - keyid:DB:D2:9C:8D:22:D9:D7:E2:38:A0:8D:6C:3B:BE:33:CE:8D:2A:BE:C8 - DirName:/C=US/ST=WA/O=core-dev/emailAddress=root@localhost - serial:CE:78:96:91:DB:9B:84:FD - - Signature Algorithm: sha256WithRSAEncryption - 33:e5:aa:b3:19:63:ce:24:c7:ee:2f:11:18:5b:7b:1d:6b:4c: - 71:2d:0b:ea:6f:9b:5e:43:11:45:50:a6:00:fc:19:11:50:46: - 6a:d8:1d:38:eb:9f:3a:81:09:6e:dc:ae:b3:df:71:85:e2:16: - 7e:b8:bf:4c:ec:36:97:ae:58:a6:d9:d1:64:47:cf:8b:e8:0e: - 8c:41:2e:c3:a7:32:ef:a0:90:c2:5c:e5:6f:aa:03:ca:15:7f: - fb:ef:42:b1:22:28:47:fe:0a:df:58:b5:88:5b:a6:15:f8:13: - 3f:7e:19:da:ec:3f:63:72:0b:e5:c6:94:9f:53:1c:99:60:48: - 25:b5:b4:60:9a:4a:94:ab:68:be:5a:08:67:4c:c8:b5:7e:12: - 32:2c:e9:e7:fb:d1:a2:40:a8:e6:68:0e:37:a1:48:99:17:b6: - 40:f6:50:0a:f7:16:d1:90:e6:8a:3e:b0:c7:21:aa:9a:b9:79: - 6a:69:5c:25:9b:4b:29:b7:0e:13:80:ea:e8:5c:6d:95:cd:5c: - 69:de:20:69:d7:df:20:ec:6f:7b:9f:1d:61:c2:d1:59:6f:1e: - 0a:45:01:f6:25:02:e5:be:fb:91:a9:82:08:c8:42:2a:3e:2c: - 75:bb:4e:9c:0a:b6:07:24:52:e5:4f:f5:81:45:7b:77:ca:19: - 38:56:7f:17:63:5e:1f:a4:be:03:7d:d3:48:fc:e9:43:5c:2b: - b1:d5:da:44:c0:0c:56:23:4a:7d:bf:c0:ac:c6:9c:93:6d:69: - 9a:b9:02:3e:aa:1b:27:3e:b1:c8:6a:39:96:09:1d:c0:08:c8: - 1c:a4:82:ea:d2:72:e7:e1:47:66:7f:76:ac:d5:8c:99:59:02: - 25:ee:ec:ad:76:65:0f:8a:ba:5f:a7:33:ef:8e:34:71:d2:f5: - 3c:63:b0:c4:b2:65:c2:55:2d:35:d7:13:04:9c:87:d2:76:6b: - af:37:ba:58:d2:63:e0:fb:9c:a4:3a:97:e4:e6:79:0f:ca:d4: - 07:8c:39:80:4d:5e:d4:09:3a:09:1f:16:1a:58:c0:96:58:19: - e8:f7:56:bc:bd:fd:23:f4:4b:93:eb:a4:f2:22:7d:7c:d2:f3: - 6b:5a:13:24:a6:b8:1a:33:0c:fa:cd:77:36:12:c8:c6:ac:e9: - 0f:29:1a:4f:c3:3c:92:53:8c:af:80:04:ac:9b:2a:73:af:a8: - 0f:ef:7d:9f:5e:7c:52:d3:03:2e:19:6f:25:b0:f7:17:ef:c9: - 37:b9:50:ad:60:b0:c7:d9:ba:8f:9e:93:27:ba:52:27:70:b8: - ae:2b:9a:f7:33:2a:fd:a6:51:f5:e2:42:1a:e9:e6:08:5e:62: - 75:e9:b2:1b:ca:ce:cd:d1 - -----BEGIN CERTIFICATE----- - MIIE1TCCAr2gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBMMQswCQYDVQQGEwJVUzEL - MAkGA1UECBMCV0ExETAPBgNVBAoTCGNvcmUtZGV2MR0wGwYJKoZIhvcNAQkBFg5y - b290QGxvY2FsaG9zdDAgFw0xNTA1MTkwMjA5NTdaGA8yMTE1MDQyNTAyMDk1N1ow - YDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMREwDwYDVQQKEwhjb3JlLWRldjES - MBAGA1UEAxMJdnBuY2xpZW50MR0wGwYJKoZIhvcNAQkBFg5yb290QGxvY2FsaG9z - dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALpP7Vcb8RBfymO8ZKrl - AxLobyyqjOMM8idnPyFK6R4kK54T0hv+duD3BctJPp8BUD9Wxjh4ZdnNA0G+XoHF - VeOOP9SRjhH5FdyEqODzl+r4jfu5mfNQvdLaMhqWzAHguwtIa6wFtNN97y/SswI9 - VTOiMxJeGQ5UmzWDO6yZ02eoSDtNn5bg6/XaPMAJtF0YwDnvaxe+ddE+F1EEjgJJ - +uw9G55Y87fXugsMIQIyvHPNr3LrlQVLeg8W9/azqhHsWUAgSrRnVhRBrLEsMfSQ - TVmOEvEGZqo07uEPSAKNhhfxdIc6mKrTjk344aYpwjdOHxmwaRcowzJDXI1rVzY+ - 56ECAwEAAaOBqzCBqDAJBgNVHRMEAjAAMB0GA1UdDgQWBBRVMyFAQrZjf+qlIPoY - IccnW29laDB8BgNVHSMEdTBzgBTb0pyNItnX4jigjWw7vjPOjSq+yKFQpE4wTDEL - MAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMREwDwYDVQQKEwhjb3JlLWRldjEdMBsG - CSqGSIb3DQEJARYOcm9vdEBsb2NhbGhvc3SCCQDOeJaR25uE/TANBgkqhkiG9w0B - AQsFAAOCAgEAM+WqsxljziTH7i8RGFt7HWtMcS0L6m+bXkMRRVCmAPwZEVBGatgd - OOufOoEJbtyus99xheIWfri/TOw2l65YptnRZEfPi+gOjEEuw6cy76CQwlzlb6oD - yhV/++9CsSIoR/4K31i1iFumFfgTP34Z2uw/Y3IL5caUn1McmWBIJbW0YJpKlKto - vloIZ0zItX4SMizp5/vRokCo5mgON6FImRe2QPZQCvcW0ZDmij6wxyGqmrl5amlc - JZtLKbcOE4Dq6Fxtlc1cad4gadffIOxve58dYcLRWW8eCkUB9iUC5b77kamCCMhC - Kj4sdbtOnAq2ByRS5U/1gUV7d8oZOFZ/F2NeH6S+A33TSPzpQ1wrsdXaRMAMViNK - fb/ArMack21pmrkCPqobJz6xyGo5lgkdwAjIHKSC6tJy5+FHZn92rNWMmVkCJe7s - rXZlD4q6X6cz7440cdL1PGOwxLJlwlUtNdcTBJyH0nZrrze6WNJj4PucpDqX5OZ5 - D8rUB4w5gE1e1Ak6CR8WGljAllgZ6PdWvL39I/RLk+uk8iJ9fNLza1oTJKa4GjMM - +s13NhLIxqzpDykaT8M8klOMr4AErJsqc6+oD+99n158UtMDLhlvJbD3F+/JN7lQ - rWCwx9m6j56TJ7pSJ3C4riua9zMq/aZR9eJCGunmCF5idemyG8rOzdE= - -----END CERTIFICATE----- - } - } - custom-config { - custom-config-id service:VPNClient:vpnclient.sh - custom-command vpnclient.sh - config { - #!/bin/sh - # custom VPN Client configuration for service (security.py) - # -------- CUSTOMIZATION REQUIRED -------- - # - # The VPNClient service builds a VPN tunnel to the specified VPN server using - # OpenVPN software and a virtual TUN/TAP device. - - # directory containing the certificate and key described below - certdir=$SESSION_DIR/certs - keydir=$PWD - - # the name used for a "$keyname.pem" certificate and "$keyname.key" private key. - keyname=vpnclient - - # the public IP address of the VPN server this client should connect with - vpnserver="10.0.1.10" - - # optional next hop for adding a static route to reach the VPN server - nexthop="" - - # --------- END CUSTOMIZATION -------- - - # validate addresses - if [ "$(dpkg -l | grep sipcalc)" = "" ]; then - echo "WARNING: ip validation disabled because package sipcalc not installed - " > $PWD/vpnclient.log - else - if [ "$(sipcalc "$vpnserver" "$nexthop" | grep ERR)" != "" ]; then - echo "ERROR: invalide address $vpnserver or $nexthop \ - " > $PWD/vpnclient.log - fi - fi - - # validate key and certification files - check-key-file() { - if [ ! -e $1 ]; then - echo "ERROR: missing certification or key file: $1" >> $PWD/vpnserver.log - fi - } - - check-key-file $keydir/$keyname.key - check-key-file $keydir/$keyname.pem - check-key-file $certdir/ca-cert.pem - check-key-file $certdir/dh2048.pem - - # if necessary, add a static route for reaching the VPN server IP via the IF - vpnservernet=${vpnserver%.*}.0/24 - if [ "$nexthop" != "" ]; then - /sbin/ip route add $vpnservernet via $nexthop - fi - - # create openvpn client.conf - ( - cat << EOF - client - dev tun - proto udp - remote $vpnserver 1194 - nobind - ca $certdir/ca-cert.pem - cert $keydir/$keyname.pem - key $keydir/$keyname.key - dh $certdir/dh2048.pem - cipher AES-256-CBC - log /var/log/openvpn-client.log - verb 4 - daemon - EOF - ) > client.conf - - openvpn --config client.conf - - } - } - custom-config { - custom-config-id service:VPNClient - custom-command VPNClient - config { - - ('vpnclient.sh', 'vpnclient.pem', 'vpnclient.key', ) - 60 - ('bash vpnclient.sh', ) - ('killall openvpn', ) - ('pidof openvpn', ) - - } - } - services {DefaultRoute VPNClient} -} - -node n7 { - type lanswitch - network-config { - hostname n7 - ! - } - canvas c1 - iconcoords {824.0 458.0} - labelcoords {824.0 482.0} - interface-peer {e0 n5} - interface-peer {e1 n8} - interface-peer {e2 n9} - interface-peer {e3 n10} -} - -node n8 { - type router - model PC - network-config { - hostname n8 - ! - interface eth0 - ip address 10.0.6.20/24 - ipv6 address 2001:6::20/64 - ! - } - canvas c1 - iconcoords {801.0 264.0} - labelcoords {801.0 296.0} - interface-peer {eth0 n7} -} - -node n9 { - type router - model PC - network-config { - hostname n9 - ! - interface eth0 - ip address 10.0.6.21/24 - ipv6 address 2001:6::21/64 - ! - } - canvas c1 - iconcoords {885.0 305.0} - labelcoords {885.0 337.0} - interface-peer {eth0 n7} -} - -node n10 { - type router - model PC - network-config { - hostname n10 - ! - interface eth0 - ip address 10.0.6.22/24 - ipv6 address 2001:6::22/64 - ! - } - canvas c1 - iconcoords {954.0 353.0} - labelcoords {954.0 385.0} - interface-peer {eth0 n7} -} - -link l1 { - nodes {n6 n1} - bandwidth 0 -} - -link l2 { - nodes {n4 n5} - bandwidth 0 -} - -link l3 { - nodes {n1 n2} - bandwidth 0 -} - -link l4 { - nodes {n3 n4} - bandwidth 0 -} - -link l5 { - nodes {n3 n1} - bandwidth 0 -} - -link l6 { - nodes {n4 n2} - bandwidth 0 -} - -link l7 { - nodes {n5 n7} - bandwidth 0 -} - -link l8 { - nodes {n8 n7} - bandwidth 0 -} - -link l9 { - nodes {n9 n7} - bandwidth 0 -} - -link l10 { - nodes {n10 n7} - bandwidth 0 -} - -annotation a1 { - iconcoords {661.0 187.0 997.0 579.0} - type rectangle - label {private network} - labelcolor black - fontfamily {Arial} - fontsize 12 - color #e9e9fe - width 0 - border black - rad 25 - effects {bold} - canvas c1 -} - -canvas c1 { - name {Canvas1} -} - -hook 3:instantiation_hook.sh { -#!/bin/sh -# session hook script; write commands here to execute on the host at the -# specified state - -CERT_DIR=$SESSION_DIR/certs -mkdir $CERT_DIR - -cat > $CERT_DIR/dh2048.pem < $CERT_DIR/ca-cert.pem <] [-s] [-a address] [-p port]" - echo " []" - echo "" - echo "Launches the CORE Tcl/Tk X11 GUI or starts an imn-based emulation." - echo "" - echo " -(-h)elp show help message and exit" - echo " -(-v)ersion show version number and exit" - echo " -(-b)atch batch mode (no X11 GUI)" - echo -n " -(-c)losebatch stop and clean up a batch mode " - echo "session " - echo " -(-s)tart start in execute mode, not edit mode" - echo " -(-a)ddress connect to the specified IP address (default 127.0.0.1)" - echo " -(-p)port connect to the specified TCP port (default 4038)" - echo " (optional) load the specified imn scenario file" - echo "" - echo "With no parameters, starts the GUI in edit mode with a blank canvas." - echo "" - exit 0 - ;; --v | --version) - exec echo "`basename $0` version @PACKAGE_VERSION@ (@PACKAGE_DATE@)" - exit 0 - ;; -esac - -SHELL=/bin/sh -export SHELL - -export LIBDIR="@CORE_LIB_DIR@" -export SBINDIR="@sbindir@" -# eval is used here to expand "~" to user's home dir -if [ x$CONFDIR = x ]; then export CONFDIR=`eval "echo @CORE_GUI_CONF_DIR@"` ; fi -export CORE_STATE_DIR="@CORE_STATE_DIR@" -export CORE_DATA_DIR="@CORE_DATA_DIR@" -export CORE_USER=`id -u -n` -export CORE_START_DIR=$PWD - -init_conf_dir() { - echo "Setting up user config area $CONFDIR, $CONFDIR/configs, and " - echo " $CONFDIR/myservices" - mkdir -p $CONFDIR - if [ $? != 0 ]; then echo "error making directory $CONFDIR!"; fi - mkdir -p $CONFDIR/configs - if [ $? != 0 ]; then - echo "error making directory $CONFDIR/configs!"; - else - cp -a $CORE_DATA_DIR/examples/configs/* $CONFDIR/configs/ - fi - mkdir -p $CONFDIR/myservices - if [ $? != 0 ]; then - echo "error making directory $CONFDIR/myservices!"; - else - cp -a $CORE_DATA_DIR/examples/myservices/* $CONFDIR/myservices/ - fi - mkdir -p $CONFDIR/myemane - if [ $? != 0 ]; then - echo "error making directory $CONFDIR/myemane!"; - else - cp -a $CORE_DATA_DIR/examples/myemane/* $CONFDIR/myemane/ - fi -} - -cd $LIBDIR - -core=$LIBDIR/core.tcl - -# locate wish8.5 binaries -WISHLIST="/usr/bin/wish8.6 /usr/local/bin/wish8.5 /usr/bin/wish8.5" -for wishbin in $WISHLIST -do - if [ -x $wishbin ] - then - WISH=$wishbin; - break; - fi; -done; - -if [ a$WISH = a ] -then - echo "CORE could not locate the Tcl/Tk binary (wish8.5)." - exit 1; -fi; - -# create /home/user/.core directory if necessary -if [ ! -e $CONFDIR ] -then - init_conf_dir -fi; - -# check for and fix write permissions on /home/user/.core directory -while [ ! -w $CONFDIR ]; -do - echo " CORE requires write permissions to the '$CONFDIR'" - echo " configuration directory for the user '$CORE_USER'," - echo " would you like to fix this now [Y/n]?" - read yn - if [ "z$yn" = "zn" ]; then - break - fi - echo -n " (sudo may prompt you for a password; if you do not have sudo set" - echo " up for the" - echo " user '$CORE_USER', su to root and run this command:" - echo " chown -R $CORE_USER $CONFDIR )" - sudo chown -R $U $CONFDIR - sudo chmod -R u+w $CONFDIR -done - -# GUI config directory should not be a file (old prefs) -if [ ! -d $CONFDIR ] -then - - mv $CONFDIR $CONFDIR.tmp - if [ $? != 0 ]; then echo "error moving $CONFDIR!"; exit 1; fi - init_conf_dir - echo "Old preferences file $CONFDIR has been moved to $CONFDIR/prefs.conf" - mv $CONFDIR.tmp $CONFDIR/prefs.conf - if [ $? != 0 ]; then echo "error moving $CONFDIR.tmp to $CONFDIR/prefs.conf!"; exit 1; fi -fi; - -case $1 in --b | --batch) - TCLBIN=`echo ${WISH} | sed s/wish/tclsh/g` - exec ${TCLBIN} $core "$@" - ;; --c | --closebatch) - TCLBIN=`echo ${WISH} | sed s/wish/tclsh/g` - exec ${TCLBIN} $core "$@" - ;; --s) - shift - exec ${WISH} $core -- "--start" "$@" - ;; --a) - shift - exec ${WISH} $core -- "--address" "$@" - ;; --p) - shift - exec ${WISH} $core -- "--port" "$@" - ;; -*) - exec ${WISH} $core -- $@ - ;; -esac - -cd $CORE_START_DIR diff --git a/gui/core.tcl b/gui/core.tcl deleted file mode 100644 index aad43fd4..00000000 --- a/gui/core.tcl +++ /dev/null @@ -1,196 +0,0 @@ -# -# Copyright 2004-2008 University of Zagreb, Croatia. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. 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. -# -# THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. -# -# This work was supported in part by Croatian Ministry of Science -# and Technology through the research contract #IP-2003-143. -# - -if {[lindex $argv 0] == "-b" || [lindex $argv 0] == "--batch"} { - set argv [lrange $argv 1 end] - set execMode batch -} elseif {[lindex $argv 0] == "-c" || [lindex $argv 0] == "--closebatch"} { - set argv [lrange $argv 1 end] - set execMode closebatch -} elseif {[lindex $argv 0] == "--addons"} { - set argv [lrange $argv 1 end] - set execMode addons -} else { - set execMode interactive -} - -set LIBDIR "" -set SBINDIR "/usr/local/sbin" -set CONFDIR "." -set CORE_DATA_DIR "." -set CORE_STATE_DIR "." -set CORE_START_DIR "" -set CORE_USER "" -if { [info exists env(LIBDIR)] } { - set LIBDIR $env(LIBDIR) -} -if { [info exists env(SBINDIR)] } { - set SBINDIR $env(SBINDIR) -} -if { [info exists env(CONFDIR)] } { - set CONFDIR $env(CONFDIR) -} -if { [info exists env(CORE_DATA_DIR)] } { - set CORE_DATA_DIR $env(CORE_DATA_DIR) -} -if { [info exists env(CORE_STATE_DIR)] } { - set CORE_STATE_DIR $env(CORE_STATE_DIR) -} -if { [info exists env(CORE_START_DIR)] } { - set CORE_START_DIR $env(CORE_START_DIR) -} -if { [info exists env(CORE_USER)] } { - set CORE_USER $env(CORE_USER) -} - -source "$LIBDIR/version.tcl" - -source "$LIBDIR/linkcfg.tcl" -source "$LIBDIR/nodecfg.tcl" -source "$LIBDIR/ipv4.tcl" -source "$LIBDIR/ipv6.tcl" -source "$LIBDIR/cfgparse.tcl" -source "$LIBDIR/exec.tcl" -source "$LIBDIR/canvas.tcl" - -source "$LIBDIR/editor.tcl" -source "$LIBDIR/annotations.tcl" - -source "$LIBDIR/help.tcl" -source "$LIBDIR/filemgmt.tcl" - -source "$LIBDIR/ns2imunes.tcl" - - -source "$LIBDIR/mobility.tcl" -source "$LIBDIR/api.tcl" -source "$LIBDIR/wlan.tcl" -source "$LIBDIR/wlanscript.tcl" -source "$LIBDIR/util.tcl" -source "$LIBDIR/plugins.tcl" -source "$LIBDIR/nodes.tcl" -source "$LIBDIR/services.tcl" -source "$LIBDIR/traffic.tcl" -source "$LIBDIR/exceptions.tcl" - -# -# Global variables are initialized here -# -set node_list {} -set link_list {} -set annotation_list {} -set canvas_list {} -set eid e0 -set plot_list {} -array set exec_servers {} -loadServersConf ;# populate exec_servers - -# global vars -set showAPI 0 -set mac_byte4 0 -set mac_byte5 0 -set g_mrulist {} -initDefaultPrefs -loadDotFile -loadPluginsConf -checkCommandLineAddressPort -autoConnectPlugins - -set g_abort_session 0 - -# -# Initialization should be complete now, so let's start doing something... -# - -if {$execMode == "interactive"} { - # GUI-related files - source "$LIBDIR/widget.tcl" - source "$LIBDIR/tooltips.tcl" - source "$LIBDIR/initgui.tcl" - source "$LIBDIR/topogen.tcl" - source "$LIBDIR/graph_partitioning.tcl" - source "$LIBDIR/gpgui.tcl" - source "$LIBDIR/debug.tcl" - # Load all Tcl files from the addons directory - foreach file [glob -nocomplain -directory "$LIBDIR/addons" *.tcl] { - if { [catch { if { [file isfile $file ] } { source "$file"; } } e] } { - puts "*** Error loading addon file: $file" - puts " $e" - } - } - setOperMode edit - fileOpenStartUp - foreach arg $argv { - if { $arg == "--start" } { - global currentFile - if { [file extension $currentFile] == ".xml" } { - after 100; update; # yield to other events so XML file - after 100; update; # can be loaded and received - } - startStopButton "exec"; break; - } - } -# Boeing changed elseif to catch batch and else to output error -} elseif {$execMode == "batch"} { - puts "batch execute $argv" - set sock [lindex [getEmulPlugin "*"] 2] - if { $sock == "" || $sock == "-1" || $sock == -1 } { exit.real; } - if {$argv != ""} { - global currentFile - set currentFile [argAbsPathname $argv] - set fileId [open $currentFile r] - set cfg "" - foreach entry [read $fileId] { - lappend cfg $entry - } - close $fileId - after 100 { - loadCfg $cfg - deployCfgAPI $sock - puts "Waiting to enter RUNTIME state..." - } - global vwaitdummy - vwait vwaitdummy - } -} elseif {$execMode == "closebatch"} { - global g_session_choice - set g_session_choice $argv - puts "Attempting to close session $argv ..." - global vwaitdummy - vwait vwaitdummy -} elseif {$execMode == "addons"} { - # pass control to included addons code - foreach file [glob -nocomplain -directory "$LIBDIR/addons" *.tcl] { - if { [file isfile $file ] } { source "$file"; } - } - global vwaitdummy - vwait vwaitdummy -} else { - puts "ERROR: execMode is not set in core.tcl" -} - diff --git a/gui/debug.tcl b/gui/debug.tcl deleted file mode 100644 index 60e45cbc..00000000 --- a/gui/debug.tcl +++ /dev/null @@ -1,46 +0,0 @@ -.menubar.tools add command -label "Debugger..." -command popupDebugger - -set g_last_debug_cmd "puts \"Hello world\"" - -proc popupDebugger {} { - global g_last_debug_cmd - - set wi .debugger - catch { destroy $wi } - toplevel $wi - - wm transient $wi . - wm resizable $wi 300 200 - wm title $wi "CORE Debugger" - - frame $wi.dbg -borderwidth 4 - label $wi.dbg.label1 \ - -text "Enter TCL/Tk commands below, press Run to evaluate:" - text $wi.dbg.cmd -bg white -width 100 -height 3 - - pack $wi.dbg.label1 $wi.dbg.cmd -side top -anchor w -padx 4 -pady 4 - pack $wi.dbg -side top - - $wi.dbg.cmd insert end "$g_last_debug_cmd" - - frame $wi.btn - # evaluate debugging commands entered into the text box below - button $wi.btn.exec -text "Run" -command { - global g_last_debug_cmd - set wi .debugger - set i 1 - set g_last_debug_cmd "" - while { 1 } { - set cmd [$wi.dbg.cmd get $i.0 $i.end] - set g_last_debug_cmd "$g_last_debug_cmd$cmd\n" - if { $cmd == "" } { break } - catch { eval $cmd } output - puts $output - incr i - } - } - button $wi.btn.close -text "Close" -command "destroy .debugger" - - pack $wi.btn.exec $wi.btn.close -side left -padx 4 -pady 4 - pack $wi.btn -side bottom -} diff --git a/gui/editor.tcl b/gui/editor.tcl deleted file mode 100644 index f93d85c1..00000000 --- a/gui/editor.tcl +++ /dev/null @@ -1,5348 +0,0 @@ -# -# Copyright 2004-2008 University of Zagreb, Croatia. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. 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. -# -# THIS SOFTWARE IS PROVIDED BY AUTHOR 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 AUTHOR 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. -# -# This work was supported in part by the Croatian Ministry of Science -# and Technology through the research contract #IP-2003-143. -# - -#****h* imunes/editor.tcl -# NAME -# editor.tcl -- file used for defining functions that can be used in -# edit mode as well as all the functions which change the appearance -# of the imunes GUI. -# FUNCTION -# This module is used for defining all possible actions in imunes -# edit mode. It is also used for all the GUI related actions. -#**** - - -proc animateCursor {} { - global cursorState - global clock_seconds - - if { [clock seconds] == $clock_seconds } { - update - return - } - set clock_seconds [clock seconds] - if { $cursorState } { - .c config -cursor watch - set cursorState 0 - } else { - .c config -cursor pirate - set cursorState 1 - } - update -} - -#****f* editor.tcl/removeGUILink -# NAME -# removeGUILink -- remove link from GUI -# SYNOPSIS -# renoveGUILink $link_id $atomic -# FUNCTION -# Removes link from GUI. It removes standard links as well as -# split links and links connecting nodes on different canvases. -# INPUTS -# * link_id -- the link id -# * atomic -- defines if the remove was atomic action or a part -# of a composed, non-atomic action (relevant for updating log -# for undo). -#**** - -proc removeGUILink { link atomic } { - global changed - - set nodes [linkPeers $link] - set node1 [lindex $nodes 0] - set node2 [lindex $nodes 1] - if { [nodeType $node1] == "pseudo" } { - removeLink [getLinkMirror $link] - removeLink $link - removeNode [getNodeMirror $node1] - removeNode $node1 - .c delete $node1 - } elseif { [nodeType $node2] == "pseudo" } { - removeLink [getLinkMirror $link] - removeLink $link - removeNode [getNodeMirror $node2] - removeNode $node2 - .c delete $node2 - } else { - removeLink $link - } - .c delete $link - if { $atomic == "atomic" } { - set changed 1 - updateUndoLog - } -} - -#****f* editor.tcl/removeGUINode -# NAME -# removeGUINode -- remove node from GUI -# SYNOPSIS -# renoveGUINode $node_id -# FUNCTION -# Removes node from GUI. When removing a node from GUI the links -# connected to that node are also removed. -# INPUTS -# * node_id -- node id -#**** - -proc removeGUINode { node } { - set type [nodeType $node] - foreach ifc [ifcList $node] { - set peer [peerByIfc $node $ifc] - set link [lindex [.c gettags "link && $node && $peer"] 1] - removeGUILink $link non-atomic - } - if { [lsearch -exact "oval rectangle label text marker" $type] != -1 } { - deleteAnnotation .c $type $node - } elseif { $type != "pseudo" } { - removeNode $node - .c delete $node - } -} - -#****f* editor.tcl/updateUndoLog -# NAME -# updateUndoLog -- update the undo log -# SYNOPSIS -# updateUndoLog -# FUNCTION -# Updates the undo log. Writes the current configuration to the -# undolog array and updates the undolevel variable. -#**** - -proc updateUndoLog {} { - global changed undolog undolevel redolevel - - if { $changed } { - global t_undolog undolog - set t_undolog "" - dumpCfg string t_undolog - incr undolevel - set undolog($undolevel) $t_undolog - set redolevel $undolevel - updateUndoRedoMenu "" -# Boeing: XXX why is this set here? - set changed 0 - } -} - -#****f* editor.tcl/undo -# NAME -# undo -- undo function -# SYNOPSIS -# undo -# FUNCTION -# Undo the change. Reads the undolog and updates the current -# configuration. Reduces the value of undolevel. -#**** - -proc undo {} { - global undolevel undolog oper_mode - - if {$oper_mode == "edit" && $undolevel > 0} { - incr undolevel -1 - updateUndoRedoMenu "" - .c config -cursor watch - loadCfg $undolog($undolevel) - switchCanvas none - } -} - -#****f* editor.tcl/redo -# NAME -# redo -# SYNOPSIS -# redo -# FUNCTION -# Redo the change if possible (redolevel is greater than -# undolevel). Reads the configuration from undolog and -# updates the current configuration. Increases the value -# of undolevel. -#**** - -proc redo {} { - global undolevel redolevel undolog oper_mode - - if {$oper_mode == "edit" && $redolevel > $undolevel} { - incr undolevel - updateUndoRedoMenu "" - .c config -cursor watch - loadCfg $undolog($undolevel) - switchCanvas none - } -} - -proc updateUndoRedoMenu { forced } { - global undolevel redolevel - - if { $forced == "" } { - if { $undolevel > 0 } { set undo "normal" } else { set undo "disabled" } - if { $redolevel > $undolevel } { set redo "normal" - } else { set redo "disabled" } - } else { - set undo $forced - set redo $forced - } - - .menubar.edit entryconfigure "Undo" -state $undo - .menubar.edit entryconfigure "Redo" -state $redo -} - -#****f* editor.tcl/redrawAll -# NAME -# redrawAll -# SYNOPSIS -# redrawAll -# FUNCTION -# Redraws all the objects on the current canvas. -#**** - - -proc redrawAll {} { - global node_list plot_list link_list annotation_list plot_list background sizex sizey grid - global curcanvas zoom - global showAnnotations showGrid - - #Call_Trace ;# debugging when things disappear - - .bottom.zoom config -text "zoom [expr {int($zoom * 100)}]%" - set e_sizex [expr {int($sizex * $zoom)}] - set e_sizey [expr {int($sizey * $zoom)}] - set border 28 - .c configure -scrollregion \ - "-$border -$border [expr {$e_sizex + $border}] \ - [expr {$e_sizey + $border}]" - - - saveRestoreWlanLinks .c save - .c delete all - set background [.c create rectangle 0 0 $e_sizex $e_sizey \ - -fill white -tags "background"] - # Boeing: wallpaper - set wallpaper [lindex [getCanvasWallpaper $curcanvas] 0] - set wallpaperStyle [lindex [getCanvasWallpaper $curcanvas] 1] - if { $wallpaper != "" } { - drawWallpaper .c $wallpaper $wallpaperStyle - } - # end Boeing - - if { $showAnnotations == 1 } { - foreach obj $annotation_list { - # fix annotations having no canvas (from old config) - if { [getNodeCanvas $obj] == "" } { setNodeCanvas $obj $curcanvas} - if { [getNodeCanvas $obj] == $curcanvas } { - drawAnnotation $obj - } - } - } - - # Grid - set e_grid [expr {int($grid * $zoom)}] - set e_grid2 [expr {$e_grid * 2}] - if { $showGrid } { - for { set x $e_grid } { $x < $e_sizex } { incr x $e_grid } { - if { [expr {$x % $e_grid2}] != 0 } { - if { $zoom > 0.5 } { - .c create line $x 1 $x $e_sizey \ - -fill gray -dash {1 7} -tags "grid" - } - } else { - .c create line $x 1 $x $e_sizey -fill gray -dash {1 3} \ - -tags "grid" - } - } - for { set y $e_grid } { $y < $e_sizey } { incr y $e_grid } { - if { [expr {$y % $e_grid2}] != 0 } { - if { $zoom > 0.5 } { - .c create line 1 $y $e_sizex $y \ - -fill gray -dash {1 7} -tags "grid" - } - } else { - .c create line 1 $y $e_sizex $y -fill gray -dash {1 3} \ - -tags "grid" - } - } - } - - .c lower -withtags background - - foreach node $node_list { - if { [getNodeCanvas $node] == $curcanvas } { - drawNode .c $node - } - } - - redrawAllThruplots - foreach link $link_list { - set nodes [linkPeers $link] - if { [getNodeCanvas [lindex $nodes 0]] != $curcanvas || - [getNodeCanvas [lindex $nodes 1]] != $curcanvas } { - continue - } - drawLink $link - redrawLink $link - updateLinkLabel $link - } - saveRestoreWlanLinks .c restore - - .c config -cursor left_ptr - - raiseAll .c -} - -#****f* editor.tcl/drawNode -# NAME -# drawNode -# SYNOPSIS -# drawNode node_id -# FUNCTION -# Draws the specified node. Draws node's image (router pc -# host lanswitch rj45 hub pseudo) and label. -# The visibility of the label depends on the showNodeLabels -# variable for all types of nodes and on invisible variable -# for pseudo nodes. -# INPUTS -# * node_id -- node id -#**** - -proc drawNode { c node } { - global showNodeLabels - global router pc host lanswitch rj45 hub pseudo - global curcanvas zoom - global wlan - if { $c == "" } { set c .c } ;# default canvas - - set type [nodeType $node] - set coords [getNodeCoords $node] - set x [expr {[lindex $coords 0] * $zoom}] - set y [expr {[lindex $coords 1] * $zoom}] - # special handling for custom images, dummy nodes - # could move this to separate getImage function - set model "" - set cimg "" - set imgzoom $zoom - if { $zoom == 0.75 || $zoom == 1.5 } { set imgzoom 1.0 } - if { $type == "router" } { - set model [getNodeModel $node] - set cimg [getNodeTypeImage $model normal] - } - set tmp [absPathname [getCustomImage $node]] - if { $tmp != "" } { set cimg $tmp } - if { $cimg != "" } { - # name of global variable storing the image is the filename without path - set img [file tail $cimg] - # create the variable if the image hasn't been loaded before - global [set img] - if { ![info exists $img] } { - if { [catch { - set [set img] [image create photo -file $cimg] - createScaledImages $img - } e ] } { ;# problem loading image file - puts "icon error: $e" - set cimg "" ;# fall back to default model icon - setCustomImage $node "" ;# prevent errors elsewhere - } - } - if { $cimg != "" } { ;# only if image file loaded - global $img$imgzoom - $c create image $x $y -image [set $img$imgzoom] -tags "node $node" - } - } - if { $cimg == "" } { - if { $type == "pseudo" } { - $c create image $x $y -image [set $type] -tags "node $node" - } else { - # create scaled images based on zoom level - global $type$imgzoom - $c create image $x $y -image [set $type$imgzoom] \ - -tags "node $node" - } - } - set coords [getNodeLabelCoords $node] - set x [expr {[lindex $coords 0] * $zoom}] - set y [expr {[lindex $coords 1] * $zoom}] - if { [nodeType $node] != "pseudo" } { ;# Boeing: show remote server - set loc [getNodeLocation $node] - set labelstr0 "" - if { $loc != "" } { set labelstr0 "([getNodeLocation $node]):" } - set labelstr1 [getNodeName $node]; - set labelstr2 "" - if [info exists getNodePartition] { [getNodePartition $node]; } - set l [format "%s%s\n%s" $labelstr0 $labelstr1 $labelstr2]; - set label [$c create text $x $y -fill blue \ - -text "$l" \ - -tags "nodelabel $node"] - } else { - set pnode [getNodeName $node] - set pcanvas [getNodeCanvas $pnode] - set ifc [ifcByPeer $pnode [getNodeMirror $node]] - if { $pcanvas != $curcanvas } { - set label [$c create text $x $y -fill blue \ - -text "[getNodeName $pnode]:$ifc -@[getCanvasName $pcanvas]" \ - -tags "nodelabel $node" -justify center] - } else { - set label [$c create text $x $y -fill blue \ - -text "[getNodeName $pnode]:$ifc" \ - -tags "nodelabel $node" -justify center] - } - } - if { $showNodeLabels == 0} { - $c itemconfigure $label -state hidden - } - global invisible - if { $invisible == 1 && [nodeType $node] == "pseudo" } { - $c itemconfigure $label -state hidden - } -} - -#****f* editor.tcl/drawLink -# NAME -# drawLink -# SYNOPSIS -# drawLink link_id -# FUNCTION -# Draws the specified link. An arrow is displayed for links -# connected to pseudo nodes. If the variable invisible -# is specified link connecting a pseudo node stays hidden. -# INPUTS -# * link_id -- link id -#**** - -proc drawLink { link } { - set nodes [linkPeers $link] - set lnode1 [lindex $nodes 0] - set lnode2 [lindex $nodes 1] - set lwidth [getLinkWidth $link] - if { [getLinkMirror $link] != "" } { - set newlink [.c create line 0 0 0 0 \ - -fill [getLinkColor $link] -width $lwidth \ - -tags "link $link $lnode1 $lnode2" -arrow both] - } else { - set newlink [.c create line 0 0 0 0 \ - -fill [getLinkColor $link] -width $lwidth \ - -tags "link $link $lnode1 $lnode2"] - } - # Boeing: links between two nodes on different servers - if { [getNodeLocation $lnode1] != [getNodeLocation $lnode2]} { - .c itemconfigure $newlink -dash ","; - } - # end Boeing - # XXX Invisible pseudo-liks - global invisible - if { $invisible == 1 && [getLinkMirror $link] != "" } { - .c itemconfigure $link -state hidden - } - # Boeing: wlan links are hidden - if { [nodeType $lnode1] == "wlan" || [nodeType $lnode2] == "wlan" } { - global zoom - set imgzoom $zoom - if { $zoom == 0.75 || $zoom == 1.5 } { set imgzoom 1.0 } - global antenna$imgzoom - .c itemconfigure $link -state hidden - .c create image 0 0 -image [set antenna$imgzoom] \ - -tags "antenna $lnode2 $link" - .c create text 0 0 -tags "interface $lnode1 $link" -justify center - .c create text 0 0 -tags "interface $lnode2 $link" -justify center - .c raise interface "link || linklabel || background" - } else { - .c raise $newlink background - .c create text 0 0 -tags "linklabel $link" -justify center - .c create text 0 0 -tags "interface $lnode1 $link" -justify center - .c create text 0 0 -tags "interface $lnode2 $link" -justify center - .c raise linklabel "link || background" - .c raise interface "link || linklabel || background" - } - foreach n [list $lnode1 $lnode2] { - if { [getNodeHidden $n] } { - hideNode $n - statline "Hidden node(s) exist." - } - } -} - - -# draw a green link between wireless nodes (or other color if multiple WLANs) -# WLAN links appear on the canvas but not in the global link_list -proc drawWlanLink { node1 node2 wlan } { - global zoom defLinkWidth curcanvas - set c .c - - set wlanlink [$c find withtag "wlanlink && $node1 && $node2 && $wlan"] - if { $wlanlink != "" } { - return $wlanlink ;# already exists - } - - set color [getWlanColor $wlan] - - set xy [getNodeCoords $node1] - set x [lindex $xy 0]; set y [lindex $xy 1] - set pxy [getNodeCoords $node2] - set px [lindex $pxy 0]; set py [lindex $pxy 1] - - set wlanlink [$c create line [expr {$x*$zoom}] [expr {$y*$zoom}] \ - [expr {$px*$zoom}] [expr {$py*$zoom}] \ - -fill $color -width $defLinkWidth \ - -tags "wlanlink $node1 $node2 $wlan"] - - if { [getNodeCanvas $node1] == $curcanvas && - [getNodeCanvas $node2] == $curcanvas} { - $c itemconfigure $wlanlink -state normal - $c raise $wlanlink "background || grid || oval || rectangle" - } else { - $c itemconfigure $wlanlink -state hidden - } - - return $wlanlink -} - - -#****f* editor.tcl/chooseIfName -# NAME -# chooseIfName -- choose interface name -# SYNOPSIS -# set ifcName [chooseIfName $lnode1 $lnode2] -# FUNCTION -# Choose intreface name. The name can be: -# * eth -- for interface connecting pc, host and router -# * e -- for interface connecting hub and lanswitch -# INPUTS -# * link_id -- link id -# RESULT -# * ifcName -- the name of the interface -#**** - -proc chooseIfName { lnode1 lnode2 } { - global $lnode1 $lnode2 - - # TODO: just check if layer == NETWORK and return eth, LINK return e - switch -exact -- [nodeType $lnode1] { - pc { - return eth - } - host { - return eth - } - hub { - return e - } - lanswitch { - return e - } - router { - return eth - } - rj45 { - return - } - tunnel { - return e - } - ktunnel { - return - } - wlan { - return e - } - default { - return eth -# end Boeing: below - } - } -} - - -#****f* editor.tcl/listLANNodes -# NAME -# listLANNodes -- list LAN nodes -# SYNOPSIS -# set l2peers [listLANNodes $l2node $l2peers] -# FUNCTION -# Recursive function for finding all link layer nodes that are -# connected to node l2node. Returns the list of all link layer -# nodes that are on the same LAN as l2node. -# INPUTS -# * l2node -- node id of a link layer node -# * l2peers -- old link layer nodes on the same LAN -# RESULT -# * l2peers -- new link layer nodes on the same LAN -#**** - -proc listLANnodes { l2node l2peers } { - lappend l2peers $l2node - foreach ifc [ifcList $l2node] { - set peer [logicalPeerByIfc $l2node $ifc] - set type [nodeType $peer] - # Boeing - if { [ lsearch {lanswitch hub wlan} $type] != -1 } { - if { [lsearch $l2peers $peer] == -1 } { - set l2peers [listLANnodes $peer $l2peers] - } - } - } - return $l2peers -} - -#****f* editor.tcl/calcDxDy -# NAME -# calcDxDy lnode -- list LAN nodes -# SYNOPSIS -# calcDxDy $lnode -# FUNCTION -# Calculates dx and dy variables of the calling function. -# INPUTS -# * lnode -- node id of a node whose dx and dy coordinates are -# calculated -#**** - -proc calcDxDy { lnode } { - global showIfIPaddrs showIfIPv6addrs zoom - upvar dx x - upvar dy y - - if { $zoom > 1.0 } { - set x 1 - set y 1 - return - } - switch -exact -- [nodeType $lnode] { - hub { - set x [expr {1.5 / $zoom}] - set y [expr {2.6 / $zoom}] - } - lanswitch { - set x [expr {1.5 / $zoom}] - set y [expr {2.6 / $zoom}] - } - router { - set x [expr {1 / $zoom}] - set y [expr {2 / $zoom}] - } - rj45 { - set x [expr {1 / $zoom}] - set y [expr {1 / $zoom}] - } - tunnel { - set x [expr {1 / $zoom}] - set y [expr {1 / $zoom}] - } - wlan { - set x [expr {1.5 / $zoom}] - set y [expr {2.6 / $zoom}] - } - default { - set x [expr {1 / $zoom}] - set y [expr {2 / $zoom}] - } - } - return -} - -#****f* editor.tcl/updateIfcLabel -# NAME -# updateIfcLabel -- update interface label -# SYNOPSIS -# updateIfcLabel $lnode1 $lnode2 -# FUNCTION -# Updates the interface label, including interface name, -# interface state (* for interfaces that are down), IPv4 -# address and IPv6 address. -# INPUTS -# * lnode1 -- node id of a node where the interface resides -# * lnode2 -- node id of the node that is connected by this -# interface. -#**** -proc updateIfcLabel { lnode1 lnode2 } { - global showIfNames showIfIPaddrs showIfIPv6addrs - - set link [lindex [.c gettags "link && $lnode1 && $lnode2"] 1] - set ifc [ifcByPeer $lnode1 $lnode2] - set ifipv4addr [getIfcIPv4addr $lnode1 $ifc] - set ifipv6addr [getIfcIPv6addr $lnode1 $ifc] - if { $ifc == 0 } { - set ifc "" - } - if { [getIfcOperState $lnode1 $ifc] == "down" } { - set labelstr "*" - } else { - set labelstr "" - } - if { $showIfNames } { - set labelstr "$labelstr$ifc -" - } - if { $showIfIPaddrs && $ifipv4addr != "" } { - set labelstr "$labelstr$ifipv4addr -" - } - if { $showIfIPv6addrs && $ifipv6addr != "" } { - set labelstr "$labelstr$ifipv6addr -" - } - set labelstr \ - [string range $labelstr 0 [expr {[string length $labelstr] - 2}]] - .c itemconfigure "interface && $lnode1 && $link" \ - -text "$labelstr" - # Boeing: hide ifc label on wlans - if { [nodeType $lnode1] == "wlan" } { - .c itemconfigure "interface && $lnode1 && $link" -state hidden - } -} - - -#****f* editor.tcl/updateLinkLabel -# NAME -# updateLinkLabel -- update link label -# SYNOPSIS -# updateLinkLabel $link -# FUNCTION -# Updates the link label, including link bandwidth, link delay, -# BER and duplicate values. -# INPUTS -# * link -- link id of the link whose labels are updated. -#**** -proc updateLinkLabel { link } { - global showLinkLabels - - set bwstr [getLinkBandwidthString $link] - set delstr [getLinkDelayString $link] - set berstr [getLinkBERString $link] - set dupstr [getLinkDupString $link] - set labelstr " -" - if { "$bwstr" != "" } { - set labelstr "$labelstr$bwstr -" - } - if { "$delstr" != "" } { - set labelstr "$labelstr$delstr -" - } - if { "$berstr" != "" } { - set labelstr "$labelstr$berstr -" - } - if { "$dupstr" != "" } { - set labelstr "$labelstr$dupstr -" - } - set labelstr \ - [string range $labelstr 0 [expr {[string length $labelstr] - 2}]] - .c itemconfigure "linklabel && $link" -text "$labelstr" - if { $showLinkLabels == 0} { - .c itemconfigure "linklabel && $link" -state hidden - } -} - - -#****f* editor.tcl/redrawAllLinks -# NAME -# redrawAllLinks -- redraw all links -# SYNOPSIS -# redrawAllLinks -# FUNCTION -# Redraws all links on the current canvas. -#**** -proc redrawAllLinks {} { - global link_list curcanvas - - foreach link $link_list { - set nodes [linkPeers $link] - if { [getNodeCanvas [lindex $nodes 0]] != $curcanvas || - [getNodeCanvas [lindex $nodes 1]] != $curcanvas } { - continue - } - redrawLink $link - } -} - - -#****f* editor.tcl/redrawLink -# NAME -# redrawLink -- redraw a links -# SYNOPSIS -# redrawLink $link -# FUNCTION -# Redraws the specified link. -# INPUTS -# * link -- link id -#**** -proc redrawLink { link } { - global $link - - set limages [.c find withtag "link && $link"] - set limage1 [lindex $limages 0] - set limage2 [lindex $limages 1] - set tags [.c gettags $limage1] - set link [lindex $tags 1] - set lnode1 [lindex $tags 2] - set lnode2 [lindex $tags 3] - - set coords1 [.c coords "node && $lnode1"] - set coords2 [.c coords "node && $lnode2"] - set x1 [lindex $coords1 0] - set y1 [lindex $coords1 1] - set x2 [lindex $coords2 0] - set y2 [lindex $coords2 1] - - .c coords $limage1 $x1 $y1 $x2 $y2 - .c coords $limage2 $x1 $y1 $x2 $y2 - - set lx [expr {0.5 * ($x1 + $x2)}] - set ly [expr {0.5 * ($y1 + $y2)}] - .c coords "linklabel && $link" $lx $ly - - set n [expr {sqrt (($x1 - $x2) * ($x1 - $x2) + \ - ($y1 - $y2) * ($y1 - $y2)) * 0.015}] - if { $n < 1 } { - set n 1 - } - - calcDxDy $lnode1 - set lx [expr {($x1 * ($n * $dx - 1) + $x2) / $n / $dx}] - set ly [expr {($y1 * ($n * $dy - 1) + $y2) / $n / $dy}] - .c coords "interface && $lnode1 && $link" $lx $ly - updateIfcLabel $lnode1 $lnode2 - - calcDxDy $lnode2 - set lx [expr {($x1 + $x2 * ($n * $dx - 1)) / $n / $dx}] - set ly [expr {($y1 + $y2 * ($n * $dy - 1)) / $n / $dy}] - .c coords "interface && $lnode2 && $link" $lx $ly - updateIfcLabel $lnode2 $lnode1 - # Boeing - wlan antennas - if { [nodeType $lnode1] == "wlan" } { - global zoom - set an [lsearch -exact [findWlanNodes $lnode2] $lnode1] - if { $an < 0 || $an >= 5 } { set an 0 } - set dx [expr {20 - (10*$an)}] - .c coords "antenna && $lnode2 && $link" [expr {$x2-($dx*$zoom)}] \ - [expr {$y2-(20*$zoom)}] - } -} - -# Boeing -proc redrawWlanLink { link } { - global $link - - set tags [.c gettags $link] - set lnode1 [lindex $tags 1] - set lnode2 [lindex $tags 2] - set coords1 [.c coords "node && $lnode1"] - set coords2 [.c coords "node && $lnode2"] - set x1 [lindex $coords1 0] - set y1 [lindex $coords1 1] - set x2 [lindex $coords2 0] - set y2 [lindex $coords2 1] - set lx [expr {0.5 * ($x1 + $x2)}] - set ly [expr {0.5 * ($y1 + $y2)}] - - .c coords $link $x1 $y1 $x2 $y2 - .c coords "linklabel && $lnode2 && $lnode1" $lx $ly - - return -} -# end Boeing - -#****f* editor.tcl/splitGUILink -# NAME -# splitGUILink -- splits a links -# SYNOPSIS -# splitGUILink $link -# FUNCTION -# Splits the link and draws new links and new pseudo nodes -# on the canvas. -# INPUTS -# * link -- link id -#**** -proc splitGUILink { link } { - global changed zoom - - set peer_nodes [linkPeers $link] - set new_nodes [splitLink $link pseudo] - set orig_node1 [lindex $peer_nodes 0] - set orig_node2 [lindex $peer_nodes 1] - set new_node1 [lindex $new_nodes 0] - set new_node2 [lindex $new_nodes 1] - set new_link1 [linkByPeers $orig_node1 $new_node1] - set new_link2 [linkByPeers $orig_node2 $new_node2] - setLinkMirror $new_link1 $new_link2 - setLinkMirror $new_link2 $new_link1 - setNodeMirror $new_node1 $new_node2 - setNodeMirror $new_node2 $new_node1 - setNodeName $new_node1 $orig_node2 - setNodeName $new_node2 $orig_node1 - - set x1 [lindex [getNodeCoords $orig_node1] 0] - set y1 [lindex [getNodeCoords $orig_node1] 1] - set x2 [lindex [getNodeCoords $orig_node2] 0] - set y2 [lindex [getNodeCoords $orig_node2] 1] - - setNodeCoords $new_node1 \ - "[expr {($x1 + 0.4 * ($x2 - $x1)) / $zoom}] \ - [expr {($y1 + 0.4 * ($y2 - $y1)) / $zoom}]" - setNodeCoords $new_node2 \ - "[expr {($x1 + 0.6 * ($x2 - $x1)) / $zoom}] \ - [expr {($y1 + 0.6 * ($y2 - $y1)) / $zoom}]" - setNodeLabelCoords $new_node1 [getNodeCoords $new_node1] - setNodeLabelCoords $new_node2 [getNodeCoords $new_node2] - - set changed 1 - updateUndoLog - redrawAll -} - - -#****f* editor.tcl/selectNode -# NAME -# selectNode -- select node -# SYNOPSIS -# selectNode $c $obj -# FUNCTION -# Crates the selecting box around the specified canvas -# object. -# INPUTS -# * c -- tk canvas -# * obj -- tk canvas object tag id -#**** -proc selectNode { c obj } { - set node [lindex [$c gettags $obj] 1] - if { $node == "" } { return } ;# Boeing: fix occassional error - $c addtag selected withtag "node && $node" - if { [nodeType $node] == "pseudo" } { - set bbox [$c bbox "nodelabel && $node"] - } elseif { [nodeType $node] == "rectangle" } { - $c addtag selected withtag "rectangle && $node" - set bbox [$c bbox "rectangle && $node"] - } elseif { [nodeType $node] == "text" } { - $c addtag selected withtag "text && $node" - set bbox [$c bbox "text && $node"] - } elseif { [nodeType $node] == "oval" } { - $c addtag selected withtag "oval && $node" - set bbox [$c bbox "oval && $node"] - } else { - set bbox [$c bbox "node && $node"] - } - set bx1 [expr {[lindex $bbox 0] - 2}] - set by1 [expr {[lindex $bbox 1] - 2}] - set bx2 [expr {[lindex $bbox 2] + 1}] - set by2 [expr {[lindex $bbox 3] + 1}] - $c delete -withtags "selectmark && $node" - $c create line $bx1 $by1 $bx2 $by1 $bx2 $by2 $bx1 $by2 $bx1 $by1 \ - -dash {6 4} -fill black -width 1 -tags "selectmark $node" -} - -proc selectNodes { nodelist } { - foreach node $nodelist { - selectNode .c [.c find withtag "node && $node"] - } -} - -proc selectedNodes {} { - set selected {} - foreach obj [.c find withtag "node && selected"] { - lappend selected [lindex [.c gettags $obj] 1] - } - foreach obj [.c find withtag "oval && selected"] { - lappend selected [lindex [.c gettags $obj] 1] - } - foreach obj [.c find withtag "rectangle && selected"] { - lappend selected [lindex [.c gettags $obj] 1] - } - foreach obj [.c find withtag "text && selected"] { - lappend selected [lindex [.c gettags $obj] 1] - } - return $selected -} - -proc selectedRealNodes {} { - set selected {} - foreach obj [.c find withtag "node && selected"] { - set node [lindex [.c gettags $obj] 1] - if { [getNodeMirror $node] != "" || - [nodeType $node] == "rj45" } { - continue - } - lappend selected $node - } - return $selected -} - -proc selectAdjacent {} { - global curcanvas - - set selected [selectedNodes] - set adjacent {} - foreach node $selected { - foreach ifc [ifcList $node] { - set peer [peerByIfc $node $ifc] - if { [getNodeMirror $peer] != "" } { - return - } - if { [lsearch $adjacent $peer] < 0 } { - lappend adjacent $peer - } - } - } - selectNodes $adjacent -} - -#****f* editor.tcl/button3link -# NAME -# button3link -# SYNOPSIS -# button3link $c $x $y -# FUNCTION -# This procedure is called when a right mouse button is -# clicked on the canvas. If there is a link on the place of -# mouse click this procedure creates and configures a popup -# menu. The options in the menu are: -# * Configure -- configure the link -# * Delete -- delete the link -# * Split -- split the link -# * Merge -- this option is active only if the link is previously -# been split, by this action the link is merged. -# INPUTS -# * c -- tk canvas -# * x -- x coordinate for popup menu -# * y -- y coordinate for popup menu -#**** -proc button3link { c x y } { - global oper_mode env eid canvas_list node_list - global curcanvas - - set link [lindex [$c gettags {link && current}] 1] - if { $link == "" } { - set link [lindex [$c gettags {linklabel && current}] 1] - if { $link == "" } { - return - } - } - - .button3menu delete 0 end - - # - # Configure link - # - .button3menu add command -label "Configure" \ - -command "popupConfigDialog $c" - - # - # Delete link - # - if { $oper_mode != "exec" } { - .button3menu add command -label "Delete" \ - -command "removeGUILink $link atomic" - } else { - .button3menu add command -label "Delete" \ - -state disabled - } - - # - # Split link - # - if { $oper_mode != "exec" && [getLinkMirror $link] == "" } { - .button3menu add command -label "Split" \ - -command "splitGUILink $link" - } else { - .button3menu add command -label "Split" \ - -state disabled - } - - # - # Merge two pseudo nodes / links - # - if { $oper_mode != "exec" && [getLinkMirror $link] != "" && - [getNodeCanvas [getNodeMirror [lindex [linkPeers $link] 1]]] == - $curcanvas } { - .button3menu add command -label "Merge" \ - -command "mergeGUINode [lindex [linkPeers $link] 1]" - } else { - .button3menu add command -label "Merge" -state disabled - } - - set x [winfo pointerx .] - set y [winfo pointery .] - tk_popup .button3menu $x $y -} - - -#****f* editor.tcl/movetoCanvas -# NAME -# movetoCanvas -- move to canvas -# SYNOPSIS -# movetoCanvas $canvas -# FUNCTION -# This procedure moves all the nodes selected in the GUI to -# the specified canvas. -# INPUTS -# * canvas -- canvas id. -#**** -proc movetoCanvas { canvas } { - global changed - - set selected_nodes [selectedNodes] - foreach node $selected_nodes { - setNodeCanvas $node $canvas - set changed 1 - } - foreach obj [.c find withtag "linklabel"] { - set link [lindex [.c gettags $obj] 1] - set link_peers [linkPeers $link] - set peer1 [lindex $link_peers 0] - set peer2 [lindex $link_peers 1] - set peer1_in_selected [lsearch $selected_nodes $peer1] - set peer2_in_selected [lsearch $selected_nodes $peer2] - if { ($peer1_in_selected == -1 && $peer2_in_selected != -1) || - ($peer1_in_selected != -1 && $peer2_in_selected == -1) } { - if { [nodeType $peer2] == "pseudo" } { - setNodeCanvas $peer2 $canvas - if { [getNodeCanvas [getNodeMirror $peer2]] == $canvas } { - mergeLink $link - } - continue - } - set new_nodes [splitLink $link pseudo] - set new_node1 [lindex $new_nodes 0] - set new_node2 [lindex $new_nodes 1] - setNodeMirror $new_node1 $new_node2 - setNodeMirror $new_node2 $new_node1 - setNodeName $new_node1 $peer2 - setNodeName $new_node2 $peer1 - set link1 [linkByPeers $peer1 $new_node1] - set link2 [linkByPeers $peer2 $new_node2] - setLinkMirror $link1 $link2 - setLinkMirror $link2 $link1 - } - } - updateUndoLog - redrawAll -} - - -#****f* editor.tcl/mergeGUINode -# NAME -# mergeGUINode -- merge GUI node -# SYNOPSIS -# mergeGUINode $node -# FUNCTION -# This procedure removes the specified pseudo node as well -# as it's mirror copy. Also this procedure removes the -# pseudo links and reestablish the original link between -# the non-pseudo nodes. -# INPUTS -# * node -- node id of a pseudo node. -#**** -proc mergeGUINode { node } { - set link [lindex [linkByIfc $node [ifcList $node]] 0] - mergeLink $link - redrawAll -} - - -#****f* editor.tcl/button3node -# NAME -# button3node -# SYNOPSIS -# button3node $c $x $y -# FUNCTION -# This procedure is called when a right mouse button is -# clicked on the canvas. Also called when double-clicking -# on a node during runtime. -# If there is a node on the place of -# mouse click this procedure creates and configures a popup -# menu. The options in the menu are: -# * Configure -- configure the node -# * Create link to -- create a link to any available node, -# it can be on the same canvas or on a different canvas. -# * Move to -- move to some other canvas -# * Merge -- this option is available only for pseudo nodes -# that have mirror nodes on the same canvas (Pseudo nodes -# created by splitting a link). -# * Delete -- delete the node -# * Shell window -- specifies the shell window to open in -# exec mode. This option is available only to nodes on a -# network layer -# * Ethereal -- opens a Ethereal program for the specified -# node and the specified interface. This option is available -# only for network layer nodes in exec mode. -# INPUTS -# * c -- tk canvas -# * x -- x coordinate for popup menu -# * y -- y coordinate for popup menu -#**** -#old proc button3node { c x y } -#Boeing -proc button3node { c x y button } { - global oper_mode env eid canvas_list node_list curcanvas systype g_prefs - - set node [lindex [$c gettags {node && current}] 1] - if { $node == "" } { - set node [lindex [$c gettags {nodelabel && current}] 1] - if { $node == "" } { - return - } - } - set mirror_node [getNodeMirror $node] - - if { [$c gettags "node && $node && selected"] == "" } { - $c dtag node selected - $c delete -withtags selectmark - selectNode $c [$c find withtag "current"] - } - - # open up shells upon double-click or shift/ctrl-click - set shell $g_prefs(shell) - if { $button == "shift" || $button == "ctrl" } { - if { [nodeType $node] == "pseudo" } { - # - # Hyperlink to another canvas - # - set curcanvas [getNodeCanvas [getNodeMirror $node]] - switchCanvas none - return - } - # only open bash shells for NETWORK nodes and remote routers - if { [[typemodel $node].layer] != "NETWORK" } { - if { [typemodel $node] == "wlan" } { - wlanDoubleClick $node $button - } - return - } - if { $button == "shift" } { ;# normal bash shell - spawnShell $node $shell - } else { ;# right-click vtysh shell - set cmd [[typemodel $node].shellcmd $node] - if { $cmd != "/bin/sh" && $cmd != "" } { spawnShell $node $cmd } - } - return ;# open shell, don't post a menu - } - - # - # below here we build and post a menu - # - .button3menu delete 0 end - - # - # Configure node - # - if { [nodeType $node] != "pseudo" } { - .button3menu add command -label "Configure" \ - -command "popupConfigDialog $c" - } else { - .button3menu add command -label "Configure" \ - -command "popupConfigDialog $c" -state disabled - } - - # - # Select adjacent - # - if { [nodeType $node] != "pseudo" } { - .button3menu add command -label "Select adjacent" \ - -command "selectAdjacent" - } else { - .button3menu add command -label "Select adjacent" \ - -command "selectAdjacent" -state disabled - } - - # - # Create a new link - can be between different canvases - # - .button3menu.connect delete 0 end - if { $oper_mode == "exec" || [nodeType $node] == "pseudo" } { - #.button3menu add cascade -label "Create link to" \ - -menu .button3menu.connect -state disabled - } else { - .button3menu add cascade -label "Create link to" \ - -menu .button3menu.connect - } - destroy .button3menu.connect.selected - menu .button3menu.connect.selected -tearoff 0 - .button3menu.connect add cascade -label "Selected" \ - -menu .button3menu.connect.selected - .button3menu.connect.selected add command \ - -label "Chain" -command "P \[selectedRealNodes\]" - .button3menu.connect.selected add command \ - -label "Star" \ - -command "Kb \[lindex \[selectedRealNodes\] 0\] \ - \[lrange \[selectedNodes\] 1 end\]" - .button3menu.connect.selected add command \ - -label "Cycle" -command "C \[selectedRealNodes\]" - .button3menu.connect.selected add command \ - -label "Clique" -command "K \[selectedRealNodes\]" - .button3menu.connect add separator - foreach canvas $canvas_list { - destroy .button3menu.connect.$canvas - menu .button3menu.connect.$canvas -tearoff 0 - .button3menu.connect add cascade -label [getCanvasName $canvas] \ - -menu .button3menu.connect.$canvas - } - foreach peer_node $node_list { - set canvas [getNodeCanvas $peer_node] - if { $node != $peer_node && [nodeType $node] != "rj45" && - [lsearch {pseudo rj45} [nodeType $peer_node]] < 0 && - [ifcByLogicalPeer $node $peer_node] == "" } { - .button3menu.connect.$canvas add command \ - -label [getNodeName $peer_node] \ - -command "newGUILink $node $peer_node" - } elseif { [nodeType $peer_node] != "pseudo" } { - .button3menu.connect.$canvas add command \ - -label [getNodeName $peer_node] \ - -state disabled - } - } - # - # assign to emulation server - # - if { $oper_mode != "exec" } { - global exec_servers node_location - .button3menu.assign delete 0 end - .button3menu add cascade -label "Assign to" -menu .button3menu.assign - .button3menu.assign add command -label "(none)" \ - -command "assignSelection \"\"" - foreach server [lsort -dictionary [array names exec_servers]] { - .button3menu.assign add command -label "$server" \ - -command "assignSelection $server" - } - } - - # - # wlan link to all nodes - # - if { [nodeType $node] == "wlan" } { - .button3menu add command -label "Link to all routers" \ - -command "linkAllNodes $node" - set msg "Select new WLAN $node members:" - set cmd "linkSelectedNodes $node" - .button3menu add command -label "Select WLAN members..." \ - -command "popupSelectNodes \"$msg\" \"\" {$cmd}" - set state normal - if { $oper_mode != "exec" } { set state disabled } - .button3menu add command -label "Mobility script..." \ - -command "showMobilityScriptPopup $node" -state $state - } - - # - # Move to another canvas - # - .button3menu.moveto delete 0 end - if { $oper_mode != "exec" && [nodeType $node] != "pseudo" } { - .button3menu add cascade -label "Move to" \ - -menu .button3menu.moveto - .button3menu.moveto add command -label "Canvas:" -state disabled - foreach canvas $canvas_list { - if { $canvas != $curcanvas } { - .button3menu.moveto add command \ - -label [getCanvasName $canvas] \ - -command "movetoCanvas $canvas" - } else { - .button3menu.moveto add command \ - -label [getCanvasName $canvas] -state disabled - } - } - } - - # - # Merge two pseudo nodes / links - # - if { $oper_mode != "exec" && [nodeType $node] == "pseudo" && \ - [getNodeCanvas $mirror_node] == $curcanvas } { - .button3menu add command -label "Merge" \ - -command "mergeGUINode $node" - } - - # - # Delete selection - # - if { $oper_mode != "exec" } { - .button3menu add command -label "Cut" -command cutSelection - .button3menu add command -label "Copy" -command copySelection - .button3menu add command -label "Paste" -command pasteSelection - .button3menu add command -label "Delete" -command deleteSelection - } - - .button3menu add command -label "Hide" -command "hideSelected" - - # Boeing: flag used below - set execstate disabled - if { $oper_mode == "exec" } { set execstate normal } - - # - # Shell selection - # - .button3menu.shell delete 0 end - if { $oper_mode == "exec" && [[typemodel $node].layer] == "NETWORK" } { - .button3menu add cascade -label "Shell window" \ - -menu .button3menu.shell - set cmd [[typemodel $node].shellcmd $node] - if { $cmd != "/bin/sh" && $cmd != "" } { ;# typically adds vtysh - .button3menu.shell add command -label "$cmd" \ - -command "spawnShell $node $cmd" - } - .button3menu.shell add command -label "/bin/sh" \ - -command "spawnShell $node sh" - .button3menu.shell add command -label "$shell" \ - -command "spawnShell $node $shell" - } - - # - # services - # - .button3menu.services delete 0 end - if { $oper_mode == "exec" && [[typemodel $node].layer] == "NETWORK" } { - addServicesRightClickMenu .button3menu $node - } else { - .button3menu add command -label "Services..." -command \ - "sendConfRequestMessage -1 $node services 0x1 -1 \"\"" - } - - # - # Tcpdump, gpsd - # - if { $oper_mode == "exec" && [[typemodel $node].layer] == "NETWORK" } { - addInterfaceCommand $node .button3menu "Tcpdump" "tcpdump -n -l -i" \ - $execstate 1 - addInterfaceCommand $node .button3menu "TShark" "tshark -n -l -i" \ - $execstate 1 - addInterfaceCommand $node .button3menu "Wireshark" "wireshark -k -i" \ - $execstate 0 - # wireshark on host veth pair -- need veth pair name - #wireshark -k -i - if { [lindex $systype 0] == "Linux" } { - set name [getNodeName $node] - .button3menu add command -label "View log..." -state $execstate \ - -command "spawnShell $node \"less ../$name.log\"" - } - } - - # - # Finally post the popup menu on current pointer position - # - set x [winfo pointerx .] - set y [winfo pointery .] - - tk_popup .button3menu $x $y -} - - -#****f* editor.tcl/spawnShell -# NAME -# spawnShell -- spawn shell -# SYNOPSIS -# spawnShell $node $cmd -# FUNCTION -# This procedure spawns a new shell for a specified node. -# The shell is specified in cmd parameter. -# INPUTS -# * node -- node id of the node for which the shell -# is spawned. -# * cmd -- the path to the shell. -#**** -proc spawnShell { node cmd } { - # request an interactive terminal - set sock [lindex [getEmulPlugin $node] 2] - set flags 0x44 ;# set TTY, critical flags - set exec_num [newExecCallbackRequest shell] - sendExecMessage $sock $node $cmd $exec_num $flags -} - -# add a sub-menu to the parentmenu with the given command for each interface -proc addInterfaceCommand { node parentmenu txt cmd state isnodecmd } { - global g_current_session - set childmenu "$parentmenu.[lindex $cmd 0]" - $childmenu delete 0 end - $parentmenu add cascade -label $txt -menu $childmenu -state $state - if { ! $isnodecmd } { - if { $g_current_session == 0 } { set state disabled } - set ssid [shortSessionID $g_current_session] - } - foreach ifc [ifcList $node] { - set addr [lindex [getIfcIPv4addr $node $ifc] 0] - if { $addr != "" } { set addr " ($addr)" } - if { $isnodecmd } { ;# run command in a node - set icmd "spawnShell $node \"$cmd $ifc\"" - } else { ;# exec a command directly - set node_num [string range $node 1 end] - set hex [format "%x" $node_num] - set ifnum [string range $ifc 3 end] - set ifname "veth$hex\\.$ifnum\\.$ssid" - set icmd "exec $cmd $ifname &" - } - $childmenu add command -label "$ifc$addr" -state $state -command $icmd - } -} - -# Boeing: consolodate various raise statements here -proc raiseAll {c} { - $c raise rectangle background - $c raise oval "rectangle || background" - $c raise grid "oval || rectangle || background" - $c raise link "grid || oval || rectangle || background" - $c raise linklabel "link || grid || oval || rectangle || background" - $c raise newlink "linklabel || link || grid || oval || rectangle || background" - $c raise wlanlink "newlink || linklabel || link || grid || oval || rectangle || background" - $c raise antenna "wlanlink || newlink || linklabel || link || grid || oval || rectangle || background" - $c raise interface "antenna || wlanlink || newlink || linklabel || link || grid || oval || rectangle || background" - $c raise node "interface || antenna || wlanlink || newlink || linklabel || link || grid || oval || rectangle || background" - $c raise nodelabel "node || interface || antenna || wlanlink || newlink || linklabel || link || grid || oval || rectangle || background" - $c raise text "nodelabel || node || interface || antenna || wlanlink || newlink || linklabel || link || grid || oval || rectangle || background" - $c raise -cursor -} -# end Boeing - - -#****f* editor.tcl/button1 -# NAME -# button1 -# SYNOPSIS -# button1 $c $x $y $button -# FUNCTION -# This procedure is called when a left mouse button is -# clicked on the canvas. This procedure selects a new -# node or creates a new node, depending on the selected -# tool. -# INPUTS -# * c -- tk canvas -# * x -- x coordinate -# * y -- y coordinate -# * button -- the keyboard button that is pressed. -#**** -proc button1 { c x y button } { - global node_list plot_list curcanvas zoom - global activetool activetoolp newlink curobj changed def_router_model - global router pc host lanswitch rj45 hub - global oval rectangle text - global lastX lastY - global background selectbox - global defLinkColor defLinkWidth - global resizemode resizeobj - global wlan g_twoNodeSelect - global g_view_locked - - set x [$c canvasx $x] - set y [$c canvasy $y] - - set lastX $x - set lastY $y - - # TODO: clean this up - # - too many global variables - # - too many hardcoded cases (lanswitch, router, etc) - # - should be functionalized since lengthy if-else difficult to read - - set curobj [$c find withtag current] - set curtype [lindex [$c gettags current] 0] - - - if { $curtype == "node" || \ - $curtype == "oval" || $curtype == "rectangle" || $curtype == "text" \ - || ( $curtype == "nodelabel" && \ - [nodeType [lindex [$c gettags $curobj] 1]] == "pseudo") } { - set node [lindex [$c gettags current] 1] - set wasselected \ - [expr {[lsearch [$c find withtag "selected"] \ - [$c find withtag "node && $node"]] > -1}] - if { $button == "ctrl" } { - if { $wasselected } { - $c dtag $node selected - $c delete -withtags "selectmark && $node" - } - } elseif { !$wasselected } { - $c dtag node selected - $c delete -withtags selectmark - } - if { $activetool == "select" && !$wasselected} { - selectNode $c $curobj - } - } elseif { $curtype == "selectmark" } { - setResizeMode $c $x $y - } elseif { $activetool == "plot" } { - # plot tool: create new plot windows when clicking on a link - set link "" - set tags [$c gettags $curobj] - if { $curtype == "link" || $curtype == "linklabel" } { - set link [lindex $tags 1] - } elseif { $curtype == "interface" } { - set link [lindex $tags 2] - } - if { $link != "" } { - thruPlot $c $link $x $y 150 220 false - } - return - } elseif { $button != "ctrl" || $activetool != "select" } { - $c dtag node selected - $c delete -withtags selectmark - } - # user has clicked on a blank area or background item - if { [lsearch [.c gettags $curobj] background] != -1 || - [lsearch [.c gettags $curobj] grid] != -1 || - [lsearch [.c gettags $curobj] annotation] != -1 } { - # left mouse button pressed to create a new node - if { [lsearch {select marker link mobility twonode run stop oval \ - rectangle text} $activetool] < 0 } { - if { $g_view_locked == 1 } { return } - if { $activetoolp == "routers" } { - set node [newNode router] - setNodeModel $node $activetool - } else { - set node [newNode $activetool] - } - setNodeCanvas $node $curcanvas - setNodeCoords $node "[expr {$x / $zoom}] [expr {$y / $zoom}]" - lassign [getDefaultLabelOffsets $activetool] dx dy - setNodeLabelCoords $node "[expr {$x / $zoom + $dx}] \ - [expr {$y / $zoom + $dy}]" - drawNode $c $node - selectNode $c [$c find withtag "node && $node"] - set changed 1 - # remove any existing select box - } elseif { $activetool == "select" \ - && $curtype != "node" && $curtype != "nodelabel"} { - $c config -cursor cross - set lastX $x - set lastY $y - if {$selectbox != ""} { - # We actually shouldn't get here! - $c delete $selectbox - set selectbox "" - } - # begin drawing an annotation - } elseif { $activetoolp == "bgobjs" } { - set newcursor cross - if { $activetool == "text" } { set newcursor xterm } - $c config -cursor $newcursor - set lastX $x - set lastY $y - # draw with the marker - } elseif { $activetool == "marker" } { - global markersize markercolor - set newline [$c create oval $lastX $lastY $x $y \ - -width $markersize -outline $markercolor -tags "marker"] - $c raise $newline "background || link || linklabel || interface" - set lastX $x - set lastY $y - } - } else { - if {$curtype == "node" || $curtype == "nodelabel"} { - $c config -cursor fleur - } - if {$activetool == "link" && $curtype == "node"} { - $c config -cursor cross - set lastX [lindex [$c coords $curobj] 0] - set lastY [lindex [$c coords $curobj] 1] - set newlink [$c create line $lastX $lastY $x $y \ - -fill $defLinkColor -width $defLinkWidth \ - -tags "link"] - # twonode tool support - } elseif {$g_twoNodeSelect != "" && $curtype == "node"} { - set curnode [lindex [$c gettags $curobj] 1] - selectTwoNode $curnode - } elseif { $curtype == "node" } { - selectNode $c $curobj - } - # end Boeing - } - - raiseAll $c -} - -proc setResizeMode { c x y } { - set isThruplot false - set type1 notset - - if {$c == ".c"} { - set t1 [$c gettags current] - set o1 [lindex $t1 1] - set type1 [nodeType $o1] - } else { - set o1 $c - set c .c - set isThruplot true - } - #DYL - #puts "RESIZE NODETYPE = $type1" - global resizemode resizeobj - if {$type1== "oval" || $type1== "rectangle" || $isThruplot == true} { - set resizeobj $o1 - set bbox1 [$c bbox $o1] - set x1 [lindex $bbox1 0] - set y1 [lindex $bbox1 1] - set x2 [lindex $bbox1 2] - set y2 [lindex $bbox1 3] - set l 0 ;# left - set r 0 ;# right - set u 0 ;# up - set d 0 ;# down - - if { $x < [expr $x1+($x2-$x1)/8.0]} { set l 1 } - if { $x > [expr $x2-($x2-$x1)/8.0]} { set r 1 } - if { $y < [expr $y1+($y2-$y1)/8.0]} { set u 1 } - if { $y > [expr $y2-($y2-$y1)/8.0]} { set d 1 } - - if {$l==1} { - if {$u==1} { - set resizemode lu - } elseif {$d==1} { - set resizemode ld - } else { - set resizemode l - } - } elseif {$r==1} { - if {$u==1} { - set resizemode ru - } elseif {$d==1} { - set resizemode rd - } else { - set resizemode r - } - } elseif {$u==1} { - set resizemode u - } elseif {$d==1} { - set resizemode d - } else { - set resizemode false - } - } -} - - -#****f* editor.tcl/button1-motion -# NAME -# button1-motion -# SYNOPSIS -# button1-motion $c $x $y -# FUNCTION -# This procedure is called when a left mouse button is -# pressed and the mouse is moved around the canvas. -# This procedure creates new select box, moves the -# selected nodes or draws a new link. -# INPUTS -# * c -- tk canvas -# * x -- x coordinate -# * y -- y coordinate -#**** -proc button1-motion { c x y } { - global activetool newlink changed - global lastX lastY sizex sizey selectbox background - global oper_mode newoval newrect resizemode - global zoom - global g_view_locked - global thruPlotCur thruPlotDragStart - - set x [$c canvasx $x] - set y [$c canvasy $y] - - if {$thruPlotDragStart == "dragging"} { - #puts "active tool is $activetool" - thruPlotDrag $c $thruPlotCur $x $y null true - return - } - - # fix occasional error - if { $x == "" || $y == "" || $lastX == "" || $lastY == "" } { return } - - set curobj [$c find withtag current] - set curtype [lindex [$c gettags current] 0] - - # display coordinates in the status bar - set zoomx [expr {$x / $zoom}] - set zoomy [expr {$y / $zoom}] - .bottom.textbox config -text "<$zoomx, $zoomy>" - - # prevent dragging outside of the canvas area - if { $x < 0 } { - set x 0 - } elseif { $x > $sizex } { - set x $sizex - } - if { $y < 0 } { - set y 0 - } elseif { $y > $sizey } { - set y $sizey - } - - # marker tool drawing on the canvas - if { $activetool == "marker" } { - global markersize markercolor - set dx [expr {$x-$lastX} ] - set dy [expr {$y-$lastY} ] - # this provides smoother drawing - if { $dx > $markersize || $dy > $markersize } { - set mark [$c create line $lastX $lastY $x $y \ - -width $markersize -fill $markercolor -tags "marker"] - $c raise $mark \ - "marker || background || link || linklabel || interface" - } - set mark [$c create oval $x $y $x $y \ - -width $markersize -fill $markercolor \ - -outline $markercolor -tags "marker"] - $c raise $mark "marker || background || link || linklabel || interface" - set lastX $x - set lastY $y - return - } - # disable all other mouse drags in locked mode - if { $g_view_locked == 1 } { return } - - # don't move nodelabels in exec mode, use calcx,y instead of x,y - if {$oper_mode == "exec" && $curtype == "nodelabel" } { - set node [lindex [$c gettags $curobj] 1] - set curobj [$c find withtag "node && $node"] - set curtype "node" - set coords [$c coords $curobj] - set calcx [expr {[lindex $coords 0] / $zoom}] - set calcy [expr {[lindex $coords 1] / $zoom}] - selectNode $c $curobj - } else { - set calcx $x - set calcy $y - } - # drawing a new link - if {$activetool == "link" && $newlink != ""} { - $c coords $newlink $lastX $lastY $x $y - # draw a selection box - } elseif { $activetool == "select" && \ - ( $curobj == $selectbox || $curtype == "background" || $curtype == "grid")} { - if {$selectbox == ""} { - set selectbox [$c create line \ - $lastX $lastY $x $lastY $x $y $lastX $y $lastX $lastY \ - -dash {10 4} -fill black -width 1 -tags "selectbox"] - $c raise $selectbox "background || link || linklabel || interface" - } else { - $c coords $selectbox \ - $lastX $lastY $x $lastY $x $y $lastX $y $lastX $lastY - } - # move a text annotation - } elseif { $activetool == "select" && $curtype == "text" } { - $c move $curobj [expr {$x - $lastX}] [expr {$y - $lastY}] - set changed 1 - set lastX $x - set lastY $y - $c delete [$c find withtag "selectmark"] - # move a nodelabel apart from a node (edit mode only) - } elseif { $activetool == "select" && $curtype == "nodelabel" \ - && [nodeType [lindex [$c gettags $curobj] 1]] != "pseudo" } { - $c move $curobj [expr {$x - $lastX}] [expr {$y - $lastY}] - set changed 1 - set lastX $x - set lastY $y - # actually we should check if curobj==bkgImage - # annotations - } elseif { $activetool == "oval" && \ - ( $curobj == $newoval || $curobj == $background || $curtype == "background" || $curtype == "grid")} { - # Draw a new oval - if {$newoval == ""} { - set newoval [$c create oval $lastX $lastY $x $y \ - -dash {10 4} -width 1 -tags "newoval"] - $c raise $newoval "background || link || linklabel || interface" - } else { - $c coords $newoval \ - $lastX $lastY $x $y - } - # actually we should check if curobj==bkgImage - } elseif { $activetool == "rectangle" && \ - ( $curobj == $newrect || $curobj == $background || $curtype == "background" || $curtype == "grid")} { - # Draw a new rectangle - if {$newrect == ""} { - set newrect [$c create rectangle $lastX $lastY $x $y \ - -outline blue \ - -dash {10 4} -width 1 -tags "newrect"] - $c raise $newrect "oval || background || link || linklabel || interface" - } else { - $c coords $newrect $lastX $lastY $x $y - } - # resizing an annotation - } elseif { $curtype == "selectmark" } { - foreach o [$c find withtag "selected"] { - set node [lindex [$c gettags $o] 1] - set tagovi [$c gettags $o] - set koord [getNodeCoords $node] - - set oldX1 [lindex $koord 0] - set oldY1 [lindex $koord 1] - set oldX2 [lindex $koord 2] - set oldY2 [lindex $koord 3] - switch -exact -- $resizemode { - lu { - set oldX1 $x - set oldY1 $y - } - ld { - set oldX1 $x - set oldY2 $y - } - l { - set oldX1 $x - } - ru { - set oldX2 $x - set oldY1 $y - } - rd { - set oldX2 $x - set oldY2 $y - } - r { - set oldX2 $x - } - u { - set oldY1 $y - } - d { - set oldY2 $y - } - } - if {$selectbox == ""} { - # Boeing: fix "bad screen distance" error - if { $oldX1 == "" || $oldX2 == "" || $oldY1 == "" || \ - $oldY2 == "" } { return } - # end Boeing - set selectbox [$c create line \ - $oldX1 $oldY1 $oldX2 $oldY1 $oldX2 $oldY2 $oldX1 \ - $oldY2 $oldX1 $oldY1 \ - -dash {10 4} -fill black -width 1 -tags "selectbox"] - $c raise $selectbox \ - "background || link || linklabel || interface" - } else { - $c coords $selectbox \ - $oldX1 $oldY1 $oldX2 $oldY1 $oldX2 $oldY2 $oldX1 \ - $oldY2 $oldX1 $oldY1 - } - } - # selected node(s) are being moved - } else { - foreach img [$c find withtag "selected"] { - set node [lindex [$c gettags $img] 1] - set newcoords [$c coords $img] ;# different than getNodeCoords - set img [$c find withtag "selectmark && $node"] - if {$curtype == "oval" || $curtype == "rectangle"} { - $c move $img [expr {($x - $lastX) / 2}] \ - [expr {($y - $lastY) / 2}] - } else { - $c move $img [expr {$x - $lastX}] [expr {$y - $lastY}] - set img [$c find withtag "node && $node"] - $c move $img [expr {$x - $lastX}] [expr {$y - $lastY}] - set img [$c find withtag "nodelabel && $node"] - $c move $img [expr {$x - $lastX}] [expr {$y - $lastY}] - set img [$c find withtag "twonode && $node"] - if {$img != "" } {; # move Two Node Tool circles around node - $c move $img [expr {$x - $lastX}] [expr {$y - $lastY}] - }; - set img [$c find withtag "rangecircles && $node"] - if {$img != "" } {; # move throughput circles around node - $c move $img [expr {$x - $lastX}] [expr {$y - $lastY}] - }; - $c addtag need_redraw withtag "link && $node" - } - if { $oper_mode == "exec" } { - set newx [expr {[lindex $newcoords 0] / $zoom}] - set newy [expr {[lindex $newcoords 1] / $zoom}] - sendNodePosMessage -1 $node -1 $newx $newy -1 0 - } - $c addtag need_redraw withtag "wlanlink && $node" - widgets_move_node $c $node 0 - } - foreach link [$c find withtag "link && need_redraw"] { - redrawLink [lindex [$c gettags $link] 1] - } - foreach wlanlink [$c find withtag "wlanlink && need_redraw"] { - redrawWlanLink $wlanlink - } - $c dtag wlanlink need_redraw - $c dtag link need_redraw - set changed 1 - set lastX $x - set lastY $y - } -} - - -#****f* editor.tcl/pseudo.layer -# NAME -# pseudo.layer -# SYNOPSIS -# set layer [pseudo.layer] -# FUNCTION -# Returns the layer on which the pseudo node operates -# i.e. returns no layer. -# RESULT -# * layer -- returns an empty string -#**** -proc pseudo.layer {} { -} - - -#****f* editor.tcl/newGUILink -# NAME -# newGUILink -- new GUI link -# SYNOPSIS -# newGUILink $lnode1 $lnode2 -# FUNCTION -# This procedure is called to create a new link between -# nodes lnode1 and lnode2. Nodes can be on the same canvas -# or on different canvases. The result of this function -# is directly visible in GUI. -# INPUTS -# * lnode1 -- node id of the first node -# * lnode2 -- node id of the second node -#**** -proc newGUILink { lnode1 lnode2 } { - global changed - - set link [newLink $lnode1 $lnode2] - if { $link == "" } { - return - } - if { [getNodeCanvas $lnode1] != [getNodeCanvas $lnode2] } { - set new_nodes [splitLink $link pseudo] - set orig_nodes [linkPeers $link] - set new_node1 [lindex $new_nodes 0] - set new_node2 [lindex $new_nodes 1] - set orig_node1 [lindex $orig_nodes 0] - set orig_node2 [lindex $orig_nodes 1] - set new_link1 [linkByPeers $orig_node1 $new_node1] - set new_link2 [linkByPeers $orig_node2 $new_node2] - setNodeMirror $new_node1 $new_node2 - setNodeMirror $new_node2 $new_node1 - setNodeName $new_node1 $orig_node2 - setNodeName $new_node2 $orig_node1 - setLinkMirror $new_link1 $new_link2 - setLinkMirror $new_link2 $new_link1 - } - redrawAll - set changed 1 - updateUndoLog -} - - -#****f* editor.tcl/button1-release -# NAME -# button1-release -# SYNOPSIS -# button1-release $c $x $y -# FUNCTION -# This procedure is called when a left mouse button is -# released. -# The result of this function depends on the actions -# during the button1-motion procedure. -# INPUTS -# * c -- tk canvas -# * x -- x coordinate -# * y -- y coordinate -#**** -proc button1-release { c x y } { - global node_list plot_list activetool newlink curobj grid - global changed undolog undolevel redolevel selectbox - global lastX lastY sizex sizey zoom - global autorearrange_enabled - global resizemode resizeobj - set redrawNeeded 0 - global oper_mode - global g_prefs - global g_view_locked - - set x [$c canvasx $x] - set y [$c canvasy $y] - - $c config -cursor left_ptr - # place a new link between items - if {$activetool == "link" && $newlink != ""} { - if { $g_view_locked == 1 } { return } - $c delete $newlink - set newlink "" - set destobj "" - foreach obj [$c find overlapping $x $y $x $y] { - if {[lindex [$c gettags $obj] 0] == "node"} { - set destobj $obj - break - } - } - if {$destobj != "" && $curobj != "" && $destobj != $curobj} { - set lnode1 [lindex [$c gettags $curobj] 1] - set lnode2 [lindex [$c gettags $destobj] 1] - if { [ifcByLogicalPeer $lnode1 $lnode2] == "" } { - set link [newLink $lnode1 $lnode2] - if { $link != "" } { - drawLink $link - redrawLink $link - updateLinkLabel $link - set changed 1 - } - } - } - # annotations - } elseif {$activetool == "rectangle" || $activetool == "oval" } { - if { $g_view_locked == 1 } { return } - popupAnnotationDialog $c 0 "false" - # edit text annotation - } elseif {$activetool == "text" } { - if { $g_view_locked == 1 } { return } - textEnter $c $x $y - } - - if { $changed == 1 } { - set regular true - if { [lindex [$c gettags $curobj] 0] == "nodelabel" } { - set node [lindex [$c gettags $curobj] 1] - selectNode $c [$c find withtag "node && $node"] - } - set selected {} - foreach img [$c find withtag "selected"] { - set node [lindex [$c gettags $img] 1] - lappend selected $node - set coords [$c coords $img] - set x [expr {[lindex $coords 0] / $zoom}] - set y [expr {[lindex $coords 1] / $zoom}] - if { $autorearrange_enabled == 0 && $g_prefs(gui_snap_grid)} { - set dx [expr {(int($x / $grid + 0.5) * $grid - $x) * $zoom}] - set dy [expr {(int($y / $grid + 0.5) * $grid - $y) * $zoom}] - $c move $img $dx $dy - set coords [$c coords $img] - set x [expr {[lindex $coords 0] / $zoom}] - set y [expr {[lindex $coords 1] / $zoom}] - } else { - set dx 0 - set dy 0 - } - if {$x < 0 || $y < 0 || $x > $sizex || $y > $sizey} { - set regular false - } - # nodes with four coordinates - if { [lindex [$c gettags $node] 0] == "oval" || - [lindex [$c gettags $node] 0] == "rectangle" } { - set bbox [$c bbox "selectmark && $node"] - # Boeing: bbox causes annotations to grow, subtract 5 - if { [llength $bbox] > 3 } { - set x1 [lindex $bbox 0] - set y1 [lindex $bbox 1] - set x2 [expr {[lindex $bbox 2] - 5}] - set y2 [expr {[lindex $bbox 3] - 5}] - setNodeCoords $node "$x1 $y1 $x2 $y2" - set redrawNeeded 1 - if {$x1 < 0 || $y1 < 0 || $x1 > $sizex || $y1 > $sizey || \ - $x2 < 0 || $y2 < 0 || $x2 > $sizex || $y2 > $sizey} { - set regular false - } - } - # nodes with two coordinates - } else { - setNodeCoords $node "$x $y" - } - if {[$c find withtag "nodelabel && $node"] != "" } { - $c move "nodelabel && $node" $dx $dy - set coords [$c coords "nodelabel && $node"] - set x [expr {[lindex $coords 0] / $zoom}] - set y [expr {[lindex $coords 1] / $zoom}] - setNodeLabelCoords $node "$x $y" - if {$x < 0 || $y < 0 || $x > $sizex || $y > $sizey} { - set regular false - } - } - $c move "selectmark && $node" $dx $dy - $c addtag need_redraw withtag "link && $node" - set changed 1 - if { $oper_mode == "exec" } { - # send node position update using x,y stored in node - set xy [getNodeCoords $node] ;# read new coordinates - sendNodePosMessage -1 $node -1 [lindex $xy 0] [lindex $xy 1] \ - -1 0 - widgets_move_node $c $node 1 - } - $c addtag need_redraw withtag "wlanlink && $node" - } ;# end of: foreach img selected - if {$regular == "true"} { - # user has dragged something within the canvas boundaries - foreach link [$c find withtag "link && need_redraw"] { - redrawLink [lindex [$c gettags $link] 1] - } - } else { - # user has dragged something beyond the canvas boundaries - .c config -cursor watch - loadCfg $undolog($undolevel) - redrawAll - if {$activetool == "select" } { - selectNodes $selected - } - set changed 0 - } - $c dtag link need_redraw - nodeEnter $c - - # $changed!=1 - } elseif {$activetool == "select" } { - if {$selectbox == ""} { - set x1 $x - set y1 $y - rearrange_off - } else { - set coords [$c coords $selectbox] - set x [lindex $coords 0] - set y [lindex $coords 1] - set x1 [lindex $coords 4] - set y1 [lindex $coords 5] - $c delete $selectbox - set selectbox "" - } - - if { $resizemode == "false" } { - # select tool mouse button release while drawing select box - set enclosed {} - # fix occasional error - if { $x == "" || $y == "" || $x1 == "" || $y1 == "" } { return } - foreach obj [$c find enclosed $x $y $x1 $y1] { - set tags [$c gettags $obj] - if {[lindex $tags 0] == "node" && [lsearch $tags selected] == -1} { - lappend enclosed $obj - } - if {[lindex $tags 0] == "oval" && [lsearch $tags selected] == -1} { - lappend enclosed $obj - } - if {[lindex $tags 0] == "rectangle" && [lsearch $tags selected] == -1} { - lappend enclosed $obj - } - if {[lindex $tags 0] == "text" && [lsearch $tags selected] == -1} { - lappend enclosed $obj - } - } - foreach obj $enclosed { - selectNode $c $obj - } - } else { - # select tool resizing an object by dragging its handles - # DYL bugfix. if x,y does not change, do not resize! - # fixes a bug where the object dissappears - if { $x != $x1 || $y != $y1 } { - setNodeCoords $resizeobj "$x $y $x1 $y1" - } - set redrawNeeded 1 - set resizemode false - } - } - - if { $redrawNeeded } { - set redrawNeeded 0 - redrawAll - } else { - raiseAll $c - } - update - updateUndoLog -} - - -#****f* editor.tcl/nodeEnter -# NAME -# nodeEnter -# SYNOPSIS -# nodeEnter $c -# FUNCTION -# This procedure prints the node id, node name and -# node model (if exists), as well as all the interfaces -# of the node in the status line. -# Information is presented for the node above which is -# the mouse pointer. -# INPUTS -# * c -- tk canvas -#**** -proc nodeEnter { c } { - global activetool - - set curtags [$c gettags current] - if { [lsearch -exact "node nodelabel" [lindex $curtags 0]] < 0 } { - return ;# allow this proc to be called from button1-release - } - set node [lindex $curtags 1] - set type [nodeType $node] - set name [getNodeName $node] - set model [getNodeModel $node] - if { $model != "" } { - set line "{$node} $name ($model):" - } else { - set line "{$node} $name:" - } - if { $type != "rj45" && $type != "tunnel" } { - foreach ifc [ifcList $node] { - set line "$line $ifc:[getIfcIPv4addr $node $ifc]" - } - } - set xy [getNodeCoords $node] - set line "$line <[lindex $xy 0], [lindex $xy 1]>" - .bottom.textbox config -text "$line" - widgetObserveNode $c $node -} - - -#****f* editor.tcl/linkEnter -# NAME -# linkEnter -# SYNOPSIS -# linkEnter $c -# FUNCTION -# This procedure prints the link id, link bandwidth -# and link delay in the status line. -# Information is presented for the link above which is -# the mouse pointer. -# INPUTS -# * c -- tk canvas -#**** -proc linkEnter {c} { - global activetool link_list - - set link [lindex [$c gettags current] 1] - if { [lsearch $link_list $link] == -1 } { - return - } - set line "$link: [getLinkBandwidthString $link] [getLinkDelayString $link]" - .bottom.textbox config -text "$line" -} - - -#****f* editor.tcl/anyLeave -# NAME -# anyLeave -# SYNOPSIS -# anyLeave $c -# FUNCTION -# This procedure clears the status line. -# INPUTS -# * c -- tk canvas -#**** -proc anyLeave {c} { - global activetool - - .bottom.textbox config -text "" -# Boeing - widgetObserveNode $c "" -# nodeHighlights $c "" off "" -# end Boeing -} - - -#****f* editor.tcl/checkIntRange -# NAME -# checkIntRange -- check integer range -# SYNOPSIS -# set check [checkIntRange $str $low $high] -# FUNCTION -# This procedure checks the input string to see if it is -# an integer between the low and high value. -# INPUTS -# str -- string to check -# low -- the bottom value -# high -- the top value -# RESULT -# * check -- set to 1 if the str is string between low and high -# value, 0 otherwise. -#**** -proc checkIntRange { str low high } { - if { $str == "" } { - return 1 - } - set str [string trimleft $str 0] - if { $str == "" } { - set str 0 - } - if { ![string is integer $str] } { - return 0 - } - if { $str < $low || $str > $high } { - return 0 - } - return 1 -} - -proc checkFloatRange { str low high } { - if { $str == "" } { - return 1 - } - set str [string trimleft $str 0] - if { $str == "" } { - set str 0 - } - if { ![string is double $str] } { - return 0 - } - if { $str < $low || $str > $high } { - return 0 - } - return 1 -} - -proc checkHostname { str } { - # per RFC 952 and RFC 1123, any letter, number, or hyphen - return [regexp {^[A-Za-z0-9-]+$} $str] -} - - -#****f* editor.tcl/focusAndFlash -# NAME -# focusAndFlash -- focus and flash -# SYNOPSIS -# focusAndFlash $W $count -# FUNCTION -# This procedure sets the focus on the bad entry field -# and on this filed it provides an effect of flashing -# for approximately 1 second. -# INPUTS -# * W -- textbox field that caused the bed entry -# * count -- the parameter that causes flashes. -# It can be left blank. -#**** -proc focusAndFlash {W {count 9}} { - global badentry - - set fg black - set bg white - - if { $badentry == -1 } { - return - } else { - set badentry 1 - } - - focus -force $W - if {$count<1} { - $W configure -foreground $fg -background $bg - set badentry 0 - } else { - if {$count%2} { - $W configure -foreground $bg -background $fg - } else { - $W configure -foreground $fg -background $bg - } - after 200 [list focusAndFlash $W [expr {$count - 1}]] - } -} - - -#****f* editor.tcl/popupConfigDialog -# NAME -# popupConfigDialog -- popup Configuration Dialog Box -# SYNOPSIS -# popupConfigDialog $c -# FUNCTION -# Dynamically creates a popup dialog box for configuring -# links or nodes in IMUNES. -# INPUTS -# * c -- canvas id -#**** -proc popupConfigDialog { c } { - global activetool router_model link_color oper_mode - global badentry curcanvas - global node_location systype - global plugin_img_del - set type "" - - set wi .popup - if { [winfo exists $wi ] } { - return - } - catch {destroy $wi} - toplevel $wi - - wm transient $wi . - wm resizable $wi 1 1 - - set object_type "" - set tk_type [lindex [$c gettags current] 0] - set target [lindex [$c gettags current] 1] - if { [lsearch {node nodelabel interface} $tk_type] > -1 } { - set object_type node - } - if { [lsearch {link linklabel} $tk_type] > -1 } { - set object_type link - } - if { [lsearch {oval} $tk_type] > -1 } { - set object_type oval - } - if { [lsearch {rectangle} $tk_type] > -1 } { - set object_type rectangle - } - if { [lsearch {text} $tk_type] > -1 } { - set object_type text - } - if { "$object_type" == ""} { - destroy $wi - return - } - if { $object_type == "link" } { - set n0 [lindex [linkPeers $target] 0] - set n1 [lindex [linkPeers $target] 1] - # Boeing: added tunnel check - #if { [nodeType $n0] == "rj45" || [nodeType $n1] == "rj45" || \ - # [nodeType $n0] == "tunnel" || [nodeType $n1] == "tunnel" } { - # destroy $wi - # return - #} - } - $c dtag node selected - $c delete -withtags selectmark - - switch -exact -- $object_type { - node { - set type [nodeType $target] - if { $type == "pseudo" } { - # - # Hyperlink to another canvas - # - destroy $wi - set curcanvas [getNodeCanvas [getNodeMirror $target]] - switchCanvas none - return - } - set model [getNodeModel $target] - set router_model $model - wm title $wi "$type configuration" - ttk::frame $wi.ftop -borderwidth 4 - ttk::entry $wi.ftop.name -width 16 \ - -validate focus -invalidcommand "focusAndFlash %W" - if { $type == "rj45" } { - ttk::label $wi.ftop.name_label -text "Physical interface:" - } elseif { $type == "tunnel" } { - ttk::label $wi.ftop.name_label -text "IP address of tunnel peer:" - } else { - ttk::label $wi.ftop.name_label -text "Node name:" - $wi.ftop.name configure -validatecommand {checkHostname %P} - } - $wi.ftop.name insert 0 [getNodeName $target] - set img [getNodeImage $target] - ttk::button $wi.ftop.img -image $img -command "popupCustomImage $target" - - if { $type == "rj45" } { - rj45ifclist $wi $target 0 - } - # execution server - global exec_servers node_location - set node_location [getNodeLocation $target] - set servers [lsort -dictionary [array names exec_servers]] - set servers "(none) $servers" - if { $node_location == "" } { set node_location "(none)" } - eval tk_optionMenu $wi.ftop.menu node_location $servers - pack $wi.ftop.img $wi.ftop.menu $wi.ftop.name $wi.ftop.name_label \ - -side right -padx 4 -pady 4 - # end Boeing - pack $wi.ftop -side top - if { $type == "router" } { - - ttk::frame $wi.model -borderwidth 4 - ttk::label $wi.model.label -text "Type:" - set runstate "disabled" - if { $oper_mode == "edit" } { - eval tk_optionMenu $wi.model.menu router_model \ - [getNodeTypeNames] - set runstate "normal" - } else { - tk_optionMenu $wi.model.menu router_model $model - } - # would be nice to update the image upon selection; binding to - # will not work - #tkwait variable router_model "customImageApply $wi $target" - set sock [lindex [getEmulPlugin $target] 2] - ttk::button $wi.model.services -text "Services..." -state $runstate \ - -command \ - "sendConfRequestMessage $sock $target services 0x1 -1 \"\"" - pack $wi.model.services $wi.model.menu $wi.model.label \ - -side right -padx 0 -pady 0 - pack $wi.model -side top - } - - if { $type == "wlan" } { - wlanConfigDialogHelper $wi $target 0 - } elseif { $type == "tunnel" } { - # - # tunnel controls - # - ttk::frame $wi.con2 - global conntap - set conntap [netconfFetchSection $target "tunnel-tap"] - if { $conntap == "" } { set conntap off } - # TODO: clean this up - ttk::radiobutton $wi.con2.dotap0 \ - -variable conntap -value off \ - -text "tunnel to another CORE emulation" - ttk::frame $wi.con2.key - ttk::label $wi.con2.key.lab -text "GRE key:" - ttk::entry $wi.con2.key.key -width 6 - ttk::radiobutton $wi.con2.dotap1 -state disabled \ - -variable conntap -value on \ - -text "tunnel to the virtual TAP interface of another system" - pack $wi.con2.key.lab $wi.con2.key.key -side left - pack $wi.con2.dotap0 -side top -anchor w - pack $wi.con2.key -side top - pack $wi.con2.dotap1 -side top -anchor w - pack $wi.con2 -side top - set key [netconfFetchSection $target "tunnel-key"] - if { $key == "" } { set key 1 } - $wi.con2.key.key insert 0 $key - - # TODO: clean this up - ttk::frame $wi.conn - ttk::label $wi.conn.label -text "Transport type:" - tk_optionMenu $wi.conn.conntype conntype "UDP" "TCP" - $wi.conn.conntype configure -state disabled - pack $wi.conn.label $wi.conn.conntype -side left -anchor w - pack $wi.conn -side top - global conntype - set conntype [netconfFetchSection $target "tunnel-type"] - if { $conntype == "" } { set conntype "UDP" } - - - # TODO: clean this up - ttk::frame $wi.linfo - ttk::label $wi.linfo.label -text "Local hook:" - ttk::entry $wi.linfo.local -state disabled - set localhook [netconfFetchSection $target "local-hook"] - if { $localhook == "" || $localhook == "(none)" } { - # automatically generate local hook name - set ifc [lindex [ifcList $target] 0] - if { $ifc != "" } { - set hname [info hostname] - set peer [peerByIfc $target $ifc] - set localhook "$hname$peer" - } else { - set localhook "(none)" - } - } - $wi.linfo.local insert 0 $localhook - pack $wi.linfo.label $wi.linfo.local -side left -anchor w - pack $wi.linfo -side top - - ttk::frame $wi.pinfo - ttk::label $wi.pinfo.label -text "Peer hook:" - ttk::entry $wi.pinfo.peer -state disabled - $wi.pinfo.peer insert 0 \ - [netconfFetchSection $target "peer-hook"] - pack $wi.pinfo.label $wi.pinfo.peer -side left -anchor w - pack $wi.pinfo -side top - } - - # interface list - if { [[typemodel $target].layer] == "NETWORK" } { - # canvas used for scrolling frames for each interface - ttk::frame $wi.ifaces - set height [expr {100 * [llength [ifcList $target]]}] - if { $height > 300 } { set height 300 } - canvas $wi.ifaces.c -height $height -highlightthickness 0 \ - -yscrollcommand "$wi.ifaces.scroll set" - scrollbar $wi.ifaces.scroll -command "$wi.ifaces.c yview" - pack $wi.ifaces.c -side left -fill both -expand 1 - pack $wi.ifaces.scroll -side right -fill y - pack $wi.ifaces -side top -fill both -expand 1 - set y 0 - - foreach ifc [lsort -ascii [ifcList $target]] { - set fr $wi.ifaces.c.if$ifc - ttk::labelframe $fr -text "Interface $ifc" - $wi.ifaces.c create window 4 $y -window $fr -anchor nw - incr y 100 - - set peer [peerByIfc $target $ifc] - if { [isEmane $peer] } { - ttk::frame $fr.opts - set caps [getCapabilities $peer "mobmodel"] - set cap [lindex $caps 0] - set cmd "sendConfRequestMessage -1 $target $cap 0x1 -1 \"\"" - ttk::button $fr.opts.cfg -command $cmd \ - -text "$cap options..." - pack $fr.opts.cfg -side left -padx 4 - pack $fr.opts -side top -anchor w - incr y 28 - } - - ttk::frame $fr.cfg - # - # MAC address - # - ttk::frame $fr.cfg.mac - ttk::label $fr.cfg.mac.addrl -text "MAC address" \ - -anchor w - set macaddr [getIfcMacaddr $target $ifc] - global if${ifc}_auto_mac - if { $macaddr == "" } { - set if${ifc}_auto_mac 1 - set state disabled - } else { - set if${ifc}_auto_mac 0 - set state normal - } - ttk::checkbutton $fr.cfg.mac.auto -text "auto-assign" \ - -variable if${ifc}_auto_mac \ - -command "macEntryHelper $wi $ifc" - ttk::entry $fr.cfg.mac.addrv -width 15 \ - -state $state - $fr.cfg.mac.addrv insert 0 $macaddr - pack $fr.cfg.mac.addrl $fr.cfg.mac.auto \ - $fr.cfg.mac.addrv -side left -padx 4 - pack $fr.cfg.mac -side top -anchor w - - # - # IPv4 address - # - ttk::frame $fr.cfg.ipv4 - ttk::label $fr.cfg.ipv4.addrl -text "IPv4 address" \ - -anchor w - ttk::entry $fr.cfg.ipv4.addrv -width 30 \ - -validate focus -invalidcommand "focusAndFlash %W" - $fr.cfg.ipv4.addrv insert 0 \ - [getIfcIPv4addr $target $ifc] - $fr.cfg.ipv4.addrv configure \ - -validatecommand {checkIPv4Net %P} - ttk::button $fr.cfg.ipv4.clear -image $plugin_img_del \ - -command "$fr.cfg.ipv4.addrv delete 0 end" - pack $fr.cfg.ipv4.addrl $fr.cfg.ipv4.addrv \ - $fr.cfg.ipv4.clear -side left - pack $fr.cfg.ipv4 -side top -anchor w -padx 4 - - # - # IPv6 address - # - ttk::frame $fr.cfg.ipv6 - ttk::label $fr.cfg.ipv6.addrl -text "IPv6 address" \ - -anchor w - ttk::entry $fr.cfg.ipv6.addrv -width 30 \ - -validate focus -invalidcommand "focusAndFlash %W" - $fr.cfg.ipv6.addrv insert 0 \ - [getIfcIPv6addr $target $ifc] - $fr.cfg.ipv6.addrv configure -validatecommand {checkIPv6Net %P} - ttk::button $fr.cfg.ipv6.clear -image $plugin_img_del \ - -command "$fr.cfg.ipv6.addrv delete 0 end" - pack $fr.cfg.ipv6.addrl $fr.cfg.ipv6.addrv \ - $fr.cfg.ipv6.clear -side left - pack $fr.cfg.ipv6 -side top -anchor w -padx 4 - pack $fr.cfg -side left - bind $fr.cfg <4> "$wi.ifaces.c yview scroll -1 units" - bind $fr.cfg <5> "$wi.ifaces.c yview scroll 1 units" - } ;# end foreach ifc - $wi.ifaces.c configure -scrollregion "0 0 250 $y" - # mouse wheel bindings for scrolling - foreach ctl [list $wi.ifaces.c $wi.ifaces.scroll] { - bind $ctl <4> "$wi.ifaces.c yview scroll -1 units" - bind $ctl <5> "$wi.ifaces.c yview scroll 1 units" - bind $ctl "$wi.ifaces.c yview scroll -1 units" - bind $ctl "$wi.ifaces.c yview scroll 1 units" - } - } - } - oval { - destroy $wi - annotationConfig $c $target - return - } - rectangle { - destroy $wi - annotationConfig $c $target - return - } - text { - destroy $wi - annotationConfig $c $target - return - } - link { - wm title $wi "link configuration" - ttk::frame $wi.ftop -borderwidth 6 - set nam0 [getNodeName $n0] - set nam1 [getNodeName $n1] - ttk::label $wi.ftop.name_label -justify left -text \ - "Link from $nam0 to $nam1" - pack $wi.ftop.name_label -side right - pack $wi.ftop -side top - - set spinbox [getspinbox] - global g_link_config_uni_state - set g_link_config_uni_state "bid" - - ttk::frame $wi.preset -borderwidth 4 - global link_preset_val - set link_preset_val unlimited - set linkpreMenu [tk_optionMenu $wi.preset.linkpre link_preset_val a] - # unidirectional links not always supported - if { [isUniSupported $n0 $n1] } { - set unistate normal - } else { - set unistate disabled - } - ttk::button $wi.preset.uni -text " >> " -state $unistate \ - -command "linkConfigUni $wi" - pack $wi.preset.uni $wi.preset.linkpre -side right - linkPresets $wi $linkpreMenu init - pack $wi.preset -side top -anchor e - - ttk::frame $wi.unilabel -borderwidth 4 - ttk::label $wi.unilabel.updown -text "Symmetric link effects:" - pack $wi.unilabel.updown -side left -anchor w - pack $wi.unilabel -side top -anchor w - - ttk::frame $wi.bandwidth -borderwidth 4 - ttk::label $wi.bandwidth.label -anchor e -text "Bandwidth (bps):" - $spinbox $wi.bandwidth.value -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.bandwidth.value insert 0 [getLinkBandwidth $target] - $wi.bandwidth.value configure \ - -validatecommand {checkIntRange %P 0 1000000000} \ - -from 0 -to 1000000000 -increment 1000000 - pack $wi.bandwidth.value $wi.bandwidth.label -side right - pack $wi.bandwidth -side top -anchor e - - ttk::frame $wi.delay -borderwidth 4 - ttk::label $wi.delay.label -anchor e -text "Delay (us):" - $spinbox $wi.delay.value -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.delay.value insert 0 [getLinkDelay $target] - # 274 seconds is maximum netem delay for Linux 3.2.0-60-generic kernel - $wi.delay.value configure \ - -validatecommand {checkIntRange %P 0 274000000} \ - -from 0 -to 10000000 -increment 5 - pack $wi.delay.value $wi.delay.label -side right - pack $wi.delay -side top -anchor e - - ttk::frame $wi.jitter -borderwidth 4 - ttk::label $wi.jitter.label -anchor e -text "Jitter (us):" - $spinbox $wi.jitter.value -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.jitter.value insert 0 [getLinkJitter $target] - $wi.jitter.value configure \ - -validatecommand {checkIntRange %P 0 10000000} \ - -from 0 -to 10000000 -increment 5 - pack $wi.jitter.value $wi.jitter.label -side right - pack $wi.jitter -side top -anchor e - - ttk::frame $wi.ber -borderwidth 4 - if { [lindex $systype 0] == "Linux" } { - set bertext "Loss (%):" - set berinc 0.1 - set bermax 100.0 - } else { ;# netgraph uses BER - set bertext "BER (1/N):" - set berinc 1000 - set bermax 10000000000000 - } - ttk::label $wi.ber.label -anchor e -text $bertext - $spinbox $wi.ber.value -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.ber.value insert 0 [getLinkBER $target] - $wi.ber.value configure \ - -validatecommand "checkFloatRange %P 0.0 $bermax" \ - -from 0.0 -to $bermax -increment $berinc - pack $wi.ber.value $wi.ber.label -side right - pack $wi.ber -side top -anchor e - - ttk::frame $wi.dup -borderwidth 4 - ttk::label $wi.dup.label -anchor e -text "Duplicate (%):" - $spinbox $wi.dup.value -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.dup.value insert 0 [getLinkDup $target] - $wi.dup.value configure \ - -validatecommand {checkFloatRange %P 0 50} \ - -from 0 -to 50 -increment 1 - pack $wi.dup.value $wi.dup.label -side right - pack $wi.dup -side top -anchor e - -# Boeing: jitter -# frame $wi.jitter -borderwidth 4 -# label $wi.jitter.label -anchor e -text "Jitter (us):" -# spinbox $wi.jitter.value -bg white -justify right -width 10 \ -# -validate focus -invalidcommand "focusAndFlash %W" -# $wi.jitter.value insert 0 [getLinkJitter $target] -# $wi.jitter.value configure \ -# -validatecommand {checkIntRange %P 0 10000000} \ -# -from 0 -to 10000000 -increment 5 -# pack $wi.jitter.value $wi.jitter.label -side right -# pack $wi.jitter -side top -anchor e -# end Boeing - - ttk::frame $wi.color -borderwidth 4 - ttk::label $wi.color.label -anchor e -text "Color:" - set link_color [getLinkColor $target] - tk_optionMenu $wi.color.value link_color \ - Red Green Blue Yellow Magenta Cyan Black - $wi.color.value configure -width 8 - pack $wi.color.value $wi.color.label -side right - pack $wi.color -side top -anchor e - - ttk::frame $wi.width -borderwidth 4 - ttk::label $wi.width.label -anchor e -text "Width:" - $spinbox $wi.width.value -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.width.value insert 0 [getLinkWidth $target] - $wi.width.value configure \ - -validatecommand {checkIntRange %P 1 8} \ - -from 1 -to 8 -increment 1 - pack $wi.width.value $wi.width.label -side right - pack $wi.width -side top -anchor e - - # auto-expand upstream if values exist - set bw [getLinkBandwidth $target up] - set dl [getLinkDelay $target up] - set jt [getLinkJitter $target up] - set ber [getLinkBER $target up] - set dup [getLinkDup $target up] - if { $bw > 0 || $dl > 0 || $jt > 0 || $ber > 0 || $dup > 0 } { - linkConfigUni $wi - $wi.bandwidth.value2 delete 0 end - $wi.bandwidth.value2 insert 0 $bw - $wi.delay.value2 delete 0 end - $wi.delay.value2 insert 0 $dl - $wi.jitter.value2 delete 0 end - $wi.jitter.value2 insert 0 $jt - $wi.ber.value2 delete 0 end - $wi.ber.value2 insert 0 $ber - $wi.dup.value2 delete 0 end - $wi.dup.value2 insert 0 $dup - } - } - } ;# end switch - - ttk::frame $wi.butt -borderwidth 6 - # NOTE: plugins.tcl:popupCapabilityConfig may read this command option - ttk::button $wi.butt.apply -text "Apply" -command \ - "popupConfigApply $wi $object_type $target 0" - focus $wi.butt.apply - # Boeing: remove range circles upon cancel - if {$type == "wlan"} { - set cancelcmd "set badentry -1 ; destroy $wi;" - set cancelcmd "$cancelcmd updateRangeCircles $target 0" - } else { - set cancelcmd "set badentry -1 ; destroy $wi" - } - ttk::button $wi.butt.cancel -text "Cancel" -command $cancelcmd - #end Boeing - pack $wi.butt.cancel $wi.butt.apply -side right - pack $wi.butt -side bottom - bind $wi $cancelcmd -# bind $wi "popupConfigApply $wi $object_type $target 0" -} - - -proc linkConfigUni { wi } { - global g_link_config_uni_state - - set capt [lindex [$wi.preset.uni configure -text] 4] - - if { $capt == " >> " } { - set g_link_config_uni_state "uni" - $wi.preset.uni configure -text " << " - set txt "Asymmetric effects: downstream / upstream" - $wi.unilabel.updown configure -text $txt - - set spinbox [getspinbox] - if { ![winfo exists $wi.bandwidth.value2] } { - $spinbox $wi.bandwidth.value2 -justify right \ - -width 10 -validate focus -invalidcommand "focusAndFlash %W" - $wi.bandwidth.value2 configure \ - -validatecommand {checkIntRange %P 0 1000000000} \ - -from 0 -to 1000000000 -increment 1000000 - } - $wi.bandwidth.value2 delete 0 end - $wi.bandwidth.value2 insert 0 [$wi.bandwidth.value get] - pack $wi.bandwidth.value2 -side right - pack $wi.bandwidth.value2 -before $wi.bandwidth.value - - if { ![winfo exists $wi.delay.value2] } { - $spinbox $wi.delay.value2 -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.delay.value2 configure \ - -validatecommand {checkIntRange %P 0 10000000} \ - -from 0 -to 10000000 -increment 5 - } - $wi.delay.value2 delete 0 end - $wi.delay.value2 insert 0 [$wi.delay.value get] - pack $wi.delay.value2 -side right - pack $wi.delay.value2 -before $wi.delay.value - - if { ![winfo exists $wi.jitter.value2] } { - $spinbox $wi.jitter.value2 -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.jitter.value2 configure \ - -validatecommand {checkIntRange %P 0 10000000} \ - -from 0 -to 10000000 -increment 5 - } - $wi.jitter.value2 delete 0 end - $wi.jitter.value2 insert 0 [$wi.jitter.value get] - pack $wi.jitter.value2 -side right - pack $wi.jitter.value2 -before $wi.jitter.value - - if { ![winfo exists $wi.ber.value2] } { - $spinbox $wi.ber.value2 -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.ber.value2 configure \ - -validatecommand "checkFloatRange %P 0.0 100.0" \ - -from 0.0 -to 100.0 -increment 0.1 - } - $wi.ber.value2 delete 0 end - $wi.ber.value2 insert 0 [$wi.ber.value get] - pack $wi.ber.value2 -side right - pack $wi.ber.value2 -before $wi.ber.value - - if { ![winfo exists $wi.dup.value2] } { - $spinbox $wi.dup.value2 -justify right -width 10 \ - -validate focus -invalidcommand "focusAndFlash %W" - $wi.dup.value2 configure \ - -validatecommand {checkFloatRange %P 0 50} \ - -from 0 -to 50 -increment 1 - } - $wi.dup.value2 delete 0 end - $wi.dup.value2 insert 0 [$wi.dup.value get] - pack $wi.dup.value2 -side right - pack $wi.dup.value2 -before $wi.dup.value - } else { - set g_link_config_uni_state "bid" - $wi.preset.uni configure -text " >> " - $wi.unilabel.updown configure -text "Symmetric link effects:" - pack forget $wi.bandwidth.value2 - pack forget $wi.delay.value2 - pack forget $wi.jitter.value2 - pack forget $wi.ber.value2 - pack forget $wi.dup.value2 - } -} - -# unidirectional links are not always supported -proc isUniSupported { n1 n2 } { - set blacklist [list "hub" "lanswitch"] - set type1 [nodeType $n1] - set type2 [nodeType $n2] - # not yet supported for GRE tap device - if { $type1 == "tunnel" || $type2 == "tunnel" } { - return false - } - # unidirectional links are supported between two switches/hubs - if { [lsearch $blacklist $type1] != -1 && \ - [lsearch $blacklist $type2] != -1 } { - return true - } - # unidirectional links not supported between hub/switch and something else - if { [lsearch $blacklist $type1] != -1 || \ - [lsearch $blacklist $type2] != -1 } { - return false - } - # unidirectional links are supported between routers, rj45s, etc. - # WLANs not included here because they have no link dialog - return true -} - -# toggle the state of the mac address entry, and insert MAC address template -proc macEntryHelper { wi ifc } { - set fr $wi.ifaces.c.if$ifc - set ctl $fr.cfg.mac.addrv - set s normal - if { [$ctl cget -state] == $s } { set s disabled } - $ctl configure -state $s - - if { [$ctl get] == "" } { $ctl insert 0 "00:00:00:00:00:00" } -} - - -#****f* editor.tcl/popupConfigApply -# NAME -# popupConfigApply -- popup configuration apply -# SYNOPSIS -# popupConfigApply $w $object_type $target $phase -# FUNCTION -# This procedure is called when the button apply is pressed in -# popup configuration dialog box. It reads different -# configuration parameters depending on the object_type. -# INPUTS -# * w -- widget -# * object_type -- describes the object type that is currently -# configured. It can be either link or node. -# * target -- node id of the configured node or link id of the -# configured link -# * phase -- This procedure is invoked in two diffenet phases -# to enable validation of the entry that was the last made. -# When calling this function always use the phase parameter -# set to 0. -#**** -proc popupConfigApply { wi object_type target phase } { - global changed oper_mode router_model link_color badentry - global customEnabled ipsecEnabled - global eid - - $wi config -cursor watch - update - if { $phase == 0 } { - set badentry 0 - focus . - after 100 "popupConfigApply $wi $object_type $target 1" - return - } elseif { $badentry } { - $wi config -cursor left_ptr - return - } - switch -exact -- $object_type { - # - # Node - # - node { - set type [nodeType $target] - set model [getNodeModel $target] - set name [string trim [$wi.ftop.name get]] - set changed_to_remote 0 - global node_location - if { $node_location != [getNodeLocation $target] } { - if { $node_location == "(none)" } { set node_location "" } - setNodeLocation $target $node_location - set changed 1 - } - set node_location "" - if { $name != [getNodeName $target] } { - setNodeName $target $name - set changed 1 - } - if { $oper_mode == "edit" && $type == "router" && \ - $router_model != $model } { - setNodeModel $target $router_model - set changed 1 - if { $router_model == "remote" } { set changed_to_remote 1 };#Boeing - } - -# Boeing - added wlan, remote, tunnel, ktunnel items - if { $type == "wlan" } { - wlanConfigDialogHelper $wi $target 1 - } elseif { $type == "tunnel" } { - # - # apply tunnel items - # - set ipaddr "$name/24" ;# tunnel name == IP address of peer - set oldipaddr [getIfcIPv4addr $target e0] - if { $ipaddr != $oldipaddr } { - setIfcIPv4addr $target e0 $ipaddr - } - global conntype conntap - set oldconntype [netconfFetchSection $target "tunnel-type"] - if { $oldconntype != $conntype } { - netconfInsertSection $target [list "tunnel-type" $conntype] - } - set oldconntap [netconfFetchSection $target "tunnel-tap"] - if { $oldconntap != $conntap } { - netconfInsertSection $target [list "tunnel-tap" $conntap] - } - set oldkey [netconfFetchSection $target "tunnel-key"] - set key [$wi.con2.key.key get] - if { $oldkey != $key } { - netconfInsertSection $target [list "tunnel-key" $key] - } - - set oldlocal [netconfFetchSection $target "local-hook"] - set local [$wi.linfo.local get] - if { $oldlocal != $local } { - netconfInsertSection $target [list "local-hook" $local] - } - - set oldpeer [netconfFetchSection $target "peer-hook"] - set peer [$wi.pinfo.peer get] - if { $oldpeer != $peer } { - netconfInsertSection $target [list "peer-hook" $peer] - } - } elseif { $type == "ktunnel" } { - # - # apply ktunnel items - # - set oldlocal [netconfFetchSection $target "local-hook"] - set local [$wi.linfo.local get] - if { $oldlocal != $local } { - netconfInsertSection $target [list "local-hook" $local] - } -# Boeing changing to interface name for RJ45 -# } elseif { $type == "rj45" } { -# # -# # apply rj45 items -# # -# set ifcName [string trim [$wi.interface.name get]] -# puts "$ifcName\n" -# - } elseif { $type == "router" && [getNodeModel $target] == "remote" } { - if { $changed_to_remote == 0 } { - set i 1 - set remoteIP [string trim [$wi.remoteinfo.ip.text get $i.0 $i.end]] - if { $remoteIP != [router.remote.getRemoteIP $target] } { - router.remote.setRemoteIP $target $remoteIP - set changed 1 - } - set ifc [string trim [$wi.remoteinfo.ifc.text get $i.0 $i.end]] - if { $ifc != [router.remote.getCInterface $target] } { - router.remote.setCInterface $target $ifc - set changed 1 - } - set startcmd [string trim [$wi.remotecommands.start.text get $i.0 $i.end]] - if { $startcmd != [router.remote.getStartCmd $target] } { - router.remote.setStartCmd $target $startcmd - set changed 1 - } - set stopcmd [string trim [$wi.remotecommands.stop.text get $i.0 $i.end]] - if { $stopcmd != [router.remote.getStopCmd $target] } { - router.remote.setStopCmd $target $stopcmd - set changed 1 - } - } - } - - if {[[typemodel $target].layer] == "NETWORK"} { - foreach ifc [ifcList $target] { - set fr $wi.ifaces.c.if$ifc - set macaddr [$fr.cfg.mac.addrv get] - global if${ifc}_auto_mac - if { [set if${ifc}_auto_mac] == 1 } { set macaddr "" } - set oldmacaddr [getIfcMacaddr $target $ifc] - if { $macaddr != $oldmacaddr } { - setIfcMacaddr $target $ifc $macaddr - set changed 1 - } - set ipaddr [$fr.cfg.ipv4.addrv get] - set oldipaddr [getIfcIPv4addr $target $ifc] - if { $ipaddr != $oldipaddr } { - setIfcIPv4addr $target $ifc $ipaddr - set changed 1 - } - set ipaddr [$fr.cfg.ipv6.addrv get] - set oldipaddr [getIfcIPv6addr $target $ifc] - if { $ipaddr != $oldipaddr } { - setIfcIPv6addr $target $ifc $ipaddr - set changed 1 - } - } - } - } - - link { - global g_link_config_uni_state - set mirror [getLinkMirror $target] - - if { [setIfChanged $target $mirror $wi "bandwidth" "LinkBandwidth"] } { - set changed 1 - } - if { [setIfChanged $target $mirror $wi "delay" "LinkDelay"] } { - set changed 1 - } - if { [setIfChanged $target $mirror $wi "ber" "LinkBER"] } { - set changed 1 - } - if { [setIfChanged $target $mirror $wi "dup" "LinkDup"] } { - set changed 1 - } - if { [setIfChanged $target $mirror $wi "jitter" "LinkJitter"] } { - set changed 1 - } - - if { $link_color != [getLinkColor $target] } { - setLinkColor $target $link_color - if { $mirror != "" } { - setLinkColor $mirror $link_color - } - set changed 1 - } - set width [$wi.width.value get] - if { $width != [getLinkWidth $target] } { - setLinkWidth $target $width - if { $mirror != "" } { - setLinkWidth $mirror $width - } - set changed 1 - } - if { $changed == 1 && $oper_mode == "exec" } { - execSetLinkParams $eid $target - } - } - - } - - popdownConfig $wi -} - -# helper for Link Config dialog -# ctl must exist as $wi.$ctl.value{2}, and {get,set}$procname must be valid -# returns true when value has changed, false otherwise -proc setIfChanged { target mirror wi ctl procname } { - global g_link_config_uni_state - - set val [$wi.$ctl.value get] - if { $g_link_config_uni_state == "uni" } { - set val [list $val [$wi.$ctl.value2 get]] - } - set oldval [get$procname $target] - set oldval2 [get$procname $target "up"] - if { $oldval2 != "" } { - set oldval [list $oldval $oldval2] - } - if { $val != $oldval } { - set$procname $target $val - if { $mirror != "" } { - set$procname $mirror $val - } - return true - } - return false -} - -#****f* editor.tcl/printCanvas -# NAME -# printCanvas -- print canvas -# SYNOPSIS -# printCanvas $w -# FUNCTION -# This procedure is called when the print button in -# print dialog box is pressed. -# INPUTS -# * w -- print dialog widget -#**** -proc printCanvas { w } { - global sizex sizey - - set prncmd [$w.e1 get] - destroy $w - set p [open "|$prncmd" WRONLY] - puts $p [.c postscript -height $sizey -width $sizex -x 0 -y 0 -rotate yes -pageheight 297m -pagewidth 210m] - close $p -} - - -#****f* editor.tcl/deleteSelection -# NAME -# deleteSelection -- delete selection -# SYNOPSIS -# deleteSelection -# FUNCTION -# By calling this procedure all the selected nodes in imunes will -# be deleted. -#**** -proc deleteSelection { } { - global changed - global background - global viewid - catch {unset viewid} - .c config -cursor watch; update - - foreach lnode [selectedNodes] { - if { $lnode != "" } { - removeGUINode $lnode - } - set changed 1 - } - - raiseAll .c - updateUndoLog - .c config -cursor left_ptr - .bottom.textbox config -text "" -} - - -proc assignSelection { server } { - global changed - .c config -cursor watch; update - - foreach node [selectedNodes] { - if { $node != "" } { - setNodeLocation $node $server - } - set changed 1 - } - - redrawAll - updateUndoLog - .c config -cursor left_ptr - .bottom.textbox config -text "" -} - - -proc align2grid {} { - global sizex sizey grid zoom changed - - set node_objects [.c find withtag node] - if { [llength $node_objects] == 0 } { - return - } - - set step [expr {$grid * 4}] - - for { set x $step } { $x <= [expr {$sizex - $step}] } { incr x $step } { - for { set y $step } { $y <= [expr {$sizey - $step}] } { incr y $step } { - if { [llength $node_objects] == 0 } { - set changed 1 - updateUndoLog - redrawAll - return - } - set node [lindex [.c gettags [lindex $node_objects 0]] 1] - set node_objects [lreplace $node_objects 0 0] - setNodeCoords $node "$x $y" - lassign [getDefaultLabelOffsets [nodeType $node]] dx dy - setNodeLabelCoords $node "[expr {$x + $dx}] [expr {$y + $dy}]" - } - } -} - -#****f* editor.tcl/rearrange -# NAME -# rearrange -# SYNOPSIS -# rearrange $mode -# FUNCTION -# This procedure rearranges the position of nodes in imunes. -# It can be used to rearrange all the nodes or only the selected -# nodes. -# INPUTS -# * mode -- when set to "selected" only the selected nodes will be -# rearranged. -#**** -proc rearrange { mode } { - global link_list autorearrange_enabled sizex sizey curcanvas zoom activetool - - set activetool select - - if { $autorearrange_enabled } { - rearrange_off - return - } - set autorearrange_enabled 1 - .bottom.mbuf config -text "autorearrange" - if { $mode == "selected" } { - .menubar.tools entryconfigure "Auto rearrange all" -state disabled - .menubar.tools entryconfigure "Auto rearrange all" -indicatoron off - .menubar.tools entryconfigure "Auto rearrange selected" -indicatoron on - set tagmatch "node && selected" - } else { - .menubar.tools entryconfigure "Auto rearrange all" -indicatoron on - .menubar.tools entryconfigure "Auto rearrange selected" -state disabled - .menubar.tools entryconfigure "Auto rearrange selected" -indicatoron off - set tagmatch "node" - } - set otime [clock clicks -milliseconds] - while { $autorearrange_enabled } { - set ntime [clock clicks -milliseconds] - if { $otime == $ntime } { - set dt 0.001 - } else { - set dt [expr {($ntime - $otime) * 0.001}] - if { $dt > 0.2 } { - set dt 0.2 - } - set otime $ntime - } - - set objects [.c find withtag $tagmatch] - set peer_objects [.c find withtag node] - foreach obj $peer_objects { - set node [lindex [.c gettags $obj] 1] - set coords [.c coords $obj] - set x [expr {[lindex $coords 0] / $zoom}] - set y [expr {[lindex $coords 1] / $zoom}] - set x_t($node) $x - set y_t($node) $y - - if { $x > 0 } { - set fx [expr {1000 / ($x * $x + 100)}] - } else { - set fx 10 - } - set dx [expr {$sizex - $x}] - if { $dx > 0 } { - set fx [expr {$fx - 1000 / ($dx * $dx + 100)}] - } else { - set fx [expr {$fx - 10}] - } - - if { $y > 0 } { - set fy [expr {1000 / ($y * $y + 100)}] - } else { - set fy 10 - } - set dy [expr {$sizey - $y}] - if { $dy > 0 } { - set fy [expr {$fy - 1000 / ($dy * $dy + 100)}] - } else { - set fy [expr {$fy - 10}] - } - set fx_t($node) $fx - set fy_t($node) $fy - } - - foreach obj $objects { - set node [lindex [.c gettags $obj] 1] - set i [lsearch -exact $peer_objects $obj] - set peer_objects [lreplace $peer_objects $i $i] - set x $x_t($node) - set y $y_t($node) - foreach other_obj $peer_objects { - set other [lindex [.c gettags $other_obj] 1] - set o_x $x_t($other) - set o_y $y_t($other) - set dx [expr {$x - $o_x}] - set dy [expr {$y - $o_y}] - set d [expr {hypot($dx, $dy)}] - set d2 [expr {$d * $d}] - set p_fx [expr {1000.0 * $dx / ($d2 * $d + 100)}] - set p_fy [expr {1000.0 * $dy / ($d2 * $d + 100)}] - if {[linkByPeers $node $other] != ""} { - set p_fx [expr {$p_fx - $dx * $d2 * .0000000005}] - set p_fy [expr {$p_fy - $dy * $d2 * .0000000005}] - } - set fx_t($node) [expr {$fx_t($node) + $p_fx}] - set fy_t($node) [expr {$fy_t($node) + $p_fy}] - set fx_t($other) [expr {$fx_t($other) - $p_fx}] - set fy_t($other) [expr {$fy_t($other) - $p_fy}] - } - - foreach link $link_list { - set nodes [linkPeers $link] - if { [getNodeCanvas [lindex $nodes 0]] != $curcanvas || - [getNodeCanvas [lindex $nodes 1]] != $curcanvas || - [getLinkMirror $link] != "" } { - continue - } - set peers [linkPeers $link] - set coords0 [getNodeCoords [lindex $peers 0]] - set coords1 [getNodeCoords [lindex $peers 1]] - set o_x \ - [expr {([lindex $coords0 0] + [lindex $coords1 0]) * .5}] - set o_y \ - [expr {([lindex $coords0 1] + [lindex $coords1 1]) * .5}] - set dx [expr {$x - $o_x}] - set dy [expr {$y - $o_y}] - set d [expr {hypot($dx, $dy)}] - set d2 [expr {$d * $d}] - set fx_t($node) \ - [expr {$fx_t($node) + 500.0 * $dx / ($d2 * $d + 100)}] - set fy_t($node) \ - [expr {$fy_t($node) + 500.0 * $dy / ($d2 * $d + 100)}] - } - } - - foreach obj $objects { - set node [lindex [.c gettags $obj] 1] - if { [catch "set v_t($node)" v] } { - set vx 0.0 - set vy 0.0 - } else { - set vx [lindex $v_t($node) 0] - set vy [lindex $v_t($node) 1] - } - set vx [expr {$vx + 1000.0 * $fx_t($node) * $dt}] - set vy [expr {$vy + 1000.0 * $fy_t($node) * $dt}] - set dampk [expr {0.5 + ($vx * $vx + $vy * $vy) * 0.00001}] - set vx [expr {$vx * exp( - $dampk * $dt)}] - set vy [expr {$vy * exp( - $dampk * $dt)}] - set dx [expr {$vx * $dt}] - set dy [expr {$vy * $dt}] - set x [expr {$x_t($node) + $dx}] - set y [expr {$y_t($node) + $dy}] - set v_t($node) "$vx $vy" - - setNodeCoords $node "$x $y" - set e_dx [expr {$dx * $zoom}] - set e_dy [expr {$dy * $zoom}] - .c move $obj $e_dx $e_dy - set img [.c find withtag "selectmark && $node"] - .c move $img $e_dx $e_dy - set img [.c find withtag "nodelabel && $node"] - .c move $img $e_dx $e_dy - set x [expr {[lindex [.c coords $img] 0] / $zoom}] - set y [expr {[lindex [.c coords $img] 1] / $zoom}] - setNodeLabelCoords $node "$x $y" - .c addtag need_redraw withtag "link && $node" - } - foreach link [.c find withtag "link && need_redraw"] { - redrawLink [lindex [.c gettags $link] 1] - } - .c dtag link need_redraw - update - } - - rearrange_off - .bottom.mbuf config -text "" -} - -proc rearrange_off { } { - global autorearrange_enabled - set autorearrange_enabled 0 - .menubar.tools entryconfigure "Auto rearrange all" -state normal - .menubar.tools entryconfigure "Auto rearrange all" -indicatoron off - .menubar.tools entryconfigure "Auto rearrange selected" -state normal - .menubar.tools entryconfigure "Auto rearrange selected" -indicatoron off -} - - -#****f* editor.tcl/switchCanvas -# NAME -# switchCanvas -- switch canvas -# SYNOPSIS -# switchCanvas $direction -# FUNCTION -# This procedure switches the canvas in one of the defined -# directions (previous, next, first and last). -# INPUTS -# * direction -- the direction of switching canvas. Can be: prev -- -# previus, next -- next, first -- first, last -- last. -#**** -proc switchCanvas { direction } { - global canvas_list curcanvas - global sizex sizey - - set i [lsearch $canvas_list $curcanvas] - switch -exact -- $direction { - prev { - incr i -1 - if { $i < 0 } { - set curcanvas [lindex $canvas_list end] - } else { - set curcanvas [lindex $canvas_list $i] - } - } - next { - incr i - if { $i >= [llength $canvas_list] } { - set curcanvas [lindex $canvas_list 0] - } else { - set curcanvas [lindex $canvas_list $i] - } - } - first { - set curcanvas [lindex $canvas_list 0] - } - last { - set curcanvas [lindex $canvas_list end] - } - } - - .hframe.t delete all - set x 0 - foreach canvas $canvas_list { - set text [.hframe.t create text 0 0 \ - -text "[getCanvasName $canvas]" -tags "text $canvas"] - set ox [lindex [.hframe.t bbox $text] 2] - set oy [lindex [.hframe.t bbox $text] 3] - set tab [.hframe.t create polygon $x 0 [expr {$x + 7}] 18 \ - [expr {$x + 2 * $ox + 17}] 18 [expr {$x + 2 * $ox + 24}] 0 $x 0 \ - -fill gray -tags "tab $canvas"] - set line [.hframe.t create line 0 0 $x 0 [expr {$x + 7}] 18 \ - [expr {$x + 2 * $ox + 17}] 18 [expr {$x + 2 * $ox + 24}] 0 999 0 \ - -fill #808080 -width 2 -tags "line $canvas"] - .hframe.t coords $text [expr {$x + $ox + 12}] [expr {$oy + 2}] - .hframe.t raise $text - incr x [expr {2 * $ox + 17}] - } - incr x 7 - .hframe.t raise "$curcanvas" - .hframe.t itemconfigure "tab && $curcanvas" -fill #e0e0e0 - .hframe.t configure -scrollregion "0 0 $x 18" - update - set width [lindex [.hframe.t configure -width] 4] - set lborder [lindex [.hframe.t bbox "tab && $curcanvas"] 0] - set rborder [lindex [.hframe.t bbox "tab && $curcanvas"] 2] - set lmargin [expr {[lindex [.hframe.t xview] 0] * $x - 1}] - set rmargin [expr {[lindex [.hframe.t xview] 1] * $x + 1}] - if { $lborder < $lmargin } { - .hframe.t xview moveto [expr {1.0 * ($lborder - 10) / $x}] - } - if { $rborder > $rmargin } { - .hframe.t xview moveto [expr {1.0 * ($rborder - $width + 10) / $x}] - } - - set sizex [lindex [getCanvasSize $curcanvas] 0] - set sizey [lindex [getCanvasSize $curcanvas] 1] - - redrawAll -} - -proc resizeCanvasPopup {} { - global curcanvas - - set w .canvasSizeScaleDialog - catch {destroy $w} - toplevel $w - - wm transient $w . - wm title $w "Canvas Size and Scale" - - frame $w.buttons - pack $w.buttons -side bottom -fill x -pady 2m - button $w.buttons.print -text "Apply" -command "resizeCanvasApply $w" - button $w.buttons.cancel -text "Cancel" -command "destroy $w" - pack $w.buttons.print $w.buttons.cancel -side left -expand 1 - - set cursize [getCanvasSize $curcanvas] - set x [lindex $cursize 0] - set y [lindex $cursize 1] - set scale [getCanvasScale $curcanvas] - set refpt [getCanvasRefPoint $curcanvas] - set refx [lindex $refpt 0] - set refy [lindex $refpt 1] - set latitude [lindex $refpt 2] - set longitude [lindex $refpt 3] - set altitude [lindex $refpt 4] - - - labelframe $w.size -text "Size" - frame $w.size.pixels - pack $w.size $w.size.pixels -side top -padx 4 -pady 4 -fill x - spinbox $w.size.pixels.x -bg white -width 5 - $w.size.pixels.x insert 0 $x - $w.size.pixels.x configure -from 300 -to 5000 -increment 2 - label $w.size.pixels.label -text "W x" - spinbox $w.size.pixels.y -bg white -width 5 - $w.size.pixels.y insert 0 $y - $w.size.pixels.y configure -from 300 -to 5000 -increment 2 - label $w.size.pixels.label2 -text "H pixels" - pack $w.size.pixels.x $w.size.pixels.label $w.size.pixels.y \ - $w.size.pixels.label2 -side left -pady 2 -padx 2 -fill x - - frame $w.size.meters - pack $w.size.meters -side top -padx 4 -pady 4 -fill x - spinbox $w.size.meters.x -bg white -width 7 - $w.size.meters.x configure -from 300 -to 10000 -increment 100 - label $w.size.meters.label -text "x" - spinbox $w.size.meters.y -bg white -width 7 - $w.size.meters.y configure -from 300 -to 10000 -increment 100 - label $w.size.meters.label2 -text "meters" - pack $w.size.meters.x $w.size.meters.label $w.size.meters.y \ - $w.size.meters.label2 -side left -pady 2 -padx 2 -fill x - - labelframe $w.scale -text "Scale" - frame $w.scale.ppm - pack $w.scale $w.scale.ppm -side top -padx 4 -pady 4 -fill x - label $w.scale.ppm.label -text "100 pixels =" - entry $w.scale.ppm.metersper100 -bg white -width 10 - $w.scale.ppm.metersper100 insert 0 $scale - label $w.scale.ppm.label2 -text "meters" - pack $w.scale.ppm.label $w.scale.ppm.metersper100 \ - $w.scale.ppm.label2 -side left -pady 2 -padx 2 -fill x - - bind $w.size.pixels.x

xpnT8yvU8*S=oZI6M20)2rI> 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