ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/web/www/libstatgrab/index.xhtml
(Generate patch)

Comparing web/www/libstatgrab/index.xhtml (file contents):
Revision 1.10 by tdb, Wed Oct 22 15:02:22 2003 UTC vs.
Revision 1.47 by tdb, Fri Jul 13 20:46:34 2007 UTC

# Line 1 | Line 1
1 < <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <
3 < <!--
4 <    $Author$
5 <    $Id$
6 < -->
7 <
8 < <html>
9 <
10 < <head>
11 <  <title>i-scream libstatgrab homepage</title>
12 < </head>
13 <
14 < <body bgcolor="#ffffff" link="#0000ff" alink="#3333cc" vlink="#3333cc" text="#000066">
15 <
16 < <table border="0" cellpadding="2" cellspacing="2">
17 <  <tr>
18 <    <td valign="top">
19 < <!--#include virtual="../left.inc" -->
20 <    </td>
21 <    <td valign="top">
22 < <!--#include virtual="../title.inc" -->
23 <
24 < <font size="2" face="arial,sans-serif">
25 <
26 < <h1>libstatgrab</h1>
27 <
28 < <ul>
29 < <li><a href="#news">News</a></li>
30 < <li><a href="#what">What is libstatgrab?</a></li>
31 < <li><a href="#download">Downloading</a></li>
32 < <li><a href="#documentation">Documentation</a></li>
33 < <li><a href="#screenshot">Screenshot</a></li>
34 < </ul>
35 <
36 < <a name="news"><h2>News</h2></a>
37 <
38 < <p>
39 < <b>Wednesday 22 October 2003</b><br><br>
40 < Version 0.7 of libstatgrab has been released.<br>
41 < Download it
42 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.7.tar.gz">here</a>.
43 < The most significant change in this release is support for NetBSD
44 < 1.6.x. Parts of the FreeBSD code have been optimised, and an initialise
45 < function has been added to allow programs to drop any extra privileges
46 < libstatgrab needs on BSD platforms. The list of known file systems has
47 < been increased, and libstatgrab has been tested on even more platforms.
48 < Finally, saidar has been tweaked to work even if it can't get all the
49 < statistics.
50 < </p>
51 <
52 < <p>
53 < <b>Saturday 18 October 2003</b><br><br>
54 < Version 0.6.1 of libstatgrab has been released.<br>
55 < Download it
56 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.6.1.tar.gz">here</a>.
57 < This release brings support for FreeBSD 5 on sparc 64, and some
58 < bugfixes in FreeBSD memory statistics. Also, some fixes to saidar,
59 < and statgrab.
60 < </p>
61 <
62 < <p>
63 < <b>Friday 10 October 2003</b><br><br>
64 < Version 0.6 of libstatgrab has been released.<br>
65 < You can download it from our mirror site
66 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.6.tar.gz">here</a>.
67 < This release includes some exciting new tools, support for FreeBSD
68 < 5.1, and documentation in manpages. Plus some major bugfixes and
69 < packaging enhancements.
70 < </p>
71 <
72 < <p>
73 < <b>Tuesday 09 September 2003</b><br><br>
74 < We're pleased to announce a new release of libstatgrab.<br>
75 < You can download version 0.5.1 from
76 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.5.1.tar.gz">here</a>.
77 < </p>
78 <
79 < <p>
80 < <b>Monday 25 August 2003</b><br><br>
81 < We're pleased to announce a new release of libstatgrab.<br>
82 < You can download version 0.5 from
83 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.5.tar.gz">here</a>.
84 < This release provides both documentation and examples, which
85 < we hope will make the package more useable. Stay tuned for the
86 < next release with some useful tools.
87 < </p>
88 <
89 < <a name="what"><h2>What is libstatgrab?</h2></a>
90 <
91 < <p>
92 < libstatgrab is a library that provides cross platform access to
93 < statistics about the system on which it's run. It's written in C and
94 < presents a selection of useful interfaces which can be used to access
95 < key system statistics. The current list of statistics includes CPU
96 < usage, memory utilisation, disk usage, process counts, network
97 < traffic, disk I/O, and more.
98 < </p>
99 <
100 < <p>
101 < The current list of platforms is Solaris 2.x, Linux 2.4, FreeBSD
102 < 4.x/5.x, and NetBSD 1.6.x. The aim is to extend this to include as many
103 < operating systems as possible.
104 < </p>
105 <
106 < <p>
107 < The package also includes a couple of useful tools. The first,
108 < <a href="#screenshot">saidar</a>, provides a curses-based interface to
109 < viewing the current state of the system. The second, statgrab, gives a
110 < sysctl-style interface to the statistics gathered by libstatgrab. This
111 < extends the use of libstatgrab to people writing scripts or anything
112 < else that can't easily make C function calls. Included with statgrab is
113 < a script to generate an <a href="http://www.mrtg.org">MRTG</a>
114 < configuration file to use statgrab.
115 < </p>
116 <
117 < <a name="download"><h2>Downloading</h2></a>
118 <
119 < <p>
120 < The latest version of libstatgrab can be downloaded from our
121 < primary download
122 < <a href="http://www.mirror.ac.uk/sites/ftp.i-scream.org/pub/i-scream/libstatgrab">mirror</a>.
123 < All downloads are pgp signed using our <a href="/pgpkey.shtml">PGP Key</a>.
124 < </p>
125 <
126 < <p>
127 < For installation instructions see the README and INSTALL files
128 < contained within the archive. If you're using
129 < <a href="http://www.freebsd.org">FreeBSD</a> you can make use of the
130 < <a href="http://www.freshports.org/devel/libstatgrab">devel/libstatgrab</a>
131 < port to install libstatgrab for you.
132 < </p>
133 <
134 < <a name="documentation"><h2>Documentation</h2></a>
135 <
136 < <p>
137 < The only online documentation we have at the moment is the manual
138 < pages converted in to HTML format. It's probably best to start with
139 < the overview manual page:
140 <
141 < <ul>
142 < <li><a href="statgrab.html">statgrab(3)</a></li>
143 < </ul>
144 < </p>
145 <
146 < <p>
147 < Then we have the manual pages for each function:
148 <
149 < <ul>
150 < <li><a href="cpu_percent_usage.html">cpu_percent_usage(3)</a></li>
151 < <li><a href="get_diskio_stats.html">get_diskio_stats(3)</a></li>
152 < <li><a href="get_general_stats.html">get_general_stats(3)</a></li>
153 < <li><a href="get_load_stats.html">get_load_stats(3)</a></li>
154 < <li><a href="get_memory_stats.html">get_memory_stats(3)</a></li>
155 < <li><a href="get_network_stats.html">get_network_stats(3)</a></li>
156 < <li><a href="get_page_stats.html">get_page_stats(3)</a></li>
157 < <li><a href="get_process_stats.html">get_process_stats(3)</a></li>
158 < <li><a href="get_user_stats.html">get_user_stats(3)</a></li>
159 < </ul>
160 < </p>
161 <
162 < <a name="screenshot"><h2>Screenshot</h2></a>
163 <
164 < <p>
165 < Here's what saidar looks like when it's running:
166 < </p>
167 < <p>
168 < <img src="saidar.png" alt="saidar screenshot">
169 < </p>
170 <
171 < </font>
172 <
173 < <!--#include virtual="../bottom.inc" -->
174 <    </td>
175 <  </tr>
176 < </table>
177 <
178 < </body>
1 > <!--#include virtual="/doctype.inc" -->
2 >  <head>
3 >    <title>
4 >      i-scream libstatgrab homepage
5 >    </title>
6 > <!--#include virtual="/style.inc" -->
7 >  </head>
8 >  <body>
9 >    <div id="container">
10 >      <div id="main">
11 > <!--#include virtual="/header.inc" -->
12 >        <div id="contents">
13 >          <h1 class="top">
14 >            i-scream libstatgrab homepage
15 >          </h1>
16 >          <div id="topnav">
17 >            <ul>
18 >              <li>
19 >                <a href="#what">What is libstatgrab?</a>
20 >              </li>
21 >              <li>
22 >                <a href="#news">News</a>
23 >              </li>
24 >              <li>
25 >                <a href="#download">Downloading</a>
26 >              </li>
27 >              <li>
28 >                <a href="#bindings">Language Bindings</a>
29 >              </li>
30 >              <li>
31 >                <a href="#packages">Packages</a>
32 >              </li>
33 >              <li>
34 >                <a href="#development">Development</a>
35 >              </li>
36 >              <li>
37 >                <a href="#documentation">Documentation</a>
38 >              </li>
39 >              <li>
40 >                <a href="#screenshot">Screenshot</a>
41 >              </li>
42 >            </ul>
43 >          </div>
44 > <!--#include virtual="/bannerad.inc" -->
45 >          <h2>
46 >            <a id="what">What is libstatgrab?</a>
47 >          </h2>
48 >          <p>
49 >            libstatgrab is a library that provides cross platform
50 >            access to statistics about the system on which it's run.
51 >            It's written in C and presents a selection of useful
52 >            interfaces which can be used to access key system
53 >            statistics. The current list of statistics includes CPU
54 >            usage, memory utilisation, disk usage, process counts,
55 >            network traffic, disk I/O, and more.
56 >          </p>
57 >          <p>
58 >            The current list of platforms is Solaris 2.x, Linux
59 >            2.2/2.4/2.6, FreeBSD 4.x/5.x, NetBSD 1.6.x, OpenBSD 3.x,
60 >            DragonFly BSD 1.0, HP-UX, and Cygwin. The aim is to extend
61 >            this to include as many operating systems as possible.
62 >          </p>
63 >          <p>
64 >            The package also includes a couple of useful tools. The
65 >            first, <a href="#screenshot">saidar</a>, provides a
66 >            curses-based interface to viewing the current state of the
67 >            system. The second, statgrab, gives a sysctl-style
68 >            interface to the statistics gathered by libstatgrab. This
69 >            extends the use of libstatgrab to people writing scripts or
70 >            anything else that can't easily make C function calls.
71 >            Included with statgrab is a script to generate an
72 >            <a href="http://www.mrtg.org">MRTG</a> configuration file
73 >            to use statgrab.
74 >          </p>
75 >          <h2>
76 >            <a id="news">News</a>
77 >          </h2>
78 >          <p>
79 >            To get notifications of new libstatgrab releases why not
80 >            subscribe to our project over on
81 >            <a href="http://freshmeat.net/projects/libstatgrab/">freshmeat</a>?
82 >          </p>
83 >          <h3>
84 >            Monday 8 January 2007
85 >          </h3>
86 >          <p>
87 >            Version 0.14 of libstatgrab has been released.<br />
88 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
89 >          </p>
90 >          <p>
91 >            This release contains mainly bugfixes - see the NEWS file
92 >            in the distribution for a full list. It also brings a new
93 >            feature in saidar: colour support, which can be activated
94 >            with the -c runtime flag.
95 >          </p>
96 >          <h3>
97 >            Monday 20 March 2006
98 >          </h3>
99 >          <p>
100 >            Version 0.13 of libstatgrab has been released.<br />
101 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
102 >          </p>
103 >          <p>
104 >            This release mainly includes a bunch of bug fixes, but
105 >            also brings preliminary support for WIN32. We've also
106 >            added a few lines to the header file to make C++ linking
107 >            easier. Please see the NEWS file in the distribution for
108 >            full details.
109 >          </p>
110 >          <h3>
111 >            Sunday 31 July 2005
112 >          </h3>
113 >          <p>
114 >            Version 0.12 of libstatgrab has been released.<br />
115 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
116 >          </p>
117 >          <p>
118 >            This release has some new features, bug fixes, and a minor
119 >            API change. More details have been added to the file
120 >            system statistics, linux partition detection has been
121 >            reworked, and compile errors on Linux 2.6 have been fixed.
122 >            Support has been added for Solaris 10 and FreeBSD 7.
123 >            There are also manual pages for all the tools.
124 >          </p>
125 >          <p>
126 >            The duplex value in the network interface statistics has
127 >            changed name from "dup" to "duplex" - this breaks the API.
128 >            We plan to stabilise the API for a 1.0 release. As before,
129 >            the old name is available if SG_ENABLE_DEPRECATED is
130 >            defined.
131 >          </p>
132 >          <h3>
133 >            Tuesday 26 April 2005
134 >          </h3>
135 >          <p>
136 >            Official libstatgrab packages for Debian now
137 >            <a href="http://packages.debian.org/unstable/source/libstatgrab">available</a>.
138 >          </p>
139 >          <p>
140 >            Thanks to the work of
141 >            <a href="mailto:fenio@debian.org">Bartosz Fenski</a>
142 >            libstatgrab is now available on debian. This replaces our
143 >            unofficial debian packages which will no longer be
144 >            updated.
145 >          </p>
146 >          <h3>
147 >            Thursday 3 March 2005
148 >          </h3>
149 >          <p>
150 >            Version 0.11.1 of libstatgrab has been released.<br />
151 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
152 >          </p>
153 >          <p>
154 >            This release fixes a handful of minor bugs. Duplex
155 >            settings were reported incorrectly on linux (half and
156 >            full duplex were swapped), saidar displayed negative
157 >            filesystem stats incorrectly, and NFS filesystems were
158 >            ignored. These have all been fixed.
159 >          </p>
160 >          <h3>
161 >            Friday 12 November 2004
162 >          </h3>
163 >          <p>
164 >            Version 0.11 of libstatgrab has been released.<br />
165 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
166 >          </p>
167 >          <p>
168 >            This release brings support for HP-UX (version 11.11), and
169 >            also fixes a few other minor issues.
170 >          </p>
171 >          <h3>
172 >            Wednesday 25 August 2004
173 >          </h3>
174 >          <p>
175 >            Version 0.10.3 of libstatgrab has been released.<br />
176 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
177 >          </p>
178 >          <p>
179 >            This release adds a handful of new features to statgrab, and
180 >            adds support for FreeBSD 6.0-CURRENT. See the NEWS file in
181 >            the tarball for more details.
182 >          </p>
183 >          <h3>
184 >            Tuesday 27 July 2004
185 >          </h3>
186 >          <p>
187 >            Version 0.10.2 of libstatgrab has been released.<br />
188 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
189 >          </p>
190 >          <p>
191 >            This release fixes a problem with the shared library
192 >            version number in the last release.
193 >          </p>
194 >          <h3>
195 >            Monday 26 July 2004
196 >          </h3>
197 >          <p>
198 >            Version 0.10.1 of libstatgrab has been released.<br />
199 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
200 >          </p>
201 >          <p>
202 >            This release consists almost entirely of bugfixes.
203 >            We've fixed compile-time errors for recent OpenBSD and
204 >            NetBSD platforms, and also a minor bug in statgrab
205 >            that broke network statistics on Solaris. New
206 >            variables have been added to the pkg-config file to
207 >            suggest ownership and permissions of binaries, and
208 >            we've added error reporting functions that store errno
209 >            values. There's also other minor fixes detailed in the
210 >            NEWS file.
211 >          </p>
212 >          <h3>
213 >            Thursday 20 May 2004
214 >          </h3>
215 >          <p>
216 >            Version 0.10 of libstatgrab has been released.<br />
217 >            Download it from one of our <a href="/mirrors.xhtml">mirrors</a>.
218 >          </p>
219 >          <p>
220 >            This release concentrates heavily on standardising the names
221 >            of functions and structures throughout libstatgrab. Although
222 >            this will mean changes for existing programs, in the long run
223 >            we hope it'll make things both clearer and easier. However,
224 >            for those who still need the old functions we have provided
225 >            compatibility wrappers. See the NEWS file for details.
226 >          </p>
227 >          <p>
228 >            The other main change in this release is a new function to
229 >            provide full details on currently running processes. See the
230 >            documentation for sg_get_process_stats for details. Along with
231 >            this there are compare functions for use with qsort for sorting
232 >            process, network, and disk io statistics. We've also introduced
233 >            error reporting functions that allow calling applications to
234 >            see why libstatgrab has returned a failure. See sg_get_error.
235 >          </p>
236 >          <p>
237 >            Finally, we've added support for NetBSD 2.0 and tidied up lots
238 >            of areas of the code. This release does not include the python
239 >            bindings - they're now available as their own project called
240 >            <a href="/pystatgrab/">pystatgrab</a>.
241 >          </p>
242 >          <h3>
243 >            Sunday 21 March 2004
244 >          </h3>
245 >          <p>
246 >            pystatgrab, a new package containing a set of Python
247 >            bindings, has been released. Check out its
248 >            <a href="/pystatgrab/">project page</a>.
249 >          </p>
250 >          <h2>
251 >            <a id="download">Downloading</a>
252 >          </h2>
253 >          <p>
254 >            The latest version of libstatgrab can be downloaded from
255 >            our <a href="/mirrors.xhtml">mirror sites</a>.
256 >            All downloads are pgp signed using our
257 >            <a href="/pgpkey.xhtml">PGP Key</a>.
258 >          </p>
259 >          <p>
260 >            For installation instructions see the README and INSTALL
261 >            files contained within the archive.
262 >          </p>
263 >          <h2>
264 >            <a id="bindings">Language Bindings</a>
265 >          </h2>
266 >          <ul>
267 >            <li>
268 >              <a href="/pystatgrab/">Python</a>
269 >            </li>
270 >            <li>
271 >              <a href="http://pecl.php.net/statgrab/">PHP (external)</a>
272 >            </li>
273 >            <li>
274 >              <a href="http://search.cpan.org/dist/Unix-Statgrab/">Perl (external)</a>
275 >            </li>
276 >          </ul>
277 >          <p>
278 >            Here are links to bindings for higher level languages
279 >            that provide access to libstatgrab. If you've written
280 >            a binding for another language, please get
281 >            <a href="mailto:support@i-scream.org">in touch</a> so we
282 >            can add a link here.
283 >          </p>
284 >          <h2>
285 >            <a id="packages">Packages of libstatgrab</a>
286 >          </h2>
287 >          <ul>
288 >            <li>
289 >              <a href="http://www.freebsd.org/cgi/ports.cgi?query=statgrab&amp;stype=all">FreeBSD</a>
290 >            </li>
291 >            <li>
292 >              <a href="http://packages.gentoo.org/search/?sstring=libstatgrab">Gentoo Linux</a>
293 >            </li>
294 >            <li>
295 >              <a href="http://www.blastwave.org/packages.php/libstatgrab">Solaris (Blastwave)</a>
296 >            </li>
297 >            <li>
298 >              <a href="http://www.sunfreeware.com/">Solaris (SunFreeware)</a>
299 >            </li>
300 >            <li>
301 >              <a href="http://packages.debian.org/unstable/source/libstatgrab">Debian</a>
302 >            </li>
303 >            <li>
304 >              <a href="ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/devel/libstatgrab/README.html">NetBSD</a>
305 >            </li>
306 >            <li>
307 >              <a href="http://software.opensuse.org/download/home:/anagappan/">RPMs for various Linux distributions</a>
308 >            </li>
309 >          </ul>
310 >          <p>
311 >            These are various pre-packaged versions of libstatgrab
312 >            that you can get for your favourite operating system. If
313 >            we've missed any out, please let us know.
314 >          </p>
315 >          <p>
316 >            We've noticed that google throws up some RPM's relating
317 >            to Mandrake and Suse, but no webpage for them.
318 >          </p>
319 >          <p>
320 >            Several attempts were made to submit a port to the
321 >            OpenBSD folk, but they didn't seem interested in taking
322 >            it. You can find it
323 >            <a href="http://ftp.i-scream.org/pub/i-scream/tmp/libstatgrab-0.11-openbsd-port.tar.gz">
324 >            here</a>.
325 >          </p>
326 >          <h2>
327 >            <a id="development">Development</a>
328 >          </h2>
329 >          <ul>
330 >            <li>
331 >              <a href="/cgi-bin/cvslog.cgi?period=thisweek&amp;module=projects/libstatgrab">Commits this week</a>
332 >            </li>
333 >          </ul>
334 >          <p>
335 >            We develop libstatgrab using the CVS revision control system.
336 >            Using this link you can see what changes we've made this week.
337 >            For more information on our CVS setup see our
338 >            <a href="/cvs.xhtml">CVS page</a>.
339 >          </p>
340 >          <h2>
341 >            <a id="documentation">Documentation</a>
342 >          </h2>
343 >          <p>
344 >            The only online documentation we have at the moment is the
345 >            manual pages converted in to HTML format. First are the
346 >            manual pages for the command line tools:
347 >          </p>
348 >          <ul>
349 >            <li>
350 >              <a href="docs/saidar.1.html">saidar(1)</a>
351 >            </li>
352 >            <li>
353 >              <a href="docs/statgrab.1.html">statgrab(1)</a>
354 >            </li>
355 >            <li>
356 >              <a href="docs/statgrab-make-mrtg-config.1.html">statgrab-make-mrtg-config(1)</a>
357 >            </li>
358 >            <li>
359 >              <a href="docs/statgrab-make-mrtg-index.1.html">statgrab-make-mrtg-index(1)</a>
360 >            </li>
361 >          </ul>
362 >          <p>
363 >            We also have an overview page for the library:
364 >          </p>
365 >          <ul>
366 >            <li>
367 >              <a href="docs/statgrab.3.html">statgrab(3)</a>
368 >            </li>
369 >          </ul>
370 >          <p>
371 >            Then we have the manual pages for each function:
372 >          </p>
373 >          <ul>
374 >            <li>
375 >              <a href="docs/sg_get_cpu_stats.3.html">sg_get_cpu_stats(3)</a>
376 >            </li>
377 >            <li>
378 >              <a href="docs/sg_get_disk_io_stats.3.html">sg_get_disk_io_stats(3)</a>
379 >            </li>
380 >            <li>
381 >              <a href="docs/sg_get_fs_stats.3.html">sg_get_fs_stats(3)</a>
382 >            </li>
383 >            <li>
384 >              <a href="docs/sg_get_host_info.3.html">sg_get_host_info(3)</a>
385 >            </li>
386 >            <li>
387 >              <a href="docs/sg_get_load_stats.3.html">sg_get_load_stats(3)</a>
388 >            </li>
389 >            <li>
390 >              <a href="docs/sg_get_mem_stats.3.html">sg_get_mem_stats(3)</a>
391 >            </li>
392 >            <li>
393 >              <a href="docs/sg_get_network_iface_stats.3.html">sg_get_network_iface_stats(3)</a>
394 >            </li>
395 >            <li>
396 >              <a href="docs/sg_get_network_io_stats.3.html">sg_get_network_io_stats(3)</a>
397 >            </li>
398 >            <li>
399 >              <a href="docs/sg_get_page_stats.3.html">sg_get_page_stats(3)</a>
400 >            </li>
401 >            <li>
402 >              <a href="docs/sg_get_process_stats.3.html">sg_get_process_stats(3)</a>
403 >            </li>
404 >            <li>
405 >              <a href="docs/sg_get_user_stats.3.html">sg_get_user_stats(3)</a>
406 >            </li>
407 >          </ul>
408 >          <h2>
409 >            <a id="screenshot">Screenshot</a>
410 >          </h2>
411 >          <p>
412 >            Here's what saidar looks like when it's running:
413 >          </p>
414 >          <p>
415 >            <img src="saidar.png" alt="saidar screenshot" />
416 >          </p>
417 >        </div>
418 > <!--#include virtual="/footer.inc" -->
419 >      </div>
420 > <!--#include virtual="/menu.inc" -->
421 >    </div>
422 >  </body>
423   </html>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines