| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
|
| <head>
|
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
| <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
|
| <title>ImageMagick: MagickCore, C API for ImageMagick: Loadable Modules</title> |
| <meta http-equiv="Content-Language" content="en-US"/> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
| <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/> |
| <meta name="Application-name" content="ImageMagick"/> |
| <meta name="Description" content="ImageMagick is a software suite to create, edit, or compose bitmap images in a variety of formats. Use ImageMagick to scale, rotate, shear, distort and transform images."/> |
| <meta name="Application-url" content="http://www.imagemagick.org"/> |
| <meta name="Generator" content="PHP"/> |
| <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"/> |
| <meta name="Rating" content="GENERAL"/> |
| <meta name="Robots" content="INDEX, FOLLOW"/> |
| <meta name="Generator" content="ImageMagick Studio LLC"/> |
| <meta name="Author" content="ImageMagick Studio LLC"/> |
| <meta name="Revisit-after" content="2 DAYS"/> |
| <meta name="Resource-type" content="document"/> |
| <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/> |
| <meta name="Distribution" content="Global"/> |
| <link rel="icon" href="../../images/wand.png" sizes="32x32"/> |
| <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/> |
| <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
|
| <style type="text/css" media="all">
|
| @import url("../../www/magick.css");
|
| </style>
|
| </head>
|
|
|
| <body id="www-imagemagick-org">
|
| <div class="titlebar">
|
| <a href="../../index.html">
|
| <img src="../../images/script.png" alt="[ImageMagick]"
|
| style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
|
| <a href="http://www.networkredux.com">
|
| <img src="../../images/networkredux.png" alt="[sponsor]"
|
| style="margin: 45px auto; border: 0px; float: left;" /></a>
|
| <a href="http://www.imagemagick.org/discourse-server/">
|
| <img src="../../images/logo.jpg" alt=""
|
| style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
|
| <a href="../../index.html">
|
| <img src="../../images/sprite.jpg" alt=""
|
| style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
|
| </div>
|
|
|
| <div class="westbar">
|
|
|
| <div class="menu"> |
| <a title="About ImageMagick" href="../../index.html">About ImageMagick</a> |
| </div> |
| <div class="sep"></div>
|
| <div class="menu"> |
| <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a> |
| </div> |
| <div class="sub"> |
| <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a> |
| </div> |
| <div class="sub"> |
| <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a> |
| </div> |
| <div class="sub"> |
| <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a> |
| </div> |
| <div class="sep"></div>
|
| <div class="menu"> |
| <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a> |
| </div> |
| <div class="sub"> |
| <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a> |
| </div> |
| <div class="sub"> |
| <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a> |
| </div> |
| <div class="sub"> |
| <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a> |
| </div> |
| <div class="menu"> |
| <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a> |
| </div> |
| <div class="sub"> |
| <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a> |
| </div> |
| <div class="sub"> |
| <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a> |
| </div> |
| <div class="sub"> |
| <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a> |
| </div> |
| <div class="sub"> |
| <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a> |
| </div> |
| <div class="sep"></div>
|
| <div class="menu"> |
| <a title="Install from Source" href="../../www/install-source.html">Install from Source</a> |
| </div> |
| <div class="sub"> |
| <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a> |
| </div> |
| <div class="sub"> |
| <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a> |
| </div> |
| <div class="menu"> |
| <a title="Resources" href="../../www/resources.html">Resources</a> |
| </div> |
| <div class="menu"> |
| <a title="Architecture" href="../../www/architecture.html">Architecture</a> |
| </div> |
| <div class="menu"> |
| <a title="Download" href="../../www/download.html">Download</a> |
| </div> |
| <div class="sep"></div>
|
| <div class="menu"> |
| <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a> |
| </div> |
| <div class="sep"></div>
|
| <div class="menu"> |
| <a title="Site Map" href="../../www/sitemap.html">Site Map</a> |
| </div> |
| <div class="sub"> |
| <a title="Site Map: Links" href="../../www/links.html">Links</a> |
| </div> |
| <div class="sep"></div>
|
| <div class="menu"> |
| <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a> |
| |
| <div class="sponsbox"> |
| <div class="sponsor"> |
| <a title="Sponsor: Fernsehdienst Berlin" href="http://www.atlas-multimedia.de">Fernsehdienst Berlin</a><!-- 2011040100025 atlas.multimedia--> |
| </div> |
| <div class="sponsor"> |
| <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 --> |
| </div> |
| <div class="sponsor"> |
| <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee--> |
| </div> |
| <div class="sponsor"> |
| <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter--> |
| </div> |
| <div class="sponsor"> |
| <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de--> |
| </div> |
| <div class="sponsor"> |
| <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 --> |
| </div> |
| <div class="sponsor"> |
| <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen--> |
| </div> |
| </div> |
| </div> |
| </div>
|
|
|
| <div class="eastbar">
|
| <script type="text/javascript">
|
| <!--
|
| google_ad_client = "pub-3129977114552745";
|
| google_ad_slot = "0574824969";
|
| google_ad_width = 160;
|
| google_ad_height = 600;
|
| //-->
|
| </script>
|
| <script type="text/javascript"
|
| src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
| </script>
|
| </div>
|
|
|
| <div class="main">
|
|
|
| <h1>Module module |
| Methods</h1> |
| <p class="navigation-index">[<a href="#AcquireModuleInfo">AcquireModuleInfo</a> • <a href="#DestroyModuleList">DestroyModuleList</a> • <a href="#GetModuleInfo">GetModuleInfo</a> • <a href="#GetModuleInfoList">GetModuleInfoList</a> • <a href="#GetModuleList">GetModuleList</a> • <a href="#GetMagickModulePath">GetMagickModulePath</a> • <a href="#InitializeModuleList">InitializeModuleList</a> • <a href="#InvokeDynamicImageFilter">InvokeDynamicImageFilter</a> • <a href="#ListModuleInfo">ListModuleInfo</a> • <a href="#OpenModule">OpenModule</a> • <a href="#OpenModules">OpenModules</a> • <a href="#RegisterModule">RegisterModule</a> • <a href="#TagToCoderModuleName">TagToCoderModuleName</a> • <a href="#TagToFilterModuleName">TagToFilterModuleName</a> • <a href="#TagToModuleName">TagToModuleName</a> • <a href="#UnregisterModule">UnregisterModule</a>]</p> |
| |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="AcquireModuleInfo">AcquireModuleInfo</a></h2> |
| <div class="doc-section"> |
| |
| <p>AcquireModuleInfo() allocates the ModuleInfo structure.</p></ol> |
| |
| <p>The format of the AcquireModuleInfo method is:</p> |
| |
| <pre class="code"> |
| ModuleInfo *AcquireModuleInfo(const char *path,const char *tag) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>path</h5> |
| <ol><p>the path associated with the tag.</p></ol> |
| |
| <h5>tag</h5> |
| <ol><p>a character string that represents the image format we are looking for.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="DestroyModuleList">DestroyModuleList</a></h2> |
| <div class="doc-section"> |
| |
| <p>DestroyModuleList() unregisters any previously loaded modules and exits the module loaded environment.</p></ol> |
| |
| <p>The format of the DestroyModuleList module is:</p> |
| |
| <pre class="text"> |
| void DestroyModuleList(void) |
| </pre> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="GetModuleInfo">GetModuleInfo</a></h2> |
| <div class="doc-section"> |
| |
| <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></ol> |
| |
| <p>The format of the GetModuleInfo module is:</p> |
| |
| <pre class="text"> |
| ModuleInfo *GetModuleInfo(const char *tag,ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>tag</h5> |
| <ol><p>a character string that represents the image format we are looking for.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="GetModuleInfoList">GetModuleInfoList</a></h2> |
| <div class="doc-section"> |
| |
| <p>GetModuleInfoList() returns any modules that match the specified pattern.</p></ol> |
| |
| <p>The format of the GetModuleInfoList function is:</p> |
| |
| <pre class="text"> |
| const ModuleInfo **GetModuleInfoList(const char *pattern, |
| size_t *number_modules,ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>pattern</h5> |
| <ol><p>Specifies a pointer to a text string containing a pattern.</p></ol> |
| |
| <h5>number_modules</h5> |
| <ol><p>This integer returns the number of modules in the list.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="GetModuleList">GetModuleList</a></h2> |
| <div class="doc-section"> |
| |
| <p>GetModuleList() returns any image format modules that match the specified pattern.</p></ol> |
| |
| <p>The format of the GetModuleList function is:</p> |
| |
| <pre class="text"> |
| char **GetModuleList(const char *pattern,const MagickModuleType type, |
| size_t *number_modules,ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>pattern</h5> |
| <ol><p>Specifies a pointer to a text string containing a pattern.</p></ol> |
| |
| <h5>type</h5> |
| <ol><p>choose from MagickImageCoderModule or MagickImageFilterModule.</p></ol> |
| |
| <h5>number_modules</h5> |
| <ol><p>This integer returns the number of modules in the list.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="GetMagickModulePath">GetMagickModulePath</a></h2> |
| <div class="doc-section"> |
| |
| <p>GetMagickModulePath() finds a module with the specified module type and filename.</p></ol> |
| |
| <p>The format of the GetMagickModulePath module is:</p> |
| |
| <pre class="text"> |
| MagickBooleanType GetMagickModulePath(const char *filename, |
| MagickModuleType module_type,char *path,ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>filename</h5> |
| <ol><p>the module file name.</p></ol> |
| |
| <h5>module_type</h5> |
| <ol><p>the module type: MagickImageCoderModule or MagickImageFilterModule.</p></ol> |
| |
| <h5>path</h5> |
| <ol><p>the path associated with the filename.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="InitializeModuleList">InitializeModuleList</a></h2> |
| <div class="doc-section"> |
| |
| <p>InitializeModuleList() initializes the module loader.</p></ol> |
| |
| <p>The format of the InitializeModuleList() method is:</p> |
| |
| <pre class="code"> |
| InitializeModuleList(Exceptioninfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="InvokeDynamicImageFilter">InvokeDynamicImageFilter</a></h2> |
| <div class="doc-section"> |
| |
| <p>InvokeDynamicImageFilter() invokes a dynamic image filter.</p></ol> |
| |
| <p>The format of the InvokeDynamicImageFilter module is:</p> |
| |
| <pre class="text"> |
| MagickBooleanType InvokeDynamicImageFilter(const char *tag,Image **image, |
| const int argc,const char **argv,ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>tag</h5> |
| <ol><p>a character string that represents the name of the particular module.</p></ol> |
| |
| <h5>image</h5> |
| <ol><p>the image.</p></ol> |
| |
| <h5>argc</h5> |
| <ol><p>a pointer to an integer describing the number of elements in the argument vector.</p></ol> |
| |
| <h5>argv</h5> |
| <ol><p>a pointer to a text array containing the command line arguments.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="ListModuleInfo">ListModuleInfo</a></h2> |
| <div class="doc-section"> |
| |
| <p>ListModuleInfo() lists the module info to a file.</p></ol> |
| |
| <p>The format of the ListModuleInfo module is:</p> |
| |
| <pre class="text"> |
| MagickBooleanType ListModuleInfo(FILE *file,ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows.</p></ol> |
| |
| <h5>file</h5> |
| <ol><p>An pointer to a FILE.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="OpenModule">OpenModule</a></h2> |
| <div class="doc-section"> |
| |
| <p>OpenModule() loads a module, and invokes its registration module. It returns MagickTrue on success, and MagickFalse if there is an error.</p></ol> |
| |
| <p>The format of the OpenModule module is:</p> |
| |
| <pre class="text"> |
| MagickBooleanType OpenModule(const char *module,ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>module</h5> |
| <ol><p>a character string that indicates the module to load.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="OpenModules">OpenModules</a></h2> |
| <div class="doc-section"> |
| |
| <p>OpenModules() loads all available modules.</p></ol> |
| |
| <p>The format of the OpenModules module is:</p> |
| |
| <pre class="text"> |
| MagickBooleanType OpenModules(ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="RegisterModule">RegisterModule</a></h2> |
| <div class="doc-section"> |
| |
| <p>RegisterModule() adds an entry to the module list. It returns a pointer to the registered entry on success.</p></ol> |
| |
| <p>The format of the RegisterModule module is:</p> |
| |
| <pre class="text"> |
| ModuleInfo *RegisterModule(const ModuleInfo *module_info, |
| ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>info</h5> |
| <ol><p>a pointer to the registered entry is returned.</p></ol> |
| |
| <h5>module_info</h5> |
| <ol><p>a pointer to the ModuleInfo structure to register.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="TagToCoderModuleName">TagToCoderModuleName</a></h2> |
| <div class="doc-section"> |
| |
| <p>TagToCoderModuleName() munges a module tag and obtains the filename of the corresponding module.</p></ol> |
| |
| <p>The format of the TagToCoderModuleName module is:</p> |
| |
| <pre class="text"> |
| char *TagToCoderModuleName(const char *tag,char *name) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>tag</h5> |
| <ol><p>a character string representing the module tag.</p></ol> |
| |
| <h5>name</h5> |
| <ol><p>return the module name here.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="TagToFilterModuleName">TagToFilterModuleName</a></h2> |
| <div class="doc-section"> |
| |
| <p>TagToFilterModuleName() munges a module tag and returns the filename of the corresponding filter module.</p></ol> |
| |
| <p>The format of the TagToFilterModuleName module is:</p> |
| |
| <pre class="text"> |
| void TagToFilterModuleName(const char *tag,char name) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>tag</h5> |
| <ol><p>a character string representing the module tag.</p></ol> |
| |
| <h5>name</h5> |
| <ol><p>return the filter name here.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="TagToModuleName">TagToModuleName</a></h2> |
| <div class="doc-section"> |
| |
| <p>TagToModuleName() munges the module tag name and returns an upper-case tag name as the input string, and a user-provided format.</p></ol> |
| |
| <p>The format of the TagToModuleName module is:</p> |
| |
| <pre class="text"> |
| TagToModuleName(const char *tag,const char *format,char *module) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>tag</h5> |
| <ol><p>the module tag.</p></ol> |
| |
| <h5>format</h5> |
| <ol><p>a sprintf-compatible format string containing s where the upper-case tag name is to be inserted.</p></ol> |
| |
| <h5>module</h5> |
| <ol><p>pointer to a destination buffer for the formatted result.</p></ol> |
| |
| </div> |
| <h2><a href="http://www.imagemagick.org/api/MagickCore/module |
| _8c.html" target="source" name="UnregisterModule">UnregisterModule</a></h2> |
| <div class="doc-section"> |
| |
| <p>UnregisterModule() unloads a module, and invokes its de-registration module. Returns MagickTrue on success, and MagickFalse if there is an error.</p></ol> |
| |
| <p>The format of the UnregisterModule module is:</p> |
| |
| <pre class="text"> |
| MagickBooleanType UnregisterModule(const ModuleInfo *module_info, |
| ExceptionInfo *exception) |
| </pre> |
| |
| <p>A description of each parameter follows:</p></ol> |
| |
| <h5>module_info</h5> |
| <ol><p>the module info.</p></ol> |
| |
| <h5>exception</h5> |
| <ol><p>return any errors or warnings in this structure.</p></ol> |
| |
| </div> |
|
|
| </div>
|
|
|
| <div id="linkbar">
|
| <span id="linkbar-west"> </span>
|
| <span id="linkbar-center">
|
| <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> •
|
| <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
|
| </span>
|
| <span id="linkbar-east"> </span>
|
| </div>
|
| <div class="footer">
|
| <span id="footer-west">© 1999-2011 ImageMagick Studio LLC</span>
|
| <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
|
| </div>
|
| <div style="clear: both; margin: 0; width: 100%; "></div>
|
| <script type="text/javascript">
|
| var _gaq = _gaq || [];
|
| _gaq.push(['_setAccount', 'UA-17690367-1']);
|
| _gaq.push(['_trackPageview']);
|
|
|
| (function() {
|
| var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
| ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
| var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
| })();
|
| </script>
|
| </body>
|
| </html>
|