Main > Free Download Search >

Free general software for linux

general

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1305
Config::General 2.32

Config::General 2.32


Config::General is a perl module opens a config file and parses its contents for you. more>>
Config::General is a perl module opens a config file and parses its contents for you.
Config::General library provides variable interpolation, saving of configs (kinda serializer), an OOP-Interface and much more.
The format of config files supported by Config::General is inspired by the well known apache config format, in fact, this module is 100% compatible to apache configs(read-only), but you can also just use simple name/value pairs in your config files.
In addition to the capabilities of an apache config file it supports some enhancements such as here-documents, C-style comments or multiline options.
Installation:
To install, type:
perl Makefile.PL
make
make test
make install
To read the complete documentation, type:
perldoc Config::General
perldoc Config::General::Extended
perldoc Config::General::Interpolated
See some example config files which can be parsed with Config::Genreal in the subdirectory t/cfg.*
Enhancements:
- A number of bugs were fixed and unit tests were improved.
<<less
Download (0.042MB)
Added: 2007-02-27 License: Artistic License Price:
970 downloads
LGeneral 1.2 Beta12

LGeneral 1.2 Beta12


LGeneral is a turn-based strategy engine heavily inspired by Panzer General. more>>
LGeneral is a turn-based strategy engine heavily inspired by Panzer General. With LGeneral you play single scenarios or whole campaigns turn by turn against a human player or the AI.

Entrenchment, rugged defense, defensive fire, surprise contacts, surrender, unit supply, weather influence, reinforcements and other implementations contribute to the tactical and strategic depth of the game.

The engine itself has no playable data but there is a converter for Panzer General (DOS version).

<<less
Download (1.2MB)
Added: 2006-06-01 License: GPL (GNU General Public License) Price:
1246 downloads
Games::Sudoku::General 0.007

Games::Sudoku::General 0.007


Games::Sudoku::General is a Perl module that can solve sudoku-like puzzles. more>>
Games::Sudoku::General is a Perl module that can solve sudoku-like puzzles.

SYNOPSIS

