#
# Config file for collectd(1).
# Please read collectd.conf(5) for a list of options.
# http://collectd.org/
#

##############################################################################
# Global                                                                     #
#----------------------------------------------------------------------------#
# Global settings for the daemon.                                            #
##############################################################################

#Hostname    "localhost"
FQDNLookup   true
#BaseDir     "@prefix@/var/lib/@PACKAGE_NAME@"
#PIDFile     "@prefix@/var/run/@PACKAGE_NAME@.pid"
#PluginDir   "@prefix@/lib/@PACKAGE_NAME@"
#TypesDB     "@prefix@/share/@PACKAGE_NAME@/types.db"
#Interval     10
#ReadThreads  5

##############################################################################
# Logging                                                                    #
#----------------------------------------------------------------------------#
# Plugins which provide logging functions should be loaded first, so log     #
# messages generated when loading or configuring other plugins can be        #
# accessed.                                                                  #
##############################################################################

@LOAD_PLUGIN_SYSLOG@LoadPlugin syslog
@LOAD_PLUGIN_LOGFILE@LoadPlugin logfile

#<Plugin logfile>
#	LogLevel @DEFAULT_LOG_LEVEL@
#	File STDOUT
#	Timestamp true
#</Plugin>

#<Plugin syslog>
#	LogLevel @DEFAULT_LOG_LEVEL@
#</Plugin>

##############################################################################
# LoadPlugin section                                                         #
#----------------------------------------------------------------------------#
# Lines beginning with a single `#' belong to plugins which have been built  #
# but are disabled by default.                                               #
#                                                                            #
# Lines begnning with `##' belong to plugins which have not been built due   #
# to missing dependencies or because they have been deactivated explicitly.  #
##############################################################################

