]> granicus.if.org Git - imagemagick/blob - www/api/module.html
(no commit message)
[imagemagick] / www / api / module.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" \r
2   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html version="-//W3C//DTD XHTML 1.1//EN"\r
4       xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"\r
5       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
6       xsi:schemaLocation="http://www.w3.org/1999/xhtml\r
7                           http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">\r
8 <head>\r
9   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
10   <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>\r
11   <title>ImageMagick: MagickCore, C API for ImageMagick: Loadable Modules</title>
12   <meta http-equiv="Content-Language" content="en-US"/>
13   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14   <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
15   <meta name="Application-name" content="ImageMagick"/>
16   <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats.  In addition resize, rotate, shear, distort and transform images."/>
17   <meta name="Application-url" content="http://www.imagemagick.org"/>
18   <meta name="Generator" content="PHP"/>
19   <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, loadable, modules, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
20   <meta name="Rating" content="GENERAL"/>
21   <meta name="Robots" content="INDEX, FOLLOW"/>
22   <meta name="Generator" content="ImageMagick Studio LLC"/>
23   <meta name="Author" content="ImageMagick Studio LLC"/>
24   <meta name="Revisit-after" content="2 DAYS"/>
25   <meta name="Resource-type" content="document"/>
26   <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
27   <meta name="Distribution" content="Global"/>
28   <link rel="icon" href="../../images/wand.png"/>
29   <link rel="shortcut icon" href="../../images/wand.ico"  type="images/x-icon"/>
30   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>\r
31   <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />\r
32   <style type="text/css" media="all">\r
33     @import url("../../www/magick.css");\r
34   </style>\r
35   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>\r
36   <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>\r
37   <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />\r
38   <script type="text/javascript">\r
39     $(document).ready(function() {\r
40       $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({\r
41         'transitionIn'  : 'elastic',\r
42         'transitionOut' : 'elastic',\r
43         'overlayShow'   : false,\r
44         'opacity'       : true\r
45       });\r
46     });\r
47   </script>\r
48 </head>\r
49 \r
50 <body id="www-imagemagick-org">\r
51 <div class="titlebar">\r
52 <div style="margin: 17px auto; float: left;">\r
53   <script type="text/javascript">\r
54   <!--\r
55     google_ad_client = "pub-3129977114552745";\r
56     google_ad_slot = "5439289906";\r
57     google_ad_width = 728;\r
58     google_ad_height = 90;\r
59   //-->\r
60   </script>\r
61   <script type="text/javascript"\r
62     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
63   </script>\r
64 </div>\r
65 <a href="http://www.imagemagick.org/discourse-server/">\r
66   <img src="../../images/logo.jpg"\r
67   alt="ImageMagick Logo"\r
68   style="width: 123px; height: 118px; border: 0px; float: right;" /></a>\r
69 <a href="../../index.html">\r
70   <img src="../../images/sprite.jpg"\r
71   alt="ImageMagick Sprite"\r
72   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
73 </div>\r
74 \r
75 <div class="westbar">\r
76 \r
77 <div class="menu">
78   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
79 </div>
80 <div class="sep"></div>\r
81 <div class="menu">
82   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
83 </div>
84 <div class="sub">
85     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
86 </div>
87 <div class="sub">
88     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
89 </div>
90 <div class="sub">
91     <a title="Binary Release: iPhone" href="../../www/binary-releases.html#iPhone">iPhone</a>
92 </div>
93 <div class="sub">
94     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
95 </div>
96 <div class="sep"></div>\r
97 <div class="menu">
98   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
99 </div>
100 <div class="sub">
101     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
102 </div>
103 <div class="sub">
104     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
105 </div>
106 <div class="sub">
107     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
108 </div>
109 <div class="menu">
110   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
111 </div>
112 <div class="sub">
113     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
114 </div>
115 <div class="sub">
116     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
117 </div>
118 <div class="sub">
119     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
120 </div>
121 <div class="sub">
122     <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
123 </div>
124 <div class="sep"></div>\r
125 <div  class="menu">
126    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
127 </div>
128 <div class="sub">
129     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
130 </div>
131 <div class="sub">
132     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
133  </div>
134 <div class="menu">
135   <a title="Resources" href="../../www/resources.html">Resources</a>
136 </div>
137 <div class="menu">
138   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
139 </div>
140 <div class="menu">
141   <a title="Download" href="../../www/download.html">Download</a>
142 </div>
143 <div class="sep"></div>\r
144 <div class="menu">
145   <a title="Search" href="../../www/search.html">Search</a>
146 </div>
147 <div class="sep"></div>\r
148 <div class="menu">
149   <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
150 </div>
151 <div  class="sub">
152   <a title="Site Map: Links" href="../../www/links.html">Links</a>
153 </div>
154 <div class="sep"></div>\r
155 <div  class="menu">
156   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
157
158 <a href="http://www.networkredux.com">
159   <img src="../../images/networkredux.png" alt="[sponsor]"
160   style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
161 <div class="sponsbox">
162 <div  class="sponsor">
163   <a title="Sponsor: Web Hosting Reviews" href="http://www.webhostingmasters.com">Web Hosting Reviews</a><!-- 201107011500 affliatelabel -->
164 </div>
165 <div  class="sponsor">
166   <a title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
167 </div>
168 <div  class="sponsor">
169   <a title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
170 </div>
171 <div  class="sponsor">
172   <a title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201107010090 alexanian media -->
173 </div>
174 <div  class="sponsor">
175   <a title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
176 </div>
177 <div  class="sponsor">
178   <a title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
179 </div>
180 <div  class="sponsor">
181   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
182 </div>
183 <div  class="sponsor">
184   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
185 </div>
186 <div  class="sponsor">
187    <a title="Sponsor: Fototapete" href=" http://www.allesdruck.de/Fototapete-Tapetendruck,category,8830.html">Fototapete</a><!-- 20110701000080 a-o.de -->
188 </div>
189 </div>
190 </div>
191 </div>\r
192 \r
193 <div class="eastbar">\r
194 \r
195 </div>\r
196 \r
197 <div class="main">\r
198 \r
199 <h1>Module module Methods</h1>
200 <p class="navigation-index">[<a href="#AcquireModuleInfo">AcquireModuleInfo</a> &bull; <a href="#DestroyModuleList">DestroyModuleList</a> &bull; <a href="#GetModuleInfo">GetModuleInfo</a> &bull; <a href="#GetModuleInfoList">GetModuleInfoList</a> &bull; <a href="#GetModuleList">GetModuleList</a> &bull; <a href="#GetMagickModulePath">GetMagickModulePath</a> &bull; <a href="#InitializeModuleList">InitializeModuleList</a> &bull; <a href="#InvokeDynamicImageFilter">InvokeDynamicImageFilter</a> &bull; <a href="#ListModuleInfo">ListModuleInfo</a> &bull; <a href="#OpenModule">OpenModule</a> &bull; <a href="#OpenModules">OpenModules</a> &bull; <a href="#RegisterModule">RegisterModule</a> &bull; <a href="#TagToCoderModuleName">TagToCoderModuleName</a> &bull; <a href="#TagToFilterModuleName">TagToFilterModuleName</a> &bull; <a href="#TagToModuleName">TagToModuleName</a> &bull; <a href="#UnregisterModule">UnregisterModule</a>]</p>
201
202 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="AcquireModuleInfo">AcquireModuleInfo</a></h2>
203 <div class="doc-section">
204
205 <p>AcquireModuleInfo() allocates the ModuleInfo structure.</p>
206
207 <p>The format of the AcquireModuleInfo method is:</p>
208
209 <pre class="code">
210   ModuleInfo *AcquireModuleInfo(const char *path,const char *tag)
211 </pre>
212
213 <p>A description of each parameter follows:</p>
214
215 <h5>path</h5>
216 <p>the path associated with the tag.</p>
217
218 <h5>tag</h5>
219 <p>a character string that represents the image format we are looking for.</p>
220
221  </div>
222 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="DestroyModuleList">DestroyModuleList</a></h2>
223 <div class="doc-section">
224
225 <p>DestroyModuleList() unregisters any previously loaded modules and exits the module loaded environment.</p>
226
227 <p>The format of the DestroyModuleList module is:</p>
228
229 <pre class="text">
230   void DestroyModuleList(void)
231 </pre>
232
233  </div>
234 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="GetModuleInfo">GetModuleInfo</a></h2>
235 <div class="doc-section">
236
237 <p>GetModuleInfo() returns a pointer to a ModuleInfo structure that matches the specified tag.  If tag is NULL, the head of the module list is returned. If no modules are loaded, or the requested module is not found, NULL is returned.</p>
238
239 <p>The format of the GetModuleInfo module is:</p>
240
241 <pre class="text">
242   ModuleInfo *GetModuleInfo(const char *tag,ExceptionInfo *exception)
243 </pre>
244
245 <p>A description of each parameter follows:</p>
246
247 <h5>tag</h5>
248 <p>a character string that represents the image format we are looking for.</p>
249
250 <h5>exception</h5>
251 <p>return any errors or warnings in this structure.</p>
252
253  </div>
254 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="GetModuleInfoList">GetModuleInfoList</a></h2>
255 <div class="doc-section">
256
257 <p>GetModuleInfoList() returns any modules that match the specified pattern.</p>
258
259 <p>The format of the GetModuleInfoList function is:</p>
260
261 <pre class="text">
262   const ModuleInfo **GetModuleInfoList(const char *pattern,
263     size_t *number_modules,ExceptionInfo *exception)
264 </pre>
265
266 <p>A description of each parameter follows:</p>
267
268 <h5>pattern</h5>
269 <p>Specifies a pointer to a text string containing a pattern.</p>
270
271 <h5>number_modules</h5>
272 <p>This integer returns the number of modules in the list.</p>
273
274 <h5>exception</h5>
275 <p>return any errors or warnings in this structure.</p>
276
277  </div>
278 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="GetModuleList">GetModuleList</a></h2>
279 <div class="doc-section">
280
281 <p>GetModuleList() returns any image format modules that match the specified pattern.</p>
282
283 <p>The format of the GetModuleList function is:</p>
284
285 <pre class="text">
286   char **GetModuleList(const char *pattern,const MagickModuleType type,
287     size_t *number_modules,ExceptionInfo *exception)
288 </pre>
289
290 <p>A description of each parameter follows:</p>
291
292 <h5>pattern</h5>
293 <p>Specifies a pointer to a text string containing a pattern.</p>
294
295 <h5>type</h5>
296 <p>choose from MagickImageCoderModule or MagickImageFilterModule.</p>
297
298 <h5>number_modules</h5>
299 <p>This integer returns the number of modules in the list.</p>
300
301 <h5>exception</h5>
302 <p>return any errors or warnings in this structure.</p>
303
304  </div>
305 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="GetMagickModulePath">GetMagickModulePath</a></h2>
306 <div class="doc-section">
307
308 <p>GetMagickModulePath() finds a module with the specified module type and filename.</p>
309
310 <p>The format of the GetMagickModulePath module is:</p>
311
312 <pre class="text">
313   MagickBooleanType GetMagickModulePath(const char *filename,
314     MagickModuleType module_type,char *path,ExceptionInfo *exception)
315 </pre>
316
317 <p>A description of each parameter follows:</p>
318
319 <h5>filename</h5>
320 <p>the module file name.</p>
321
322 <h5>module_type</h5>
323 <p>the module type: MagickImageCoderModule or MagickImageFilterModule.</p>
324
325 <h5>path</h5>
326 <p>the path associated with the filename.</p>
327
328 <h5>exception</h5>
329 <p>return any errors or warnings in this structure.</p>
330
331  </div>
332 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="InitializeModuleList">InitializeModuleList</a></h2>
333 <div class="doc-section">
334
335 <p>InitializeModuleList() initializes the module loader.</p>
336
337 <p>The format of the InitializeModuleList() method is:</p>
338
339 <pre class="code">
340   InitializeModuleList(Exceptioninfo *exception)
341 </pre>
342
343 <p>A description of each parameter follows.</p>
344
345 <h5>exception</h5>
346 <p>return any errors or warnings in this structure.</p>
347
348  </div>
349 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="InvokeDynamicImageFilter">InvokeDynamicImageFilter</a></h2>
350 <div class="doc-section">
351
352 <p>InvokeDynamicImageFilter() invokes a dynamic image filter.</p>
353
354 <p>The format of the InvokeDynamicImageFilter module is:</p>
355
356 <pre class="text">
357   MagickBooleanType InvokeDynamicImageFilter(const char *tag,Image **image,
358     const int argc,const char **argv,ExceptionInfo *exception)
359 </pre>
360
361 <p>A description of each parameter follows:</p>
362
363 <h5>tag</h5>
364 <p>a character string that represents the name of the particular module.</p>
365
366 <h5>image</h5>
367 <p>the image.</p>
368
369 <h5>argc</h5>
370 <p>a pointer to an integer describing the number of elements in the argument vector.</p>
371
372 <h5>argv</h5>
373 <p>a pointer to a text array containing the command line arguments.</p>
374
375 <h5>exception</h5>
376 <p>return any errors or warnings in this structure.</p>
377
378  </div>
379 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="ListModuleInfo">ListModuleInfo</a></h2>
380 <div class="doc-section">
381
382 <p>ListModuleInfo() lists the module info to a file.</p>
383
384 <p>The format of the ListModuleInfo module is:</p>
385
386 <pre class="text">
387   MagickBooleanType ListModuleInfo(FILE *file,ExceptionInfo *exception)
388 </pre>
389
390 <p>A description of each parameter follows.</p>
391
392 <h5>file</h5>
393 <p>An pointer to a FILE.</p>
394
395 <h5>exception</h5>
396 <p>return any errors or warnings in this structure.</p>
397
398  </div>
399 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="OpenModule">OpenModule</a></h2>
400 <div class="doc-section">
401
402 <p>OpenModule() loads a module, and invokes its registration module.  It returns MagickTrue on success, and MagickFalse if there is an error.</p>
403
404 <p>The format of the OpenModule module is:</p>
405
406 <pre class="text">
407   MagickBooleanType OpenModule(const char *module,ExceptionInfo *exception)
408 </pre>
409
410 <p>A description of each parameter follows:</p>
411
412 <h5>module</h5>
413 <p>a character string that indicates the module to load.</p>
414
415 <h5>exception</h5>
416 <p>return any errors or warnings in this structure.</p>
417
418  </div>
419 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="OpenModules">OpenModules</a></h2>
420 <div class="doc-section">
421
422 <p>OpenModules() loads all available modules.</p>
423
424 <p>The format of the OpenModules module is:</p>
425
426 <pre class="text">
427   MagickBooleanType OpenModules(ExceptionInfo *exception)
428 </pre>
429
430 <p>A description of each parameter follows:</p>
431
432 <h5>exception</h5>
433 <p>return any errors or warnings in this structure.</p>
434
435  </div>
436 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="RegisterModule">RegisterModule</a></h2>
437 <div class="doc-section">
438
439 <p>RegisterModule() adds an entry to the module list.  It returns a pointer to the registered entry on success.</p>
440
441 <p>The format of the RegisterModule module is:</p>
442
443 <pre class="text">
444   ModuleInfo *RegisterModule(const ModuleInfo *module_info,
445     ExceptionInfo *exception)
446 </pre>
447
448 <p>A description of each parameter follows:</p>
449
450 <h5>info</h5>
451 <p>a pointer to the registered entry is returned.</p>
452
453 <h5>module_info</h5>
454 <p>a pointer to the ModuleInfo structure to register.</p>
455
456 <h5>exception</h5>
457 <p>return any errors or warnings in this structure.</p>
458
459  </div>
460 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="TagToCoderModuleName">TagToCoderModuleName</a></h2>
461 <div class="doc-section">
462
463 <p>TagToCoderModuleName() munges a module tag and obtains the filename of the corresponding module.</p>
464
465 <p>The format of the TagToCoderModuleName module is:</p>
466
467 <pre class="text">
468   char *TagToCoderModuleName(const char *tag,char *name)
469 </pre>
470
471 <p>A description of each parameter follows:</p>
472
473 <h5>tag</h5>
474 <p>a character string representing the module tag.</p>
475
476 <h5>name</h5>
477 <p>return the module name here.</p>
478
479  </div>
480 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="TagToFilterModuleName">TagToFilterModuleName</a></h2>
481 <div class="doc-section">
482
483 <p>TagToFilterModuleName() munges a module tag and returns the filename of the corresponding filter module.</p>
484
485 <p>The format of the TagToFilterModuleName module is:</p>
486
487 <pre class="text">
488   void TagToFilterModuleName(const char *tag,char name)
489 </pre>
490
491 <p>A description of each parameter follows:</p>
492
493 <h5>tag</h5>
494 <p>a character string representing the module tag.</p>
495
496 <h5>name</h5>
497 <p>return the filter name here.</p>
498
499  </div>
500 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="TagToModuleName">TagToModuleName</a></h2>
501 <div class="doc-section">
502
503 <p>TagToModuleName() munges the module tag name and returns an upper-case tag name as the input string, and a user-provided format.</p>
504
505 <p>The format of the TagToModuleName module is:</p>
506
507 <pre class="text">
508   TagToModuleName(const char *tag,const char *format,char *module)
509 </pre>
510
511 <p>A description of each parameter follows:</p>
512
513 <h5>tag</h5>
514 <p>the module tag.</p>
515
516 <h5>format</h5>
517 <p>a sprintf-compatible format string containing s where the upper-case tag name is to be inserted.</p>
518
519 <h5>module</h5>
520 <p>pointer to a destination buffer for the formatted result.</p>
521
522  </div>
523 <h2><a href="http://www.imagemagick.org/api/MagickCore/module_8c.html" id="UnregisterModule">UnregisterModule</a></h2>
524 <div class="doc-section">
525
526 <p>UnregisterModule() unloads a module, and invokes its de-registration module. Returns MagickTrue on success, and MagickFalse if there is an error.</p>
527
528 <p>The format of the UnregisterModule module is:</p>
529
530 <pre class="text">
531   MagickBooleanType UnregisterModule(const ModuleInfo *module_info,
532     ExceptionInfo *exception)
533 </pre>
534
535 <p>A description of each parameter follows:</p>
536
537 <h5>module_info</h5>
538 <p>the module info.</p>
539
540 <h5>exception</h5>
541 <p>return any errors or warnings in this structure.</p>
542
543  </div>
544 \r
545 </div>\r
546 \r
547 <div id="linkbar">\r
548     <span id="linkbar-west">&nbsp;</span>\r
549     <span id="linkbar-center">\r
550       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
551       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
552     </span>\r
553     <span id="linkbar-east">&nbsp;</span>\r
554   </div>\r
555   <div class="footer">\r
556     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
557     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
558   </div>\r
559   <div style="clear: both; margin: 0; width: 100%; "></div>\r
560   <script type="text/javascript">\r
561     var _gaq = _gaq || [];\r
562     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
563     _gaq.push(['_trackPageview']);\r
564 \r
565     (function() {\r
566       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
567       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
568       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
569     })();\r
570   </script>\r
571 </body>\r
572 </html>\r