$su = Games::Sudoku::General->new ();
print $su->problem(<<less
Download (0.040MB)
Added: 2007-08-13 License: Perl Artistic License Price:
803 downloads
Template::Plugin::Config::General 0.01

Template::Plugin::Config::General 0.01


Template::Plugin::Config::General is a template toolkit plugin which implements wrapper around Config::General module. more>>
Template::Plugin::Config::General is a template toolkit plugin which implements wrapper around Config::General module.

SYNOPSIS

# Config file format
; app.cfg - common configuration for scripts and both
; static and dynamic template pages.
base_url = /~liol
images_url = $base_url/images
< news >
title = Top News
url = $base_url/news
images_url = $url/images
< /news >
< admin >
title = Admin area
url = $base_url/admin
images_url = $url/images
< /admin >
include specific.cfg

# Reading configuration from code
use Config::General;
$plConfig = new Config::General(
-ConfigFile => app.cfg,
-ConfigPath => [ /web/etc ]
-InterPolateVars => 1,
-UseApacheInclude => 1,
);
my %cfg = $plConfig->getall;

# Reading configuration from template
[%-
USE plConfig = Config::General(
ConfigFile = app.cfg,
ConfigPath = [ /web/etc ]
InterPolateVars = 1,
UseApacheInclude = 1,
);
cfg = plConfig.getall;
-%]
[% cfg.news.title %]
[% cfg.admin.images_url %]

This module implements interface wrapper around Config::General. The task of easy access to configuration items from both code and templates may appear in applications which uses configuration files which are saved apart from code and templates. This module would help to avoid data doubling. To access configuration from code we can use Config::General module which parses apache-like config files. This plugin makes the same thing for templates. So we can use the same file in both code, "dynamic" templates and "static" templates. There is no difference what application uses template - ttree or other script. Plugin would provide proper configuration.

<<less
Download (0.003MB)
Added: 2007-04-06 License: Perl Artistic License Price:
931 downloads
General Package/Module Interface 0.7.1

General Package/Module Interface 0.7.1


General Package/Module Interface (GPMI) is a lightweight library that assists with modularizing applications. more>>
General Package/Module Interface (GPMI) is a lightweight library that assists with modularizing applications.
It includes prewritten script interpreter modules in addition to timers, events, and package dependencies.
Enhancements:
- This version features many bugfixes and memory leak cleanups.
- It is now possible to compile the code on Windows using mingw.
<<less
Download (0.17MB)
Added: 2006-01-10 License: GPL (GNU General Public License) Price:
1384 downloads
General Graphical User Interface 0.5.1

General Graphical User Interface 0.5.1


General Graphical User Interface is a wizard-like environment to execute console commands graphically. more>>
General Graphics User Interface is an effort to produce a common graphical user interface for any command-line program.

It uses a wizard-like input front end to collect the information needed. It then calls the desired program automatically with all the necessary options.

The user is able to point&click on various options and select them in a convenient way. In order to create a new user-interface, a user doesnt need to know a programming language, since there is a graphical editor for new GGUI "scripts".
<<less
Download (0.21MB)
Added: 2005-04-28 License: GPL (GNU General Public License) Price:
1642 downloads
General Applet Interface Library 0.5.10

General Applet Interface Library 0.5.10


The goal of the General Applet Interface Library is to give programmers a simple yet powerful applet interface. more>>
The goal of the General Applet Interface Library is to give programmers a simple yet powerful applet interface. This library supports wmapplet/dockapps, GNOME 2 panel applets, and ROX panel applets.
This library supports at the moment Dockapps, Gnome 2 Panel Applets and Rox panel applets. In the future support for XFCE 4 and KDE is planned to be added. The applet program doesnt have to care about if the applet will be used on the Gnome panel or in the dock. The library handles that.
Over 50% of the code in a Dockapp and a Gnome 2 Panel applet does actully only one thing, setting up the applet window. With GAI, you can reduce it to just a few lines of code.
Enhancements:
- Updated the example applets.
- The preference dialog is now nicely resized.
- Fixed some minor memory leaks in the preference dialog.
- API change: The function connected to gai_signal_on_preferences() shall now take: (gboolean changed, gpointer data) as argument. changed is true if the user changed
- anything in the preference window. False if the user did nothing.
- Added two new preference window items. GAI_LISTSTORE and GAI_EDITLISTSTORE. The first shows just a list, no altering is possible. The second provide a list that can be increased and reduced by the user. (NOT YET FINISHED!)
- Cleaned up parts of the preference generator. Several minor memory leaks fixed.
- Update gai.spec. Some Fedora Core changes by Michael Schwendt mschwendt@users.sf.net, and Michel Alexandre Salim salimma@users.sf.net
- Allowing applet to be bigger than 1000 pixels (2560 is now max).
- Ashley V wants to have Shermans
- aquarium real big Destroying (clicking on the window manager "X" icon) the preference window now works fine.
- Destroying About box is now handled correctly.
- Rewrote large part of the right mouse click menu handleling code. Now you can remove, change, insert and add menu items during run time. gai_menu_insert(...), gai_menu_change(...) and gai_menu_remove(...) is new. gai_menu_add now returns an integer that is the ID of the menu item.
- Fixed broken libdir link in gai.pc
- Make sure GdkColor is never null when given to applet.
- Documentation updates.
- Various minor fixes found on the fedora extras by Michael Schwendt and Thorsten Leemhuis fedora@leemhuis.info. Please mail me fixes directly!!
- GtkFileChooser dialog is now used instead of GtkFileSelector when GTK+ 2.4 or later is detected.
- If gtk+ 2.4 or later, use varously updated widgets instead of older ones.
- Merged big nls patch by Olaf Leidinger Thanks!
- NLS is finally supported for GAI. Not yet there for applets
- The BonoboUIVerb array canary was missing and that caused the GNOME to crash. Patch by Jean-Yves Lefort
<<less
Download (0.28MB)
Added: 2006-07-18 License: LGPL (GNU Lesser General Public License) Price:
1195 downloads
MIBA Consulting General System Library 1.0

MIBA Consulting General System Library 1.0


MIBA Consulting General System Library is a collection of cross-platform C++ class libraries. more>>
MIBA Consulting General System Library is a collection of cross-platform C++ class libraries. Provides thread, IPC, file, network, SNMP (net-snmp) and Database (MySQL) interfaces. Comes with the usual array of utility classes - smart pointers, singletons, registries, serialization etc.

Installation:

The dist (or debug) directory contains everything you need apart from the NSPR library (and NETSNMP and STLPORT iostream library if you choose to use these), and two header files from NSPR. To get a complete kit use

make install INSTALL_PATH=path

where path is where you want the kit installed. If you have doxygen the documentation will be created by the install target, or you can make it independently with "make doc". In either case the documentation will get copied to the install path too.

<<less
Download (0.20MB)
Added: 2005-10-06 License: LGPL (GNU Lesser General Public License) Price:
1480 downloads
GEneral NEural SImulation System 2.2.1

GEneral NEural SImulation System 2.2.1


GEneral NEural SImulation System is a neural network simulator. more>>
GENESIS (short for GEneral NEural SImulation System) is a general purpose simulation platform that was developed to support the simulation of neural systems ranging from subcellular components and biochemical reactions to complex models of single neurons, simulations of large networks, and systems-level models.

GENESIS has provided the basis for laboratory courses in neural simulation at Caltech, the Marine Biological Laboratory, the Crete, Trieste, Bangalore, and Obidos short courses in Computational Neuroscience, and at least 49 universities of which we are aware.

Most current GENESIS applications involve realistic simulations of biological neural systems. Although the software can also model more abstract networks, other simulators are more suitable for backpropagation and similar connectionist modeling.

Installation

1. Pick the place where you want to install the "genesis" directory tree. If you are making a system-wide installation as "root" user, /usr/local is a good choice. For a personal installation, without root privileges, you can use your home directory ("~"). Change to this directory and extract the genesis directory from the archive file genesis2.2.1-linux-bin.tar.gz. For example,

cd /usr/local
tar xvzf /mnt/cdrom/genesis2.2.1-linux-bin.tar.gz

or from wherever you have it (e.g.~/downloads/genesis2.2.1-linux-bin.tar.gz).

2. Change to the "genesis" directory and run the setup script that creates the ".simrc" GENESIS initialization file". Then copy .simrc to your home directory.

cd genesis
./binsetup
cp .simrc ~

3. Finallly, add the genesis directory to your search path, so that "genesis" can be found from any directory that you are in. If your login shell is bash, you can do this by editing the .bashrc file in your home directory to add the line

PATH=$PATH:/usr/local/genesis

at the end of the file. If you are using tcsh or csh as your command shell, add

set path=($path /usr/local/genesis)

to your .tcsh or .csh file.

At this point, you are ready to try running GENESIS. Change into the directory genesis/Scripts and try some of the tutorials suggested in the README file.
<<less
Download (7.5MB)
Added: 2005-04-01 License: BSD License Price:
1667 downloads
General Stream Manipulation Platform 0.0.6

General Stream Manipulation Platform 0.0.6


General Stream Manipulation Platform (GSMP) aims to become for sound what The GIMP is for graphics. more>>
The General Stream Manipulation Platform (GSMP) aims to become for sound what The GIMP is for graphics.
Some years ago, there had been a lack of useable audio-software for Linux - especially for a good multitrack wave-editor - so we decided to write a gtk-- based one that is available under the terms of the GPL.
Now we focus on building a complete and open-source Virtual Studio environment for Linux:
GSMP Studio will feature both MIDI and DSP/Audio as well as beeing open for other kind of data.
It is intended to become a powerfull framework for the user to assemble his own "virtual studio" within the application from various components (like multitrack hd-recorder, midi-sequencer, synth and signalprocessors).
Other than most commercial applications of this kind, the hd-recorder and midi-sequencer will not be the neccessary components of this studio, and setups without them will be possible. For example GSMP can be used as a synthesizer or multi-effect-proccessor in live-setups.
Main features:
- Non-destructive editing: All action on the audio data can be made undone. So you can play around with the effects without modifying any bit of your original data file.
- Multi-threaded design: GSMP is multi-threaded. Especially the the wave-plots and the FXs are generated in a background thread and the UI keeps interactive!
- Internal sample-format: 24/8 bit fixed-point arithmetic is used to allow overflows with no acurrany loss.
- Internal sample-index: 64 bit indexes are used to allow live takes even at 96kHz DVD quality.
- Track count: The track count is not limitted. Also multi-track recording is supported, too. In fact we used GSMP-Editor to record 10 channels with the MIDIMAN Delta 1010 two month ago!!! (BTW: 2-8% CPU load on an Athlon 600Mhz ...)
- Realtime effect prehearing: Most effects can be pre-heared during playback!
- Supported import-formats: Currently MS-Wave, Ogg/Vorbis and MP3 (experimental!!!) are supported. Decompression is done on-the-fly!
- Supported export-formats: Currently only Wave is supported.
- Current effects: Fadings, graphical-eq, some IIR filters, compressor, noise-gate, de-click and reverb.
- The editor has multi-selections. This means you can select non-continous regions (that can be cutted or pasted) - like in The GIMP. You have to press the "Shift" or "Strg" key while moving the mouse for this.
- To enable the OSS plugin when ALSA is also compiled you have to add "--oss" on the command line. (The next release will contain a real dialog to change this ...)
- The two button in the lower-left corner of the main-window are "Follow Current Position" and "Follor IO Position" to let the view automatikally follow a marker ;-)
- When you load (import) a file the zoom is not changed. So you might not see a wave, because the zoom is still 1:1 -> simply zoom out a bit.
- To speed-up GSMP you should pipe all the debugging informations into the "null-device": "gsmp > /dev/null"
<<less
Download (0.40MB)
Added: 2006-07-24 License: GPL (GNU General Public License) Price:
1192 downloads
Tightly secured firewall for general use