#@BUILD_PLUGIN_APACHE_TRUE@LoadPlugin apache
#@BUILD_PLUGIN_APCUPS_TRUE@LoadPlugin apcups
#@BUILD_PLUGIN_APPLE_SENSORS_TRUE@LoadPlugin apple_sensors
#@BUILD_PLUGIN_ASCENT_TRUE@LoadPlugin ascent
#@BUILD_PLUGIN_BATTERY_TRUE@LoadPlugin battery
#@BUILD_PLUGIN_BIND_TRUE@LoadPlugin bind
#@BUILD_PLUGIN_CONNTRACK_TRUE@LoadPlugin conntrack
#@BUILD_PLUGIN_COUCHDB_TRUE@LoadPlugin couchdb
@BUILD_PLUGIN_CPU_TRUE@@BUILD_PLUGIN_CPU_TRUE@LoadPlugin cpu
#@BUILD_PLUGIN_CPUFREQ_TRUE@LoadPlugin cpufreq
@LOAD_PLUGIN_CSV@LoadPlugin csv
#@BUILD_PLUGIN_CURL_TRUE@LoadPlugin curl
#@BUILD_PLUGIN_DBI_TRUE@LoadPlugin dbi
#@BUILD_PLUGIN_DF_TRUE@LoadPlugin df
#@BUILD_PLUGIN_DISK_TRUE@LoadPlugin disk
#@BUILD_PLUGIN_DNS_TRUE@LoadPlugin dns
#@BUILD_PLUGIN_EMAIL_TRUE@LoadPlugin email
#@BUILD_PLUGIN_ENTROPY_TRUE@LoadPlugin entropy
#@BUILD_PLUGIN_EXEC_TRUE@LoadPlugin exec
#@BUILD_PLUGIN_FILECOUNT_TRUE@LoadPlugin filecount
#@BUILD_PLUGIN_FSCACHE_TRUE@LoadPlugin fscache
#@BUILD_PLUGIN_GMOND_TRUE@LoadPlugin gmond
#@BUILD_PLUGIN_HDDTEMP_TRUE@LoadPlugin hddtemp
@BUILD_PLUGIN_INTERFACE_TRUE@@BUILD_PLUGIN_INTERFACE_TRUE@LoadPlugin interface
#@BUILD_PLUGIN_IPTABLES_TRUE@LoadPlugin iptables
#@BUILD_PLUGIN_IPMI_TRUE@LoadPlugin ipmi
#@BUILD_PLUGIN_IPVS_TRUE@LoadPlugin ipvs
#@BUILD_PLUGIN_IRQ_TRUE@LoadPlugin irq
#@BUILD_PLUGIN_JAVA_TRUE@LoadPlugin java
#@BUILD_PLUGIN_LIBVIRT_TRUE@LoadPlugin libvirt
@BUILD_PLUGIN_LOAD_TRUE@@BUILD_PLUGIN_LOAD_TRUE@LoadPlugin load
#@BUILD_PLUGIN_MBMON_TRUE@LoadPlugin mbmon
#@BUILD_PLUGIN_MEMCACHEC_TRUE@LoadPlugin memcachec
#@BUILD_PLUGIN_MEMCACHED_TRUE@LoadPlugin memcached
@BUILD_PLUGIN_MEMORY_TRUE@@BUILD_PLUGIN_MEMORY_TRUE@LoadPlugin memory
#@BUILD_PLUGIN_MULTIMETER_TRUE@LoadPlugin multimeter
#@BUILD_PLUGIN_MYSQL_TRUE@LoadPlugin mysql
#@BUILD_PLUGIN_NETLINK_TRUE@LoadPlugin netlink
@LOAD_PLUGIN_NETWORK@LoadPlugin network
#@BUILD_PLUGIN_NFS_TRUE@LoadPlugin nfs
#@BUILD_PLUGIN_NGINX_TRUE@LoadPlugin nginx
#@BUILD_PLUGIN_NOTIFY_DESKTOP_TRUE@LoadPlugin notify_desktop
#@BUILD_PLUGIN_NOTIFY_EMAIL_TRUE@LoadPlugin notify_email
#@BUILD_PLUGIN_NTPD_TRUE@LoadPlugin ntpd
#@BUILD_PLUGIN_NUT_TRUE@LoadPlugin nut
#@BUILD_PLUGIN_ONEWIRE_TRUE@LoadPlugin onewire
#@BUILD_PLUGIN_OPENVPN_TRUE@LoadPlugin openvpn
#@BUILD_PLUGIN_ORACLE_TRUE@LoadPlugin oracle
#@BUILD_PLUGIN_PERL_TRUE@LoadPlugin perl
#@BUILD_PLUGIN_PING_TRUE@LoadPlugin ping
#@BUILD_PLUGIN_POSTGRESQL_TRUE@LoadPlugin postgresql
#@BUILD_PLUGIN_POWERDNS_TRUE@LoadPlugin powerdns
#@BUILD_PLUGIN_PROCESSES_TRUE@LoadPlugin processes
#@BUILD_PLUGIN_PROTOCOLS_TRUE@LoadPlugin protocols
#@BUILD_PLUGIN_RRDCACHED_TRUE@LoadPlugin rrdcached
@LOAD_PLUGIN_RRDTOOL@LoadPlugin rrdtool
#@BUILD_PLUGIN_SENSORS_TRUE@LoadPlugin sensors
#@BUILD_PLUGIN_SERIAL_TRUE@LoadPlugin serial
#@BUILD_PLUGIN_SNMP_TRUE@LoadPlugin snmp
#@BUILD_PLUGIN_SWAP_TRUE@LoadPlugin swap
#@BUILD_PLUGIN_TABLE_TRUE@LoadPlugin table
#@BUILD_PLUGIN_TAIL_TRUE@LoadPlugin tail
#@BUILD_PLUGIN_TAPE_TRUE@LoadPlugin tape
#@BUILD_PLUGIN_TCPCONNS_TRUE@LoadPlugin tcpconns
#@BUILD_PLUGIN_TEAMSPEAK2_TRUE@LoadPlugin teamspeak2
#@BUILD_PLUGIN_TED_TRUE@LoadPlugin ted
#@BUILD_PLUGIN_THERMAL_TRUE@LoadPlugin thermal
#@BUILD_PLUGIN_UNIXSOCK_TRUE@LoadPlugin unixsock
#@BUILD_PLUGIN_UPTIME_TRUE@LoadPlugin uptime
#@BUILD_PLUGIN_USERS_TRUE@LoadPlugin users
#@BUILD_PLUGIN_UUID_TRUE@LoadPlugin uuid
#@BUILD_PLUGIN_VMEM_TRUE@LoadPlugin vmem
#@BUILD_PLUGIN_VSERVER_TRUE@LoadPlugin vserver
#@BUILD_PLUGIN_WIRELESS_TRUE@LoadPlugin wireless
#@BUILD_PLUGIN_XMMS_TRUE@LoadPlugin xmms

##############################################################################
# Plugin configuration                                                       #
#----------------------------------------------------------------------------#
# In this section configuration stubs for each plugin are provided. A desc-  #
# ription of those options is available in the collectd.conf(5) manual page. #
##############################################################################

#<Plugin apache>
#	URL "http://localhost/status?auto"
#	User "www-user"
#	Password "secret"
#	CACert "/etc/ssl/ca.crt"
#</Plugin>

#<Plugin apcups>
#	Host "localhost"
#	Port "3551"
#</Plugin>

#<Plugin ascent>
#	URL "http://localhost/ascent/status/"
#	User "www-user"
#	Password "secret"
#	CACert "/etc/ssl/ca.crt"
#</Plugin>

#<Plugin "bind">
#  URL "http://localhost:8053/"
#  OpCodes         true
#  QTypes          true
#
#  ServerStats     true
#  ZoneMaintStats  true
#  ResolverStats   false
#  MemoryStats     true
#
#  <View "_default">
#    QTypes        true
#    ResolverStats true
#    CacheRRSets   true
#
#    Zone "127.in-addr.arpa/IN"
#  </View>
#</Plugin>

#<Plugin couchdb>
## See: http://wiki.apache.org/couchdb/Runtime_Statistics
#  <URL "http://localhost:5984/_stats">
#    Instance "httpd"
#    <Key "httpd/requests/count">
#      Type "http_requests"
#    </Key>
#
#    <Key "httpd_request_methods/*/count">
#      Type "http_request_methods"
#    </Key>
#
#    <Key "httpd_status_codes/*/count">
#      Type "http_response_codes"
#    </Key>
#  </URL>
## Database status metrics:
#  <URL "http://localhost:5984/_all_dbs">
#    Instance "dbs"
#    <Key "*/doc_count">
#      Type "gauge"
#    </Key>
#    <Key "*/doc_del_count">
#      Type "counter"
#    </Key>
#    <Key "*/disk_size">
#      Type "bytes"
#    </Key>
#  </URL>
#</Plugin>

#<Plugin csv>
#	DataDir "@prefix@/var/lib/@PACKAGE_NAME@/csv"
#	StoreRates false
#</Plugin>

#<Plugin curl>
#  <Page "stock_quotes">
#    URL "http://finance.google.com/finance?q=NYSE%3AAMD"
#    User "foo"
#    Password "bar"
#    <Match>
#      Regex "<span +class=\"pr\"[^>]*> *([0-9]*\\.[0-9]+) *</span>"
#      DSType "GaugeAverage"
#      Type "stock_value"
#      Instance "AMD"
#    </Match>
#  </Page>
#</Plugin>

#<Plugin dbi>
#	<Query "num_of_customers">
#		Statement "SELECT 'customers' AS c_key, COUNT(*) AS c_value FROM customers_tbl"
#		<Result>
#			Type "gauge"
#			InstancesFrom "c_key"
#			ValuesFrom "c_value"
#		</Result>
#	</Query>
#	<Database "customers_db">
#		Driver "mysql"
#		DriverOption "host" "localhost"
#		DriverOption "username" "collectd"
#		DriverOption "password" "AeXohy0O"
#		DriverOption "dbname" "custdb0"
#		#SelectDB "custdb0"
#		Query "num_of_customers"
#		#Query "..."
#	</Database>
#</Plugin>

#<Plugin df>
#	Device "/dev/hda1"
#	Device "192.168.0.2:/mnt/nfs"
#	MountPoint "/home"
#	FSType "ext3"
#	IgnoreSelected false
#</Plugin>

#<Plugin disk>
#	Disk "/^[hs]d[a-f][0-9]?$/"
#	IgnoreSelected false
#</Plugin>

#<Plugin dns>
#	Interface "eth0"
#	IgnoreSource "192.168.0.1"
#</Plugin>

#<Plugin email>
#	SocketFile "@prefix@/var/run/@PACKAGE_NAME@-email"
#	SocketGroup "collectd"
#	SocketPerms "0770"
#	MaxConns 5
#</Plugin>

#<Plugin exec>
#	Exec "user:group" "/path/to/exec"
#	NotificationExec "user:group" "/path/to/exec"
#</Plugin>