Tightly secured firewall for general use


Tightly secured firewall for general use is an iptables firewall script. more>>
Tightly secured firewall for general use is an iptables firewall script.

Sample:

#!/bin/sh
echo "Initializing modules..."
cd /lib/modules/2.4.1/kernel/net/ipv4/netfilter
insmod ip_tables
insmod ip_conntrack
insmod ipt_state
insmod ipt_limit
#insmod iptable_mangle
#insmod ipt_PERS
echo "Flushing rules.."
#iptables -F PREROUTING
#iptables -t mangle -F OUTPUT
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
if [ "$1" == "start" ]; then
echo "Setting up spoof protection..."
for blah in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo "1" > $blah
done
echo "Setting default routes..."
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
echo "Configuring external interface rulesets..."
#iptables -t mangle -A PREROUTING -j PERS --local --tweak dst --conf /etc/win9x.conf
#iptables -t mangle -A OUTPUT -j PERS --local --tweak src --conf /etc/win9x.conf
iptables -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 255.255.255.255/32 -j DROP
iptables -A INPUT -i eth0 -s 0.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 169.254.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth0 -s 192.0.2.0/24 -j DROP
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 224.0.0.0/4 -j DROP
iptables -A INPUT -i eth0 -s 240.0.0.0/5 -j DROP
iptables -A INPUT -i eth0 -s 248.0.0.0/5 -j DROP
iptables -A INPUT -i eth0 -f -j DROP
iptables -A INPUT -i eth0 -p TCP -m state --state INVALID -j DROP
iptables -A INPUT -i eth0 -p TCP --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024:5000 --dport 20 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024:5000 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024:5000 --dport 23 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024:5000 --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024:5000 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024:5000 --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024:5000 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024:5000 --dport 113 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024:5000 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth0 -p TCP -s 0/0 --sport 1024:5000 -d 0/0 --dport 1998 -j ACCEPT
#iptables -A INPUT -i eth0 -p TCP -s 0/0 --sport 1024:5000 -d 0/0 --dport 1999 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --dport 32768:61000 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 20 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 23 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 113 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 1998 -j ACCEPT
#iptables -A INPUT -i eth0 -p TCP --sport 32768:61000 --dport 1999 -j ACCEPT
#iptables -A INPUT -i eth0 -p UDP -j DENY
iptables -A INPUT -i eth0 -p UDP -s 0/0 --sport 53 -j ACCEPT
#iptables -A INPUT -i eth0 -p UDP -s 0/0 --dport 53 -j ACCEPT
#iptables -A INPUT -i eth0 -p UDP -s 0/0 --sport 161 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 0/0 --sport ntp -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 0/0 --dport ntp -j ACCEPT
iptables -A INPUT -i eth0 -p ICMP --icmp-type echo-reply -j ACCEPT
echo "Configuring routing rulesets..."
iptables -A FORWARD -i eth0 -d 205.188.153.139/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.153.140/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.153.141/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.7.168/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.7.164/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.7.178/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.7.172/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.7.176/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.5.208/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.4.159/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.3.160/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.3.176/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.5.204/32 -j DROP
iptables -A FORWARD -i eth0 -d 205.188.153.139/32 -j DROP
iptables -A FORWARD -i eth0 -d 209.185.128.132/32 -j DROP
iptables -A FORWARD -i eth0 -d 152.163.241.128/32 -j DROP
iptables -A FORWARD -i eth0 -d 152.163.242.24/32 -j DROP
iptables -A FORWARD -i eth0 -d 152.163.242.28/32 -j DROP
iptables -A FORWARD -i eth0 -d 152.163.241.120/32 -j DROP
iptables -A FORWARD -i eth0 -p TCP --sport 1024: --dport 9898 -j DROP
iptables -A FORWARD -i eth0 -d 10.0.0.0/8 -j DROP
iptables -A FORWARD -i eth0 -d 127.0.0.0/8 -j DROP
iptables -A FORWARD -i eth0 -p igmp -j DROP
iptables -A FORWARD -i eth0 -p TCP --syn -m limit --limit 10/s -j ACCEPT
iptables -A FORWARD -i eth0 -p TCP --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 10/s -j ACCEPT
echo "Configuring internal interface rulesets..."
iptables -A INPUT -i lo -j ACCEPT
echo "IPtables firewall configuration completed."
fi
<<less
Download (MB)
Added: 2007-02-14 License: GPL (GNU General Public License) Price:
983 downloads
GenChemLab 1.0