#<Plugin filecount>
#	<Directory "/path/to/dir">
#		Instance "foodir"
#		Name "*.conf"
#		MTime "-5m"
#		Size "+10k"
#		Recursive true
#	</Directory>
#</Plugin>

#<Plugin "gmond">
#  MCReceiveFrom "239.2.11.71" "8649"
#  <Metric "swap_total">
#    Type "swap"
#    TypeInstance "total"
#    DataSource "value"
#  </Metric>
#  <Metric "swap_free">
#    Type "swap"
#    TypeInstance "free"
#    DataSource "value"
#  </Metric>
#</Plugin>

#<Plugin hddtemp>
#  Host "127.0.0.1"
#  Port "7634"
#
#  #----------------------------------------------------------------#
#  # `TranslateDevicename' enabled backwards compatibility behavior #
#  # and is enabled by default. Setting this option to `false' is   #
#  # highly recommended.                                            #
#  #----------------------------------------------------------------#
#  TranslateDevicename false
#</Plugin>

#<Plugin interface>
#	Interface "eth0"
#	IgnoreSelected false
#</Plugin>

#<Plugin iptables>
#	Chain table chain
#</Plugin>

#<Plugin irq>
#	Irq 7
#	Irq 8
#	Irq 9
#	IgnoreSelected true
#</Plugin>

#<Plugin "java">
#	JVMArg "-verbose:jni"
#	JVMArg "-Djava.class.path=/opt/collectd/lib/collectd/bindings/java"
#
#	LoadPlugin "org.collectd.java.Foobar"
#	<Plugin "org.collectd.java.Foobar">
#	  # To be parsed by the plugin
#	</Plugin>
#</Plugin>

#<Plugin libvirt>
#	Connection "xen:///"
#	RefreshInterval 60
#	Domain "name"
#	BlockDevice "name:device"
#	InterfaceDevice "name:device"
#	IgnoreSelected false
#	HostnameFormat name
#</Plugin>

#<Plugin mbmon>
#	Host "127.0.0.1"
#	Port "411"
#</Plugin>

#<Plugin memcachec>
#	<Page "plugin_instance">
#		Server "localhost"
#		Key "page_key"
#		<Match>
#			Regex "(\\d+) bytes sent"
#			DSType CounterAdd
#			Type "ipt_octets"
#			Instance "type_instance"
#		</Match>
#	</Page>
#</Plugin>

#<Plugin memcached>
#	Host "127.0.0.1"
#	Port "11211"
#</Plugin>

#<Plugin mysql>
#	<Database db_name>
#		Host "database.serv.er"
#		User "db_user"
#		Password "secret"
#		Database "db_name"
#		MasterStats true
#	</Database>
#
#	<Database db_name2>
#		Host "localhost"
#		Socket "/var/run/mysql/mysqld.sock"
#		SlaveStats true
#		SlaveNotifications true
#	</Database>
#</Plugin>

#<Plugin netlink>
#	Interface "All"
#	VerboseInterface "All"
#	QDisc "eth0" "pfifo_fast-1:0"
#	Class "ppp0" "htb-1:10"
#	Filter "ppp0" "u32-1:0"
#	IgnoreSelected false
#</Plugin>

@LOAD_PLUGIN_NETWORK@<Plugin network>
@LOAD_PLUGIN_NETWORK@	Server "ff18::efc0:4a42" "25826"
@LOAD_PLUGIN_NETWORK@	Server "239.192.74.66" "25826"
#	Listen "ff18::efc0:4a42" "25826"
#	Listen "239.192.74.66" "25826"
#	TimeToLive "128"
#	Forward false
#	CacheFlush 1800
@LOAD_PLUGIN_NETWORK@</Plugin>

#<Plugin nginx>
#	URL "http://localhost/status?auto"
#	User "www-user"
#	Password "secret"
#	CACert "/etc/ssl/ca.crt"
#</Plugin>

#<Plugin notify_desktop>
#	OkayTimeout 1000
#	WarningTimeout 5000
#	FailureTimeout 0
#</Plugin>

#<Plugin notify_email>
#       SMTPServer "localhost"
#	SMTPPort 25
#	SMTPUser "my-username"
#	SMTPPassword "my-password"
#	From "collectd@main0server.com"
#	# <WARNING/FAILURE/OK> on <hostname>. beware! do not use not more than two %s in this string!!!
#	Subject "Aaaaaa!! %s on %s!!!!!"
#	Recipient "email1@domain1.net"
#	Recipient "email2@domain2.com"
#</Plugin>

#<Plugin ntpd>
#	Host "localhost"
#	Port 123
#	ReverseLookups false
#</Plugin>

#<Plugin nut>
#	UPS "upsname@hostname:port"
#</Plugin>

#<Plugin onewire>
#	Device "-s localhost:4304"
#	Sensor "F10FCA000800"
#	IgnoreSelected false
#</Plugin>

#<Plugin openvpn>
#	StatusFile "/etc/openvpn/openvpn-status.log"
#</Plugin>

#<Plugin oracle>
#  <Query "out_of_stock">
#    Statement "SELECT category, COUNT(*) AS value FROM products WHERE in_stock = 0 GROUP BY category"
#    <Result>
#      Type "gauge"
#      InstancesFrom "category"
#      ValuesFrom "value"
#    </Result>
#  </Query>
#  <Database "product_information">
#    ConnectID "db01"
#    Username "oracle"
#    Password "secret"
#    Query "out_of_stock"
#  </Database>
#</Plugin>

#<Plugin perl>
#	IncludeDir "/my/include/path"
#	BaseName "Collectd::Plugin"
#	EnableDebugger ""
#	LoadPlugin foo
#
#	<Plugin foo>
#		Foo "Bar"
#		Qux "Baz"
#	</Plugin>
#</Plugin>

#<Plugin ping>
#	Host "host.foo.bar"
#	TTL 255
#</Plugin>

#<Plugin postgresql>
#	<Query magic>
#		Statement "SELECT magic FROM wizard WHERE host = $1;"
#		Param hostname
#		<Result>
#			Type gauge
#			InstancePrefix "magic"
#			ValuesFrom magic
#		</Result>
#	</Query>
#	<Query rt36_tickets>
#		Statement "SELECT COUNT(type) AS count, type \
#		                  FROM (SELECT CASE \
#		                               WHEN resolved = 'epoch' THEN 'open' \
#		                               ELSE 'resolved' END AS type \
#		                               FROM tickets) type \
#		                  GROUP BY type;"
#		<Result>
#			Type counter
#			InstancePrefix "rt36_tickets"
#			InstancesFrom "type"
#			ValuesFrom "count"
#		</Result>
#	</Query>
#	<Database foo>
#		Host "hostname"
#		Port "5432"
#		User "username"
#		Password "secret"
#		SSLMode "prefer"
#		KRBSrvName "kerberos_service_name"
#		Query magic
#	</Database>
#	<Database bar>
#		Service "service_name"
#		Query backend # predefined
#		Query rt36_tickets
#	</Database>
#</Plugin>

#<Plugin powerdns>
#  <Server "server_name">
#    Collect "latency"
#    Collect "udp-answers" "udp-queries"
#    Socket "/var/run/pdns.controlsocket"
#  </Server>
#  <Recursor "recursor_name">
#    Collect "questions"
#    Collect "cache-hits" "cache-misses"
#    Socket "/var/run/pdns_recursor.controlsocket"
#  </Recursor>
#  LocalSocket "/opt/collectd/var/run/collectd-powerdns"
#</Plugin>

#<Plugin processes>
#	Process "name"
#</Plugin>

#<Plugin protocols>
#	Value "/^Tcp:/"
#	IgnoreSelected false
#</Plugin>

#<Plugin rrdcached>
#	DaemonAddress "unix:/tmp/rrdcached.sock"
#	DataDir "@prefix@/var/lib/@PACKAGE_NAME@/rrd"
#	CreateFiles true
#	CollectStatistics true
#</Plugin>

#<Plugin rrdtool>
#	DataDir "@prefix@/var/lib/@PACKAGE_NAME@/rrd"
#	CacheTimeout 120
#	CacheFlush   900
#</Plugin>

#<Plugin sensors>
#	Sensor "it8712-isa-0290/temperature-temp1"
#	Sensor "it8712-isa-0290/fanspeed-fan3"
#	Sensor "it8712-isa-0290/voltage-in8"
#	IgnoreSelected false
#</Plugin>