GenChemLab 1.0


GenChemLab is a chemistry experiment simulator. more>>
GenChemLab is an OpenGL-based application intended to simulate several common general chemistry exercises. It is meant to be used to help students prepare for actual lab experience. It could also be used in cases where laboratory facilites are not accessible, for instance in K-12 schools or home schooling.

At present, supported experiments include titration, calorimetry, freezing point depression, vapor pressure, and spectrophotometry.

<<less
Download (0.33MB)
Added: 2005-04-01 License: GPL (GNU General Public License) Price:
1670 downloads
GNOME Translate 0.99

GNOME Translate 0.99


GNOME Translate is a natural language translator. more>>
GNOME Translate is a GNOME interface to libtranslate. It can translate a text or web page between several natural languages, and it can automatically detect the source language as you type.

GNOME Translate is free software, released under the terms of the GNU General Public License.

<<less
Download (0.29MB)
Added: 2005-07-29 License: GPL (GNU General Public License) Price:
1550 downloads
Sendmail 8.14.1

Sendmail 8.14.1


Sendmail is a powerful and flexible Mail Transport Agent. more>>
Sendmail application is a Mail Transfer Agent, which is the program that moves mail from one machine to another.

Sendmail implements a general internetwork mail routing facility, featuring aliasing and forwarding, automatic routing to network gateways, and flexible configuration.
<<less
Download (2.0MB)
Added: 2007-04-04 License: BSD License Price:
934 downloads
MetEngVerter for Linux 1.0

MetEngVerter for Linux 1.0


MetEngVerter Metric/English Measurement Converter more>> MetEngVerter 1.0 by Capaho Web is a desktop tool that converts between selected Metric/English measurements. It provides reasonably accurate conversions between selected units of measure for household and other general use.<<less
Download (1.05MB)
Added: 2009-04-02 License: Freeware Price: Free
209 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5