#<Plugin snmp>
#   <Data "powerplus_voltge_input">
#       Type "voltage"
#       Table false
#       Instance "input_line1"
#       Values "SNMPv2-SMI::enterprises.6050.5.4.1.1.2.1"
#   </Data>
#   <Data "hr_users">
#       Type "users"
#       Table false
#       Instance ""
#       Values "HOST-RESOURCES-MIB::hrSystemNumUsers.0"
#   </Data>
#   <Data "std_traffic">
#       Type "if_octets"
#       Table true
#       Instance "IF-MIB::ifDescr"
#       Values "IF-MIB::ifInOctets" "IF-MIB::ifOutOctets"
#   </Data>
#
#   <Host "some.switch.mydomain.org">
#       Address "192.168.0.2"
#       Version 1
#       Community "community_string"
#       Collect "std_traffic"
#       Inverval 120
#   </Host>
#   <Host "some.server.mydomain.org">
#       Address "192.168.0.42"
#       Version 2
#       Community "another_string"
#       Collect "std_traffic" "hr_users"
#   </Host>
#   <Host "some.ups.mydomain.org">
#       Address "192.168.0.3"
#       Version 1
#       Community "more_communities"
#       Collect "powerplus_voltge_input"
#       Interval 300
#   </Host>
#</Plugin>

#<Plugin "table">
#	<Table "/proc/slabinfo">
#		Instance "slabinfo"
#		Separator " "
#		<Result>
#			Type gauge
#			InstancePrefix "active_objs"
#			InstancesFrom 0
#			ValuesFrom 1
#		</Result>
#		<Result>
#			Type gauge
#			InstancePrefix "objperslab"
#			InstancesFrom 0
#			ValuesFrom 4
#		</Result>
#	</Table>
#</Plugin>

#<Plugin "tail">
#  <File "/var/log/exim4/mainlog">
#    Instance "exim"
#    <Match>
#      Regex "S=([1-9][0-9]*)"
#      DSType "CounterAdd"
#      Type "ipt_bytes"
#      Instance "total"
#    </Match>
#    <Match>
#      Regex "\\<R=local_user\\>"
#      DSType "CounterInc"
#      Type "counter"
#      Instance "local_user"
#    </Match>
#  </File>
#</Plugin>

#<Plugin tcpconns>
#	ListeningPorts false
#	LocalPort "25"
#	RemotePort "25"
#</Plugin>

#<Plugin teamspeak2>
#	Host "127.0.0.1"
#	Port "51234"
#	Server "8767"
#</Plugin>

#<Plugin ted>
#	Device "/dev/ttyUSB0"
#	Retries 0
#</Plugin>

#<Plugin thermal>
#	ForceUseProcfs false
#	Device "THRM"
#	IgnoreSelected false
#</Plugin>

#<Plugin unixsock>
#	SocketFile "@prefix@/var/run/@PACKAGE_NAME@-unixsock"
#	SocketGroup "collectd"
#	SocketPerms "0660"
#</Plugin>

#<Plugin uuid>
#	UUIDFile "/etc/uuid"
#</Plugin>

#<Plugin vmem>
#	Verbose false
#</Plugin>

##############################################################################
# Filter configuration                                                       #
#----------------------------------------------------------------------------#
# The following configures collectd's filtering mechanism. Before changing   #
# anything in this section, please read the `FILTER CONFIGURATION' section   #
# in the collectd.conf(5) manual page.                                       #
##############################################################################

# Load required matches:
#@BUILD_PLUGIN_MATCH_REGEX_TRUE@LoadPlugin match_regex
#@BUILD_PLUGIN_MATCH_VALUE_TRUE@LoadPlugin match_value
#@BUILD_PLUGIN_MATCH_TIMEDIFF_TRUE@LoadPlugin match_timediff

# Load required targets:
#@BUILD_PLUGIN_TARGET_NOTIFICATION_TRUE@LoadPlugin target_notification
#@BUILD_PLUGIN_TARGET_REPLACE_TRUE@LoadPlugin target_replace
#@BUILD_PLUGIN_TARGET_SET_TRUE@LoadPlugin target_set

#----------------------------------------------------------------------------#
# The following block demonstrates the default behavior if no filtering is   #
# configured at all: All values will be sent to all available write plugins. #
#----------------------------------------------------------------------------#

#<Chain "Main">
#  Target "write"
#</Chain>
