<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Eddy+Stryker</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Eddy+Stryker"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Eddy_Stryker"/>
	<updated>2026-07-18T00:54:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Serialization&amp;diff=930003</id>
		<title>Prim Serialization</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Serialization&amp;diff=930003"/>
		<updated>2010-05-27T07:28:30Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;object =&lt;br /&gt;
{&lt;br /&gt;
    extra_parameters :&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            extra_parameter: int,&lt;br /&gt;
            param_data: binary&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    ],&lt;br /&gt;
    facelist :&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            bump: int,&lt;br /&gt;
            colors: [ real, real, real, real ],&lt;br /&gt;
            fullbright: int,&lt;br /&gt;
            glow: real,&lt;br /&gt;
            imageid: uuid,&lt;br /&gt;
            imagerot: real,&lt;br /&gt;
            media_flags: int,&lt;br /&gt;
            offsets: real,&lt;br /&gt;
            offsett: real,&lt;br /&gt;
            scales: real,&lt;br /&gt;
            scalet: real&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    ],&lt;br /&gt;
    group-id: uuid,&lt;br /&gt;
    material: int,&lt;br /&gt;
    name: string,&lt;br /&gt;
    pos: [ real, real, real ],&lt;br /&gt;
    rotation: [ real, real, real ],&lt;br /&gt;
    scale: [ real, real, real ],&lt;br /&gt;
    shape:&lt;br /&gt;
    {&lt;br /&gt;
        path:&lt;br /&gt;
        {&lt;br /&gt;
            begin: real,&lt;br /&gt;
            curve: int,&lt;br /&gt;
            end: real,&lt;br /&gt;
            radius_offset: real,&lt;br /&gt;
            revolutions: real,&lt;br /&gt;
            scale_x: real,&lt;br /&gt;
            scale_y: real,&lt;br /&gt;
            shear_x: real,&lt;br /&gt;
            shear_y: real,&lt;br /&gt;
            skew: real,&lt;br /&gt;
            taper_x: real,&lt;br /&gt;
            taper_y: real,&lt;br /&gt;
            twist: real,&lt;br /&gt;
            twist_begin: real&lt;br /&gt;
        },&lt;br /&gt;
        profile:&lt;br /&gt;
        {&lt;br /&gt;
            begin: real,&lt;br /&gt;
            curve: int,&lt;br /&gt;
            end: real,&lt;br /&gt;
            hollow: real&lt;br /&gt;
        },&lt;br /&gt;
        sculpt:&lt;br /&gt;
        {&lt;br /&gt;
            id: uuid,&lt;br /&gt;
            type: int&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Serialization&amp;diff=929732</id>
		<title>Prim Serialization</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Serialization&amp;diff=929732"/>
		<updated>2010-05-27T00:11:27Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Initial LLIDL draft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;object =&lt;br /&gt;
{&lt;br /&gt;
    extra_parameters :&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            extra_parameter: int,&lt;br /&gt;
            param_data: binary&lt;br /&gt;
        },&lt;br /&gt;
        ...&lt;br /&gt;
    ],&lt;br /&gt;
    facelist :&lt;br /&gt;
    [&lt;br /&gt;
        {&lt;br /&gt;
            bump: int,&lt;br /&gt;
            colors: [ real, real, real, real ],&lt;br /&gt;
            fullbright: int,&lt;br /&gt;
            glow: real,&lt;br /&gt;
            imageid: uuid,&lt;br /&gt;
            imagerot: real,&lt;br /&gt;
            media_flags: int,&lt;br /&gt;
            offsets: real,&lt;br /&gt;
            offsett: real,&lt;br /&gt;
            scales: real,&lt;br /&gt;
            scalet: real&lt;br /&gt;
        }&lt;br /&gt;
    ],&lt;br /&gt;
    group-id: uuid,&lt;br /&gt;
    material: int,&lt;br /&gt;
    name: string,&lt;br /&gt;
    pos: [ real, real, real ],&lt;br /&gt;
    rotation: [ real, real, real ],&lt;br /&gt;
    scale: [ real, real, real ],&lt;br /&gt;
    shape:&lt;br /&gt;
    {&lt;br /&gt;
        path:&lt;br /&gt;
        {&lt;br /&gt;
            begin: real,&lt;br /&gt;
            curve: int,&lt;br /&gt;
            end: real,&lt;br /&gt;
            radius_offset: real,&lt;br /&gt;
            revolutions: real,&lt;br /&gt;
            scale_x: real,&lt;br /&gt;
            scale_y: real,&lt;br /&gt;
            shear_x: real,&lt;br /&gt;
            shear_y: real,&lt;br /&gt;
            skew: real,&lt;br /&gt;
            taper_x: real,&lt;br /&gt;
            taper_y: real,&lt;br /&gt;
            twist: real,&lt;br /&gt;
            twist_begin: real&lt;br /&gt;
        },&lt;br /&gt;
        profile:&lt;br /&gt;
        {&lt;br /&gt;
            begin: real,&lt;br /&gt;
            curve: int,&lt;br /&gt;
            end: real,&lt;br /&gt;
            hollow: real&lt;br /&gt;
        },&lt;br /&gt;
        sculpt:&lt;br /&gt;
        {&lt;br /&gt;
            id: uuid,&lt;br /&gt;
            type: int&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:OGP_Teleport&amp;diff=709842</id>
		<title>Talk:OGP Teleport</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:OGP_Teleport&amp;diff=709842"/>
		<updated>2010-01-20T22:08:54Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: QUESTION!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;What about adding first and last name to the avatar information resource? It&#039;s always good to know what to call the avatar :-). --[[User:Eddy Stryker|Eddy Stryker]] 22:08, 20 January 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Version_control_repository&amp;diff=392842</id>
		<title>Version control repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Version_control_repository&amp;diff=392842"/>
		<updated>2009-06-14T09:26:48Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Removing dead links to openmetaverse.org&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{CompileNav}}&lt;br /&gt;
&lt;br /&gt;
Linden Lab runs an official Subversion repository that contains occasional snapshots from the internal Linden Lab source repository.  &lt;br /&gt;
&lt;br /&gt;
== Using the repository ==&lt;br /&gt;
&lt;br /&gt;
*  Create a location on your hard drive to check out the code (e.g. Linden Lab developers generally use $HOME/linden)&lt;br /&gt;
*  Select which branch you&#039;d like to check out.  See [http://svn.secondlife.com/trac/linden/browser the tracker] to browse currently-active branches, and [[source branches]] for an explanation.  For example:&lt;br /&gt;
** Trunk: &amp;lt;nowiki&amp;gt;https://svn.secondlife.com/svn/linden/trunk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
** RC branch: &amp;lt;nowiki&amp;gt;https://svn.secondlife.com/svn/linden/branches/viewer_1-23&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
** Viewer Maintenance: &amp;lt;nowiki&amp;gt;https://svn.secondlife.com/svn/linden/branches/maint-viewer&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
** Render Maintenance: &amp;lt;nowiki&amp;gt;https://svn.secondlife.com/svn/linden/branches/render-pipeline&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
** Featurettes!: &amp;lt;nowiki&amp;gt;https://svn.secondlife.com/svn/linden/branches/featurettes&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
** Interop: &amp;lt;nowiki&amp;gt;https://svn.secondlife.com/svn/linden/branches/interop-9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
** l10n: &amp;lt;nowiki&amp;gt;https://svn.secondlife.com/svn/linden/branches/maint-l10n-1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
** Shadows and Texture Projection: &amp;lt;nowiki&amp;gt;https://svn.secondlife.com/svn/linden/branches/render-pipeline&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Browse source ==&lt;br /&gt;
&lt;br /&gt;
*  [http://svn.secondlife.com/trac/linden/browser Browse source (using Trac)]&lt;br /&gt;
*  [http://svn.secondlife.com/trac/linden Other tools]&lt;br /&gt;
&lt;br /&gt;
== Write access ==&lt;br /&gt;
&lt;br /&gt;
Developers that have signed and submitted [http://secondlife.com/developers/opensource/submitting a contribution agreement] are eligible (not guaranteed) for write access to the repository.  Other considerations, such as patches submitted and reasons access is requested will also come into play.&lt;br /&gt;
&lt;br /&gt;
Note that your checkout must be based off an &amp;lt;nowiki&amp;gt;https://&amp;lt;/nowiki&amp;gt; URL, not &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt; if you wish to commit, otherwise you will get an unfriendly 500 warning. This is done to avoid plaintext password exchanges. If you need to convert an existing checkout from http to https, investigate &amp;quot;svn switch --relocate&amp;quot; for command-line svn, or the &amp;quot;relocate&amp;quot; context menu in TortoiseSVN.&lt;br /&gt;
&lt;br /&gt;
== Unofficial repositories ==&lt;br /&gt;
&lt;br /&gt;
Below are repositories maintained by individuals outside Linden Lab.  These repositories are not affiliated with Linden Lab in any way.&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
Git repository for packaging the viewer for Debian, Ubuntu, Arch and Gentoo (so far), maintained by Robin Cornelius&lt;br /&gt;
&lt;br /&gt;
please see http://omvviewer.byteme.org.uk/ for details&lt;br /&gt;
&lt;br /&gt;
=== Hippo OpenSim Viewer ===&lt;br /&gt;
SVN repository of the [http://mjm-labs.com/viewer Hippo OpenSim Viewer],&lt;br /&gt;
a modified Second Life viewer targeted at [http://opensimulator.org/wiki/Main_Page OpenSim] users.&lt;br /&gt;
&lt;br /&gt;
See http://forge.opensimulator.org/gf/project/opensim-viewer/scmsvn/?action=AccessInfo for details.&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Asset_Wrapper&amp;diff=388232</id>
		<title>Talk:Asset Wrapper</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Asset_Wrapper&amp;diff=388232"/>
		<updated>2009-06-10T18:37:34Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: New page: Since notation format didn&amp;#039;t make it into the OGPX I-D for LLSD, you should redo the example using the JSON serialization. The binary section will be hilarious.  [ 00, 00, 10, AF, 0D, ... ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Since notation format didn&#039;t make it into the OGPX I-D for LLSD, you should redo the example using the JSON serialization. The binary section will be hilarious.&lt;br /&gt;
&lt;br /&gt;
[ 00, 00, 10, AF, 0D, ... ]&lt;br /&gt;
--[[User:Eddy Stryker|Eddy Stryker]] 18:37, 10 June 2009 (UTC)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=GridImageUpload&amp;diff=349123</id>
		<title>GridImageUpload</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=GridImageUpload&amp;diff=349123"/>
		<updated>2009-05-07T19:08:17Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Slimageupload-03.png]]&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
Windows: [http://www.jhurliman.org/download/GridImageUploadInstaller-1.0.4.exe 1.0.4]&lt;br /&gt;
&lt;br /&gt;
OSX: Not available yet&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
On Windows you will need the .NET 2.0 framework installed. On OSX you will need a recent copy of [http://www.mono-project.com/ Mono] and X11 installed (instructions for installing X11 on Tiger [http://overstimulate.com/articles/installing-x11-on-os-x-10-4-tiger here]). On Windows, simply run the installer. On OSX, open the DMG and drag GridImageUpload to Applications (or anywhere you wish to install it) and double-click the GridImageUpload application. It will only run if X11 and Mono (preferably Mono-2.4 or newer, but older versions should work) have been installed.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
Load an image to see what the final (JPEG2000 compressed) file size will be before uploading. You can experiment by checking and unchecking lossless encoding. Often times small images will compress to a smaller size with lossless encoding as it only uses a single quality level instead of the multiple quality levels created with lossy encoding. Once the image is uploaded you have three ways of retrieving it: using the resulting texture UUID in a script, logging in to SL with the same account you uploaded with and finding the filename of the uploaded image in your inventory, or using the send copy to avatar function to send a copy of the image to another account.&lt;br /&gt;
&lt;br /&gt;
===LSL Instructions===&lt;br /&gt;
&lt;br /&gt;
For a regular texture:&lt;br /&gt;
llSetTexture( &amp;quot;UUID_KEY_GOES_HERE&amp;quot;, ALL_SIDES );&lt;br /&gt;
&lt;br /&gt;
For a sculpt map texture:&lt;br /&gt;
llSetPrimitiveParams( [ PRIM_TYPE, PRIM_TYPE_SCULPT, &amp;quot;UUID_KEY_GOES_HERE&amp;quot;, PRIM_SCULPT_TYPE_SPHERE ] ); &lt;br /&gt;
&lt;br /&gt;
==Release Notes==&lt;br /&gt;
&lt;br /&gt;
1.0.4:&lt;br /&gt;
&lt;br /&gt;
* Renamed to GridImageUpload to avoid potential copyright issues and to signify the support for open source virtual worlds such as OpenSim&lt;br /&gt;
* Added a login URL box to allow logging in to the beta grid or alternative grids such as OpenSim&lt;br /&gt;
* Added a Save Image button to save JPEG2000 compressed textures to the hard drive without having to login to a grid&lt;br /&gt;
* Regression: The upload progress bar no longer works. This is due to a technical issue in the way libOpenMetaverse works; the tradeoff is better reliability, performance, and faster shutdown times&lt;br /&gt;
&lt;br /&gt;
1.0.3:&lt;br /&gt;
&lt;br /&gt;
* Uploads are working yet again. Switched from WebClient class to a homebrewed version that is working on Mono and .NET alike&lt;br /&gt;
* Progress bar should be working in this release&lt;br /&gt;
* First release of the OSX version&lt;br /&gt;
* New OpenJPEG release with speed and image quality improvements&lt;br /&gt;
&lt;br /&gt;
1.0.2:&lt;br /&gt;
&lt;br /&gt;
* Uploads are working again. Using the new CAPS system which should (and seems to) give faster, more reliable uploads&lt;br /&gt;
* Progress bar is broken in this release&lt;br /&gt;
* Uploaded images are added to inventory, permissions are set to full&lt;br /&gt;
* A copy is sent to another avatar if requested&lt;br /&gt;
* Fixed bug with lossless not being turned on or off when the checkbox was clicked sometimes&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=GridImageUpload&amp;diff=349113</id>
		<title>GridImageUpload</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=GridImageUpload&amp;diff=349113"/>
		<updated>2009-05-07T19:07:30Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: GridImageUpload 1.0.4 is released&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Slimageupload-03.png]]&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
Windows: [http://www.jhurliman.org/download/GridImageUploadInstaller-1.0.4.exe 1.0.4]&lt;br /&gt;
OSX: Not available yet&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
On Windows you will need the .NET 2.0 framework installed. On OSX you will need a recent copy of [http://www.mono-project.com/ Mono] and X11 installed (instructions for installing X11 on Tiger [http://overstimulate.com/articles/installing-x11-on-os-x-10-4-tiger here]). On Windows, simply run the installer. On OSX, open the DMG and drag GridImageUpload to Applications (or anywhere you wish to install it) and double-click the GridImageUpload application. It will only run if X11 and Mono (preferably Mono-2.4 or newer, but older versions should work) have been installed.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
Load an image to see what the final (JPEG2000 compressed) file size will be before uploading. You can experiment by checking and unchecking lossless encoding. Often times small images will compress to a smaller size with lossless encoding as it only uses a single quality level instead of the multiple quality levels created with lossy encoding. Once the image is uploaded you have three ways of retrieving it: using the resulting texture UUID in a script, logging in to SL with the same account you uploaded with and finding the filename of the uploaded image in your inventory, or using the send copy to avatar function to send a copy of the image to another account.&lt;br /&gt;
&lt;br /&gt;
===LSL Instructions===&lt;br /&gt;
&lt;br /&gt;
For a regular texture:&lt;br /&gt;
llSetTexture( &amp;quot;UUID_KEY_GOES_HERE&amp;quot;, ALL_SIDES );&lt;br /&gt;
&lt;br /&gt;
For a sculpt map texture:&lt;br /&gt;
llSetPrimitiveParams( [ PRIM_TYPE, PRIM_TYPE_SCULPT, &amp;quot;UUID_KEY_GOES_HERE&amp;quot;, PRIM_SCULPT_TYPE_SPHERE ] ); &lt;br /&gt;
&lt;br /&gt;
==Release Notes==&lt;br /&gt;
&lt;br /&gt;
1.0.4:&lt;br /&gt;
&lt;br /&gt;
* Renamed to GridImageUpload to avoid potential copyright issues and to signify the support for open source virtual worlds such as OpenSim&lt;br /&gt;
* Added a login URL box to allow logging in to the beta grid or alternative grids such as OpenSim&lt;br /&gt;
* Added a Save Image button to save JPEG2000 compressed textures to the hard drive without having to login to a grid&lt;br /&gt;
* Regression: The upload progress bar no longer works. This is due to a technical issue in the way libOpenMetaverse works; the tradeoff is better reliability, performance, and faster shutdown times&lt;br /&gt;
&lt;br /&gt;
1.0.3:&lt;br /&gt;
&lt;br /&gt;
* Uploads are working yet again. Switched from WebClient class to a homebrewed version that is working on Mono and .NET alike&lt;br /&gt;
* Progress bar should be working in this release&lt;br /&gt;
* First release of the OSX version&lt;br /&gt;
* New OpenJPEG release with speed and image quality improvements&lt;br /&gt;
&lt;br /&gt;
1.0.2:&lt;br /&gt;
&lt;br /&gt;
* Uploads are working again. Using the new CAPS system which should (and seems to) give faster, more reliable uploads&lt;br /&gt;
* Progress bar is broken in this release&lt;br /&gt;
* Uploaded images are added to inventory, permissions are set to full&lt;br /&gt;
* A copy is sent to another avatar if requested&lt;br /&gt;
* Fixed bug with lossless not being turned on or off when the checkbox was clicked sometimes&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Template:All_Asset_Types&amp;diff=338643</id>
		<title>Template:All Asset Types</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Template:All_Asset_Types&amp;diff=338643"/>
		<updated>2009-04-28T21:37:16Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Files Types known by the asset system&lt;br /&gt;
! Reference !! extension !! id !! mime type !! LSL&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Textures&lt;br /&gt;
|extension=texture &lt;br /&gt;
|id=0&lt;br /&gt;
|mime_type=image/x-j2c&lt;br /&gt;
|lsl=INVENTORY_TEXTURE&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Sounds&lt;br /&gt;
|extension=sound&lt;br /&gt;
|id=1&lt;br /&gt;
|mime_type=application/ogg&lt;br /&gt;
|lsl=INVENTORY_SOUND&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Calling_Card&lt;br /&gt;
|extension=callingcard&lt;br /&gt;
|id=2&lt;br /&gt;
|mime_type=application/vnd.ll.callingcard&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Landmarks&lt;br /&gt;
|extension=landmark &lt;br /&gt;
|id=3&lt;br /&gt;
|mime_type=application/vnd.ll.landmark&lt;br /&gt;
|lsl=INVENTORY_LANDMARK&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Clothing&lt;br /&gt;
|extension=clothing &lt;br /&gt;
|id=5&lt;br /&gt;
|mime_type=application/vnd.ll.clothing&lt;br /&gt;
|lsl=INVENTORY_CLOTHING&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Primitive&lt;br /&gt;
|extension=primitive&lt;br /&gt;
|id=6&lt;br /&gt;
|mime_type=application/vnd.ll.primitive&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Notecards&lt;br /&gt;
|extension=notecard&lt;br /&gt;
|id=7&lt;br /&gt;
|mime_type=application/vnd.ll.notecard&lt;br /&gt;
|lsl=INVENTORY_NOTECARD&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=LSL Text&lt;br /&gt;
|extension=lsltext&lt;br /&gt;
|id=10&lt;br /&gt;
|mime_type=application/vnd.ll.lsltext&lt;br /&gt;
|lsl=INVENTORY_SCRIPT&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=LSL Bytecode&lt;br /&gt;
|extension=lslbyte&lt;br /&gt;
|id=11&lt;br /&gt;
|mime_type=application/vnd.ll.lslbyte&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Bodypart&lt;br /&gt;
|extension=bodypart&lt;br /&gt;
|id=13&lt;br /&gt;
|mime_type=application/vnd.ll.bodypart&lt;br /&gt;
|lsl=INVENTORY_BODYPART&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Animations&lt;br /&gt;
|extension=animatn&lt;br /&gt;
|id=20&lt;br /&gt;
|mime_type=application/vnd.ll.animation&lt;br /&gt;
|lsl=INVENTORY_ANIMATION&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Gestures&lt;br /&gt;
|extension=gesture&lt;br /&gt;
|id=21&lt;br /&gt;
|mime_type=application/vnd.ll.gesture&lt;br /&gt;
|lsl=INVENTORY_GESTURE&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{Asset Type&lt;br /&gt;
|wiki_page=Asset Wrapper&lt;br /&gt;
|extension=asset&lt;br /&gt;
|id=unassigned&lt;br /&gt;
|mime_type=application/vnd.ll.asset&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Capabilities&amp;diff=336652</id>
		<title>Capabilities</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Capabilities&amp;diff=336652"/>
		<updated>2009-04-27T19:30:36Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
&lt;br /&gt;
The viewer (and other client applications) can request &#039;&#039;&#039;capabilities&#039;&#039;&#039; from the simulators to gain access to certain features.&lt;br /&gt;
&lt;br /&gt;
*  Map from public URL to private URL&lt;br /&gt;
**  e.g. https://sim1001:12041/cap/uuid1&lt;br /&gt;
*  Cap set &amp;lt;map&amp;gt;&amp;lt;key&amp;gt;Asset upload&amp;lt;/key&amp;gt;&lt;br /&gt;
*:                &amp;lt;uri&amp;gt;URI1&amp;lt;/uri&amp;gt;&lt;br /&gt;
*:                &amp;lt;key&amp;gt;Seed capability&amp;lt;/key&amp;gt;&lt;br /&gt;
*:                &amp;lt;uri&amp;gt;URI2&amp;lt;/uri&amp;gt;&lt;br /&gt;
*:                &amp;lt;/map&amp;gt;              &lt;br /&gt;
*  Viewer knows public URL&lt;br /&gt;
*  Internally, backbone stores both public and private URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Flow for getting capabilities&lt;br /&gt;
*  Viewer contacts login server requesting a particular capability&lt;br /&gt;
*  Login server contacts sim&lt;br /&gt;
*  Sim contacts backbone, sending a private uri corresponding to an action or service&lt;br /&gt;
*  Backbone generates and returns a public uri corresponding to the private uri&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* Do not rely on the form of a capability, other than it must be http: or https:.  Capabilities from the same source needn&#039;t point to the same host or port, and the path needn&#039;t start /cap.&lt;br /&gt;
* To get a list of the capabilities that the latest Second Life client is requesting, use this command:&lt;br /&gt;
&amp;lt;pre&amp;gt;wget -q -O - http://svn.secondlife.com/svn/linden/trunk/indra/newview/llviewerregion.cpp | grep &#039;capabilityNames.append&#039; | sed &#039;s/^[ \t]*//;s/capabilityNames.append(&amp;quot;//;s/&amp;quot;);//&#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;See also&#039;&#039;: [http://mrtopf.de/blog/secondlife/slga-capabilities-explained-technical Tao Takaishi&#039;s blog discussion of capabilities]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=PrimLLSD&amp;diff=270573</id>
		<title>PrimLLSD</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=PrimLLSD&amp;diff=270573"/>
		<updated>2009-03-09T21:25:06Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: New page: &amp;lt;pre&amp;gt; {         name    Object|         permissions 0         {                 base_mask       7fffffff                 owner_mask      7fffffff                 group_mask      00000000  ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
        name    Object|&lt;br /&gt;
        permissions 0&lt;br /&gt;
        {&lt;br /&gt;
                base_mask       7fffffff&lt;br /&gt;
                owner_mask      7fffffff&lt;br /&gt;
                group_mask      00000000&lt;br /&gt;
                everyone_mask   00000000&lt;br /&gt;
                next_owner_mask 00082000&lt;br /&gt;
                creator_id      3c115e51-04f4-523c-9fa6-98aff1034730&lt;br /&gt;
                owner_id        3c115e51-04f4-523c-9fa6-98aff1034730&lt;br /&gt;
                last_owner_id   00000000-0000-0000-0000-000000000000&lt;br /&gt;
                group_id        00000000-0000-0000-0000-000000000000&lt;br /&gt;
        }&lt;br /&gt;
        local_id        10284&lt;br /&gt;
        total_crc       35&lt;br /&gt;
        type    1&lt;br /&gt;
        task_valid      2&lt;br /&gt;
        travel_access   21&lt;br /&gt;
        displayopts     2&lt;br /&gt;
        displaytype     v&lt;br /&gt;
        pos     0       0       0&lt;br /&gt;
        oldpos  0       0       0&lt;br /&gt;
        rotation        4.371139183945160766597837e-08  1       4.371139183945160766597837e-08  0&lt;br /&gt;
        velocity        0       0       0&lt;br /&gt;
        angvel  0       0       0&lt;br /&gt;
        scale   0.2816932       0.2816932       0.2816932&lt;br /&gt;
        sit_offset      0       0       0&lt;br /&gt;
        camera_eye_offset       0       0       0&lt;br /&gt;
        camera_at_offset        0       0       0&lt;br /&gt;
        sit_quat        0       0       0       1&lt;br /&gt;
        sit_hint        0&lt;br /&gt;
        state   80&lt;br /&gt;
        material        3&lt;br /&gt;
        soundid 00000000-0000-0000-0000-000000000000&lt;br /&gt;
        soundgain       0&lt;br /&gt;
        soundradius     0&lt;br /&gt;
        soundflags      0&lt;br /&gt;
        textcolor       0 0 0 1&lt;br /&gt;
        selected        0&lt;br /&gt;
        selector        00000000-0000-0000-0000-000000000000&lt;br /&gt;
        usephysics      0&lt;br /&gt;
        rotate_x        1&lt;br /&gt;
        rotate_y        1&lt;br /&gt;
        rotate_z        1&lt;br /&gt;
        phantom 0&lt;br /&gt;
        remote_script_access_pin        0&lt;br /&gt;
        volume_detect   0&lt;br /&gt;
        block_grabs     0&lt;br /&gt;
        die_at_edge     0&lt;br /&gt;
        return_at_edge  0&lt;br /&gt;
        temporary       0&lt;br /&gt;
        sandbox 0&lt;br /&gt;
        sandboxhome     0       0       0&lt;br /&gt;
        shape 0&lt;br /&gt;
        {&lt;br /&gt;
                path 0&lt;br /&gt;
                {&lt;br /&gt;
                        curve   16&lt;br /&gt;
                        begin   0&lt;br /&gt;
                        end     1&lt;br /&gt;
                        scale_x 1&lt;br /&gt;
                        scale_y 1&lt;br /&gt;
                        shear_x 0&lt;br /&gt;
                        shear_y 0&lt;br /&gt;
                        twist   0&lt;br /&gt;
                        twist_begin     0&lt;br /&gt;
                        radius_offset   0&lt;br /&gt;
                        taper_x 0&lt;br /&gt;
                        taper_y 0&lt;br /&gt;
                        revolutions     1&lt;br /&gt;
                        skew    0&lt;br /&gt;
                }&lt;br /&gt;
                profile 0&lt;br /&gt;
                {&lt;br /&gt;
                        curve   1&lt;br /&gt;
                        begin   0&lt;br /&gt;
                        end     1&lt;br /&gt;
                        hollow  0&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        faces   6&lt;br /&gt;
        {&lt;br /&gt;
                imageid 89556747-24cb-43ed-920b-47caed15465f&lt;br /&gt;
                colors  1 1 1 1&lt;br /&gt;
                scales  0.56&lt;br /&gt;
                scalet  0.56&lt;br /&gt;
                offsets 0&lt;br /&gt;
                offsett 0&lt;br /&gt;
                imagerot        0&lt;br /&gt;
                bump    0&lt;br /&gt;
                fullbright      0&lt;br /&gt;
                media_flags     0&lt;br /&gt;
        }&lt;br /&gt;
        {&lt;br /&gt;
                imageid 89556747-24cb-43ed-920b-47caed15465f&lt;br /&gt;
                colors  1 1 1 1&lt;br /&gt;
                scales  0.56&lt;br /&gt;
                scalet  0.56&lt;br /&gt;
                offsets 0&lt;br /&gt;
                offsett 0&lt;br /&gt;
                imagerot        0&lt;br /&gt;
                bump    0&lt;br /&gt;
                fullbright      0&lt;br /&gt;
                media_flags     0&lt;br /&gt;
        }&lt;br /&gt;
        {&lt;br /&gt;
                imageid 89556747-24cb-43ed-920b-47caed15465f&lt;br /&gt;
                colors  1 1 1 1&lt;br /&gt;
                scales  0.56&lt;br /&gt;
                scalet  0.56&lt;br /&gt;
                offsets 0&lt;br /&gt;
                offsett 0&lt;br /&gt;
                imagerot        0&lt;br /&gt;
                bump    0&lt;br /&gt;
                fullbright      0&lt;br /&gt;
                media_flags     0&lt;br /&gt;
        }&lt;br /&gt;
        {&lt;br /&gt;
                imageid 89556747-24cb-43ed-920b-47caed15465f&lt;br /&gt;
                colors  1 1 1 1&lt;br /&gt;
                scales  0.56&lt;br /&gt;
                scalet  0.56&lt;br /&gt;
                offsets 0&lt;br /&gt;
                offsett 0&lt;br /&gt;
                imagerot        0&lt;br /&gt;
                bump    0&lt;br /&gt;
                fullbright      0&lt;br /&gt;
                media_flags     0&lt;br /&gt;
        }&lt;br /&gt;
        {&lt;br /&gt;
                imageid 89556747-24cb-43ed-920b-47caed15465f&lt;br /&gt;
                colors  1 1 1 1&lt;br /&gt;
                scales  0.56&lt;br /&gt;
                scalet  0.56&lt;br /&gt;
                offsets 0&lt;br /&gt;
                offsett 0&lt;br /&gt;
                imagerot        0&lt;br /&gt;
                bump    0&lt;br /&gt;
                fullbright      0&lt;br /&gt;
                media_flags     0&lt;br /&gt;
        }&lt;br /&gt;
        {&lt;br /&gt;
                imageid 89556747-24cb-43ed-920b-47caed15465f&lt;br /&gt;
                colors  1 1 1 1&lt;br /&gt;
                scales  0.56&lt;br /&gt;
                scalet  0.56&lt;br /&gt;
                offsets 0&lt;br /&gt;
                offsett 0&lt;br /&gt;
                imagerot        0&lt;br /&gt;
                bump    0&lt;br /&gt;
                fullbright      0&lt;br /&gt;
                media_flags     0&lt;br /&gt;
        }&lt;br /&gt;
        ps_next_crc     1&lt;br /&gt;
        gpw_bias        1&lt;br /&gt;
        ip      0&lt;br /&gt;
        complete        TRUE&lt;br /&gt;
        delay   50000&lt;br /&gt;
        nextstart       1132625972249870&lt;br /&gt;
        birthtime       1132625953120694&lt;br /&gt;
        reztime 1132625953120694&lt;br /&gt;
        parceltime      1132625953120694&lt;br /&gt;
        tax_rate        1.01615&lt;br /&gt;
        namevalue       AttachmentOrientation VEC3 RW DS -3.141593, 0.000000, -3.141593&lt;br /&gt;
        namevalue       AttachmentOffset VEC3 RW DS 0.000000, 0.000000, 0.000000&lt;br /&gt;
        namevalue       AttachPt U32 RW S 5&lt;br /&gt;
        namevalue       AttachItemID STRING RW SV 1f9975c0-2951-1b93-dd83-46e2b932fcc8&lt;br /&gt;
        scratchpad      0&lt;br /&gt;
        {&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
        sale_info       0&lt;br /&gt;
        {&lt;br /&gt;
                sale_type       not&lt;br /&gt;
                sale_price      10&lt;br /&gt;
        }&lt;br /&gt;
        orig_asset_id   52019cdd-b464-ba19-e66d-3da751fef9da&lt;br /&gt;
        orig_item_id    1f9975c0-2951-1b93-dd83-46e2b932fcc8&lt;br /&gt;
        correct_family_id       00000000-0000-0000-0000-000000000000&lt;br /&gt;
        has_rezzed      0&lt;br /&gt;
        pre_link_base_mask      7fffffff&lt;br /&gt;
        default_pay_price       -2      1       5       10      20&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=ParcelProperties&amp;diff=251322</id>
		<title>ParcelProperties</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=ParcelProperties&amp;diff=251322"/>
		<updated>2009-02-20T21:39:06Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
==Message Layout==&lt;br /&gt;
&amp;lt;pre width=80&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	ParcelProperties High Trusted Zerocoded&lt;br /&gt;
	{&lt;br /&gt;
		ParcelData			Single&lt;br /&gt;
		{	RequestResult	S32				}&lt;br /&gt;
		{	SequenceID		S32				}&lt;br /&gt;
		{	SnapSelection	BOOL			}&lt;br /&gt;
		{	SelfCount		S32				}&lt;br /&gt;
		{	OtherCount		S32				}&lt;br /&gt;
		{	PublicCount		S32				}&lt;br /&gt;
		{	LocalID			S32				}&lt;br /&gt;
		{	OwnerID			LLUUID			}&lt;br /&gt;
		{	IsGroupOwned	BOOL			}&lt;br /&gt;
		{	AuctionID		U32				}&lt;br /&gt;
		{	ReservedNewbie	BOOL			}&lt;br /&gt;
		{	ClaimDate		S32				}	&lt;br /&gt;
		{	ClaimPrice		S32				}&lt;br /&gt;
		{	RentPrice		S32				}&lt;br /&gt;
		{	AABBMin			LLVector3		}&lt;br /&gt;
		{	AABBMax			LLVector3		}&lt;br /&gt;
		{	Bitmap			Variable	2	}	&lt;br /&gt;
		{	Area			S32				}&lt;br /&gt;
		{	Status			U8	}  &lt;br /&gt;
		{	SimWideMaxPrims		S32			}&lt;br /&gt;
		{	SimWideTotalPrims	S32			}&lt;br /&gt;
		{	MaxPrims		S32				}&lt;br /&gt;
		{	TotalPrims		S32				}&lt;br /&gt;
		{	OwnerPrims		S32				}&lt;br /&gt;
		{	GroupPrims		S32				}&lt;br /&gt;
		{	OtherPrims		S32				}&lt;br /&gt;
		{	SelectedPrims	S32				}&lt;br /&gt;
		{	ParcelPrimBonus	F32				}&lt;br /&gt;
&lt;br /&gt;
		{	OtherCleanTime	S32				}&lt;br /&gt;
&lt;br /&gt;
		{	ParcelFlags		U32				}&lt;br /&gt;
		{	SalePrice		S32				}&lt;br /&gt;
		{	Name			Variable	1	}	&lt;br /&gt;
		{	Desc			Variable	1	}	&lt;br /&gt;
		{	MusicURL		Variable	1	}	&lt;br /&gt;
		{	MediaURL		Variable	1	}	&lt;br /&gt;
		{	MediaID			LLUUID			}&lt;br /&gt;
		{	MediaAutoScale	U8				}&lt;br /&gt;
		{	GroupID			LLUUID			}&lt;br /&gt;
		{	PassPrice		S32				}&lt;br /&gt;
		{	PassHours		F32				}&lt;br /&gt;
		{	Category		U8				}&lt;br /&gt;
		{	AuthBuyerID		LLUUID			}&lt;br /&gt;
		{	SnapshotID		LLUUID			}&lt;br /&gt;
		{	UserLocation	LLVector3		}&lt;br /&gt;
		{	UserLookAt		LLVector3		}&lt;br /&gt;
		{	LandingType		U8				}&lt;br /&gt;
		{	RegionPushOverride	BOOL		}&lt;br /&gt;
		{	RegionDenyAnonymous	BOOL		}&lt;br /&gt;
		{	RegionDenyIdentified	BOOL		}&lt;br /&gt;
		{	RegionDenyTransacted	BOOL		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Over capabilities, notation syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
    &#039;AgeVerificationBlock&#039;:&lt;br /&gt;
    [      &lt;br /&gt;
      {&lt;br /&gt;
        &#039;RegionDenyAgeUnverified&#039;:f&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &#039;MediaData&#039;:&lt;br /&gt;
    [      &lt;br /&gt;
      {&lt;br /&gt;
        &#039;ObscureMusic&#039;:i0,&lt;br /&gt;
        &#039;ObscureMedia&#039;:i0,&lt;br /&gt;
        &#039;MediaHeight&#039;:i0,&lt;br /&gt;
        &#039;MediaDesc&#039;:&#039;&#039;,&lt;br /&gt;
        &#039;MediaWidth&#039;:i0,&lt;br /&gt;
        &#039;MediaLoop&#039;:i1,&lt;br /&gt;
        &#039;MediaType&#039;:&#039;none/none&#039;&lt;br /&gt;
      }&lt;br /&gt;
    ],&lt;br /&gt;
    &#039;ParcelData&#039;:&lt;br /&gt;
    [      &lt;br /&gt;
      {&lt;br /&gt;
        &#039;Category&#039;:i0,&lt;br /&gt;
        &#039;SimWideTotalPrims&#039;:i441,&lt;br /&gt;
        &#039;ClaimPrice&#039;:i0,&lt;br /&gt;
        &#039;SnapshotID&#039;:ubb5ecdcc-16be-3796-c378-a7f7e3a5e476,&lt;br /&gt;
        &#039;OtherCount&#039;:i130,&lt;br /&gt;
        &#039;IsGroupOwned&#039;:f,&lt;br /&gt;
        &#039;MediaURL&#039;:&#039;&#039;,&lt;br /&gt;
        &#039;GroupID&#039;:u2e361eff-cba6-da6e-d9e6-a71536adfb03,&lt;br /&gt;
        &#039;ClaimDate&#039;:i1187655263,&lt;br /&gt;
        &#039;SnapSelection&#039;:f,&lt;br /&gt;
        &#039;OtherCleanTime&#039;:i1,&lt;br /&gt;
        &#039;GroupPrims&#039;:i0,&lt;br /&gt;
        &#039;Desc&#039;:&#039;This sandbox has been discontinued. &#039;,&lt;br /&gt;
        &#039;SelfCount&#039;:i0,&lt;br /&gt;
        &#039;SelectedPrims&#039;:i0,&lt;br /&gt;
        &#039;RegionDenyIdentified&#039;:f,&lt;br /&gt;
        &#039;Status&#039;:i0,&lt;br /&gt;
        &#039;MediaAutoScale&#039;:i0,&lt;br /&gt;
        &#039;Bitmap&#039;:b64&amp;quot;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/x8AAAAAAAD/HwAAAAAAAP8fAAAAAAAA/x8AAAAAAADHwAAAAAAAP8fAAAAAAAA/x8AAAAAAAD/HwAAAAAAAP8fAAAAAAAA/x8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=&amp;quot;,&lt;br /&gt;
        &#039;OwnerID&#039;:u55c67f37-a774-440a-9932-a70acbe214c8,&lt;br /&gt;
        &#039;AABBMax&#039;:&lt;br /&gt;
        [&lt;br /&gt;
          r180,&lt;br /&gt;
          r128,&lt;br /&gt;
          r50&lt;br /&gt;
        ],&lt;br /&gt;
        &#039;SimWideMaxPrims&#039;:i5625,&lt;br /&gt;
        &#039;TotalPrims&#039;:i0,&lt;br /&gt;
        &#039;PublicCount&#039;:i0,&lt;br /&gt;
        &#039;Name&#039;:&#039;Hippotropolis&#039;,&lt;br /&gt;
        &#039;SequenceID&#039;:i2147483647,&lt;br /&gt;
        &#039;RegionDenyAnonymous&#039;:f,&lt;br /&gt;
        &#039;RegionDenyTransacted&#039;:f,&lt;br /&gt;
        &#039;AABBMin&#039;:&lt;br /&gt;
        [&lt;br /&gt;
          r128,&lt;br /&gt;
          r88,&lt;br /&gt;
          r0&lt;br /&gt;
        ],&lt;br /&gt;
        &#039;OtherPrims&#039;:i0,&lt;br /&gt;
        &#039;LocalID&#039;:i155,&lt;br /&gt;
        &#039;UserLocation&#039;:&lt;br /&gt;
        [&lt;br /&gt;
          r132.139007568359,&lt;br /&gt;
          r124.957000732422,&lt;br /&gt;
          r29.9831008911133&lt;br /&gt;
        ],&lt;br /&gt;
        &#039;MaxPrims&#039;:i476,&lt;br /&gt;
        &#039;RequestResult&#039;:i0,&lt;br /&gt;
        &#039;AuthBuyerID&#039;:u00000000-0000-0000-0000-000000000000,&lt;br /&gt;
        &#039;PassHours&#039;:r1,&lt;br /&gt;
        &#039;RegionPushOverride&#039;:t,&lt;br /&gt;
        &#039;ParcelFlags&#039;:b64&amp;quot;fiAESw==&amp;quot;,&lt;br /&gt;
        &#039;OwnerPrims&#039;:i0,&lt;br /&gt;
        &#039;PassPrice&#039;:i10,&lt;br /&gt;
        &#039;ParcelPrimBonus&#039;:r1,&lt;br /&gt;
        &#039;LandingType&#039;:i1,&lt;br /&gt;
        &#039;SalePrice&#039;:i10000,&lt;br /&gt;
        &#039;UserLookAt&#039;:&lt;br /&gt;
        [&lt;br /&gt;
          r-0.98674601316452,&lt;br /&gt;
          r-0.162269994616508,&lt;br /&gt;
          r0&lt;br /&gt;
        ],&lt;br /&gt;
        &#039;RentPrice&#039;:i0,&lt;br /&gt;
        &#039;MusicURL&#039;:&#039;&#039;,&lt;br /&gt;
        &#039;AuctionID&#039;:b64&amp;quot;AAAAAA==&amp;quot;,&lt;br /&gt;
        &#039;Area&#039;:i2080,&lt;br /&gt;
        &#039;MediaID&#039;:u00000000-0000-0000-0000-000000000000&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage and Notes==&lt;br /&gt;
[[Category:Messages]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:OGP_LLSD_Draft_3&amp;diff=246832</id>
		<title>Talk:OGP LLSD Draft 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:OGP_LLSD_Draft_3&amp;diff=246832"/>
		<updated>2009-02-18T20:30:59Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some LLIDL questions:&lt;br /&gt;
&amp;lt;pre&amp;gt;; An LLSD value containing { member1 : true, member2 : true } comes in. Is member3 a string or an int?&lt;br /&gt;
&amp;amp;a = { member1 : true, member2 : false, member3 : string }&lt;br /&gt;
&amp;amp;a = { member1 : false, member2 : true, member3 : int }&lt;br /&gt;
&lt;br /&gt;
; How is a parser supposed to handle this?&lt;br /&gt;
&amp;amp;b = { $ : &amp;amp;b }&lt;br /&gt;
; Or this?&lt;br /&gt;
&amp;amp;c = { $ : &amp;amp;d }&lt;br /&gt;
&amp;amp;d = { $ : &amp;amp;c }&lt;br /&gt;
&lt;br /&gt;
; The first variant is of the type uri. The second variant is of type string?&lt;br /&gt;
&amp;amp;e = uri&lt;br /&gt;
&amp;amp;e = &amp;quot;http://www.google.com/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Forward-slash seems like an odd addition to 0-9+A-Z. Why this character?&lt;br /&gt;
&amp;amp;f/ = undef&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Eddy Stryker|Eddy Stryker]] 07:52, 17 February 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:OGP_LLSD_Draft_3&amp;diff=244512</id>
		<title>Talk:OGP LLSD Draft 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:OGP_LLSD_Draft_3&amp;diff=244512"/>
		<updated>2009-02-17T21:11:02Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some LLIDL questions:&lt;br /&gt;
&amp;lt;pre&amp;gt;; An LLSD value containing { member1 : true, member2 : true } comes in. Is member3 a string or an int?&lt;br /&gt;
&amp;amp;a = { member1 : true, member2 : false, member3 : string }&lt;br /&gt;
&amp;amp;a = { member1 : false, member2 : true, member3 : int }&lt;br /&gt;
&lt;br /&gt;
; What is the purpose of the $ symbol in maps? What do these statements mean?&lt;br /&gt;
&amp;amp;b = { $ : bool }&lt;br /&gt;
&amp;amp;b = { $ : &amp;quot;hello world&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
; The first variant is of the type uri. The second variant is of type string?&lt;br /&gt;
&amp;amp;c = uri&lt;br /&gt;
&amp;amp;c = &amp;quot;http://www.google.com/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Forward-slash seems like an odd addition to 0-9+A-Z. Why this character?&lt;br /&gt;
&amp;amp;_/ = undef&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Eddy Stryker|Eddy Stryker]] 07:52, 17 February 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:OGP_LLSD_Draft_3&amp;diff=242022</id>
		<title>Talk:OGP LLSD Draft 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:OGP_LLSD_Draft_3&amp;diff=242022"/>
		<updated>2009-02-17T07:52:22Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Some LLIDL questions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some LLIDL questions:&lt;br /&gt;
&amp;lt;pre&amp;gt;; An LLSD value containing { member1 : true, member2 : true } comes in. Is member3 a string or an int?&lt;br /&gt;
&amp;amp;a = { member1 : true, member2 : false, member3 : string }&lt;br /&gt;
&amp;amp;a = { member1 : false, member2 : true, member3 : int }&lt;br /&gt;
&lt;br /&gt;
; Is this an array containing only the string &amp;quot;hello world&amp;quot;?&lt;br /&gt;
[&amp;quot;hello world&amp;quot; ...]&lt;br /&gt;
&lt;br /&gt;
; The first variant is of the type uri. The second variant is of type string?&lt;br /&gt;
&amp;amp;c = uri&lt;br /&gt;
&amp;amp;c = &amp;quot;http://www.google.com/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Forward-slash seems like an odd addition to 0-9+A-Z. Why this character?&lt;br /&gt;
&amp;amp;_/ = undef&amp;lt;/pre&amp;gt;&lt;br /&gt;
--[[User:Eddy Stryker|Eddy Stryker]] 07:52, 17 February 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=SeedCapability&amp;diff=224753</id>
		<title>SeedCapability</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=SeedCapability&amp;diff=224753"/>
		<updated>2009-02-04T23:45:34Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: New page: Client POSTs:  &amp;lt;pre&amp;gt; &amp;amp;lt;llsd&amp;amp;gt;      &amp;amp;lt;array&amp;amp;gt;          &amp;amp;lt;string&amp;amp;gt;MapLayer&amp;amp;lt;/string&amp;amp;gt;          &amp;amp;lt;string&amp;amp;gt;MapLayerGod&amp;amp;lt;/string&amp;amp;gt;          &amp;amp;lt;string&amp;amp;gt;NewAgentInvento...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Client POSTs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;llsd&amp;amp;gt;&lt;br /&gt;
     &amp;amp;lt;array&amp;amp;gt;&lt;br /&gt;
         &amp;amp;lt;string&amp;amp;gt;MapLayer&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
         &amp;amp;lt;string&amp;amp;gt;MapLayerGod&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
         &amp;amp;lt;string&amp;amp;gt;NewAgentInventory&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
         &amp;amp;lt;string&amp;amp;gt;EventQueueGet&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
     &amp;amp;lt;/array&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/llsd&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Server responds:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;llsd&amp;amp;gt;&lt;br /&gt;
     &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;EventQueueGet&amp;amp;lt;/key&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;https://sim2.aditi.lindenlab.com:12043/cap/eb34cda6-0000-0000-0000-000000000000&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;MapLayer&amp;amp;lt;/key&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;https://sim2.aditi.lindenlab.com:12043/cap/e05f9307-0000-0000-0000-000000000000&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;MapLayerGod&amp;amp;lt;/key&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;https://sim2.aditi.lindenlab.com:12043/cap/899e2f11-0000-0000-0000-000000000000&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;NewAgentInventory&amp;amp;lt;/key&amp;amp;gt;&amp;amp;lt;string&amp;amp;gt;https://sim2.aditi.lindenlab.com:12043/cap/469933ae-0000-0000-0000-000000000000&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
     &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/llsd&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=MoveInventoryItem&amp;diff=192292</id>
		<title>MoveInventoryItem</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=MoveInventoryItem&amp;diff=192292"/>
		<updated>2009-01-05T20:23:13Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Added example exchange&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
==Message Layout==&lt;br /&gt;
&amp;lt;pre width=80&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	MoveInventoryItem	Low	NotTrusted	Zerocoded&lt;br /&gt;
	{&lt;br /&gt;
		AgentData		Single&lt;br /&gt;
		{	AgentID		LLUUID	}&lt;br /&gt;
		{	SessionID	LLUUID	}&lt;br /&gt;
		{	Stamp		BOOL	} &lt;br /&gt;
	}&lt;br /&gt;
	{&lt;br /&gt;
		InventoryData	Variable&lt;br /&gt;
		{	ItemID		LLUUID	}&lt;br /&gt;
		{	FolderID	LLUUID	}&lt;br /&gt;
		{	NewName			Variable	1	}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Usage and Notes==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--&amp;gt;  63.210.159.233:13001   974 [        Rel    ]&lt;br /&gt;
--- MoveInventoryItem ---&lt;br /&gt;
-- AgentData --&lt;br /&gt;
AgentID: f6ec1e24-fd29-4f4c-b21e-23b42841c8c7&lt;br /&gt;
SessionID: c408f95a-8c86-478c-b700-f1ccfa30c270&lt;br /&gt;
Stamp: True&lt;br /&gt;
-- InventoryData --&lt;br /&gt;
ItemID: 88552dc5-d21b-e444-43b4-edc2a8e1e9e5&lt;br /&gt;
FolderID: 777ae806-86de-42f6-9eaf-1f7d84c09c81&lt;br /&gt;
&lt;br /&gt;
&amp;lt;--  63.210.159.233:13001  2038 [        Rel Zer]&lt;br /&gt;
--- BulkUpdateInventory ---&lt;br /&gt;
-- AgentData --&lt;br /&gt;
AgentID: f6ec1e24-fd29-4f4c-b21e-23b42841c8c7&lt;br /&gt;
TransactionID: bbf0cc44-39da-fc08-9094-f440a2f76251&lt;br /&gt;
-- FolderData --&lt;br /&gt;
FolderID: 00000000-0000-0000-0000-000000000000&lt;br /&gt;
ParentID: 00000000-0000-0000-0000-000000000000&lt;br /&gt;
Type: -1&lt;br /&gt;
-- ItemData --&lt;br /&gt;
ItemID: 88552dc5-d21b-e444-43b4-edc2a8e1e9e5&lt;br /&gt;
CallbackID: 0&lt;br /&gt;
FolderID: 777ae806-86de-42f6-9eaf-1f7d84c09c81&lt;br /&gt;
CreatorID: f6ec1e24-fd29-4f4c-b21e-23b42841c8c7&lt;br /&gt;
OwnerID: f6ec1e24-fd29-4f4c-b21e-23b42841c8c7&lt;br /&gt;
GroupID: 00000000-0000-0000-0000-000000000000&lt;br /&gt;
BaseMask: 2147483647&lt;br /&gt;
OwnerMask: 2147483647&lt;br /&gt;
GroupMask: 573440&lt;br /&gt;
EveryoneMask: 0&lt;br /&gt;
NextOwnerMask: 2147483647&lt;br /&gt;
GroupOwned: False&lt;br /&gt;
AssetID: 21f40a71-38af-22c8-8add-bc5f4d92f566&lt;br /&gt;
Type: 21&lt;br /&gt;
InvType: 20&lt;br /&gt;
Flags: 4096&lt;br /&gt;
SaleType: 1&lt;br /&gt;
SalePrice: 0&lt;br /&gt;
Name: New Gesture&lt;br /&gt;
Description: 2008-08-29 14:57:38 gesture&lt;br /&gt;
CreationDate: 1220047563&lt;br /&gt;
CRC: 3610002614&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Messages]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=EstablishAgentCommunication&amp;diff=175573</id>
		<title>EstablishAgentCommunication</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=EstablishAgentCommunication&amp;diff=175573"/>
		<updated>2008-12-15T07:28:03Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;llsd&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;key&amp;amp;gt;events&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;array&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;body&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;SimulatorInfo&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;array&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;Handle&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;binary encoding=&amp;amp;quot;base64&amp;amp;quot;&amp;amp;gt;AAOnAAADjwA=&amp;amp;lt;/binary&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;IP&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;binary encoding=&amp;amp;quot;base64&amp;amp;quot;&amp;amp;gt;2FIQKg==&amp;amp;lt;/binary&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;Port&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;integer&amp;amp;gt;13005&amp;amp;lt;/integer&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;/array&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;message&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;string&amp;amp;gt;EnableSimulator&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;body&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;SimulatorInfo&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;array&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;Handle&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;binary encoding=&amp;amp;quot;base64&amp;amp;quot;&amp;amp;gt;AAOnAAADjwA=&amp;amp;lt;/binary&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;IP&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;binary encoding=&amp;amp;quot;base64&amp;amp;quot;&amp;amp;gt;2FIQKg==&amp;amp;lt;/binary&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;Port&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;integer&amp;amp;gt;13005&amp;amp;lt;/integer&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;/array&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;message&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;string&amp;amp;gt;EnableSimulator&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;body&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;agent-id&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;uuid&amp;amp;gt;2f498785-fc10-4ec9-939b-99fa44971b25&amp;amp;lt;/uuid&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;seed-capability&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;string&amp;amp;gt;https://sim2037.agni.lindenlab.com:12043/cap/92794ea0-e3b5-4e5c-a033-9f7e39a9bc90&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;sim-ip-and-port&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;string&amp;amp;gt;216.82.16.42:13005&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;message&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;string&amp;amp;gt;EstablishAgentCommunication&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/array&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;key&amp;amp;gt;id&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;integer&amp;amp;gt;2&amp;amp;lt;/integer&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/llsd&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=EstablishAgentCommunication&amp;diff=164443</id>
		<title>EstablishAgentCommunication</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=EstablishAgentCommunication&amp;diff=164443"/>
		<updated>2008-12-04T18:51:05Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: New page: &amp;lt;pre&amp;gt; &amp;amp;lt;llsd&amp;amp;gt;   &amp;amp;lt;map&amp;amp;gt;     &amp;amp;lt;key&amp;amp;gt;events&amp;amp;lt;/key&amp;amp;gt;     &amp;amp;lt;array&amp;amp;gt;       &amp;amp;lt;map&amp;amp;gt;         &amp;amp;lt;key&amp;amp;gt;body&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;map&amp;amp;gt;           &amp;amp;lt;key&amp;amp;gt;SimulatorInfo&amp;amp;lt...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;amp;lt;llsd&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;key&amp;amp;gt;events&amp;amp;lt;/key&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;array&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;body&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;SimulatorInfo&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;array&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;Handle&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;binary encoding=&amp;amp;quot;base64&amp;amp;quot;&amp;amp;gt;AAOnAAADjwA=&amp;amp;lt;/binary&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;IP&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;binary encoding=&amp;amp;quot;base64&amp;amp;quot;&amp;amp;gt;2FIQKg==&amp;amp;lt;/binary&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;Port&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;integer&amp;amp;gt;13005&amp;amp;lt;/integer&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;/array&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;message&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;string&amp;amp;gt;EnableSimulator&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;body&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;SimulatorInfo&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;array&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;Handle&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;binary encoding=&amp;amp;quot;base64&amp;amp;quot;&amp;amp;gt;AAOnAAADjwA=&amp;amp;lt;/binary&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;IP&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;binary encoding=&amp;amp;quot;base64&amp;amp;quot;&amp;amp;gt;2FIQKg==&amp;amp;lt;/binary&amp;amp;gt;&lt;br /&gt;
              &amp;amp;lt;key&amp;amp;gt;Port&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;integer&amp;amp;gt;13005&amp;amp;lt;/integer&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;/array&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;message&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;string&amp;amp;gt;EnableSimulator&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;body&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;map&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;agent-id&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;uuid&amp;amp;gt;2f498785-fc10-4ec9-939b-99fa44971b25&amp;amp;lt;/uuid&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;seed-capability&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;string&amp;amp;gt;https://sim2037.agni.lindenlab.com:12043/cap/92794ea0-e3b5-4e5c-a033-9f7e39a9bc90&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
          &amp;amp;lt;key&amp;amp;gt;sim-ip-and-port&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;string&amp;amp;gt;216.82.16.42:13005&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;key&amp;amp;gt;message&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;string&amp;amp;gt;EstablishAgentCommunication&amp;amp;lt;/string&amp;amp;gt;&lt;br /&gt;
      &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/array&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;key&amp;amp;gt;id&amp;amp;lt;/key&amp;amp;gt; &amp;amp;lt;integer&amp;amp;gt;2&amp;amp;lt;/integer&amp;amp;gt;&lt;br /&gt;
  &amp;amp;lt;/map&amp;amp;gt;&lt;br /&gt;
&amp;amp;lt;/llsd&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Notecards&amp;diff=163353</id>
		<title>Notecards</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Notecards&amp;diff=163353"/>
		<updated>2008-12-03T20:35:17Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Help |Glossary=*}}An [[inventory]] item containing text and/or embedded textures, snapshots, objects, or other notecards. Items embedded in notecards must have copy/modify/transfer permissions.&lt;br /&gt;
&lt;br /&gt;
The file format for a simple notecard (no embedded inventory items) looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Linden text version 1&lt;br /&gt;
{&lt;br /&gt;
LLEmbeddedItems version 1&lt;br /&gt;
{&lt;br /&gt;
count 0&lt;br /&gt;
}&lt;br /&gt;
Text length 21&lt;br /&gt;
Editing this notecard}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Video Tutorial/Notecard attachments]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=TransferRequest&amp;diff=129982</id>
		<title>TransferRequest</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=TransferRequest&amp;diff=129982"/>
		<updated>2008-11-04T22:42:26Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
==Message Layout==&lt;br /&gt;
&amp;lt;pre width=80&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	TransferRequest Low NotTrusted Zerocoded&lt;br /&gt;
	{&lt;br /&gt;
		TransferInfo		Single&lt;br /&gt;
		{	TransferID		LLUUID	}&lt;br /&gt;
		{	ChannelType		S32	}&lt;br /&gt;
		{	SourceType		S32	}&lt;br /&gt;
		{	Priority		F32	}&lt;br /&gt;
		{	Params			Variable	2	}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Usage and Notes==&lt;br /&gt;
This message is only used by the [[Transfer Manager]] system.&lt;br /&gt;
&lt;br /&gt;
TransferID is a client-generated random LLUUID.&lt;br /&gt;
&lt;br /&gt;
Source Types:&lt;br /&gt;
&lt;br /&gt;
:LLTST_UNKNOWN = 0&lt;br /&gt;
:LLTST_FILE = 1&lt;br /&gt;
:LLTST_ASSET = 2&lt;br /&gt;
:LLTST_SIM_INV_ITEM = 3&lt;br /&gt;
:LLTST_SIM_ESTATE = 4&lt;br /&gt;
:LLTST_NUM_TYPES = 5&lt;br /&gt;
&lt;br /&gt;
Channel Types:&lt;br /&gt;
&lt;br /&gt;
:LLTCT_UNKNOWN = 0&lt;br /&gt;
:LLTCT_MISC = 1&lt;br /&gt;
:LLTCT_ASSET = 2&lt;br /&gt;
:LLTCT_NUM_TYPES = 3&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
20 byte field. The first 16 bytes are the ASSET_KEY (AssetID), and the last four bytes are the ASSET_TYPE.&lt;br /&gt;
&lt;br /&gt;
[[Category:Messages]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:OGP_LLSD&amp;diff=93996</id>
		<title>Talk:OGP LLSD</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:OGP_LLSD&amp;diff=93996"/>
		<updated>2008-10-01T00:53:30Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: New page: Please add an unsigned 32-bit integer type to LLSD. LLSD XML human readability is shot when it comes to uints, and a lot of time is spent doing the Base64 encoding/decoding. See [http://ji...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please add an unsigned 32-bit integer type to LLSD. LLSD XML human readability is shot when it comes to uints, and a lot of time is spent doing the Base64 encoding/decoding. See [http://jira.secondlife.com/browse/MU-18 MU-18]. --[[User:Eddy Stryker|Eddy Stryker]] 17:53, 30 September 2008 (PDT)&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Open_Grid_Public_Beta/Map_Locations&amp;diff=81510</id>
		<title>Open Grid Public Beta/Map Locations</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Open_Grid_Public_Beta/Map_Locations&amp;diff=81510"/>
		<updated>2008-07-30T17:10:18Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenSim regions cannot be placed directly adjacent to existing regions on aditi or vaak.&lt;br /&gt;
&lt;br /&gt;
:[[User:Zha_Ewry|Zha Ewry]]: &amp;quot;Setup as a very basic stand alone opensim. set the default location and the location of your region to be the same value, and run only one region on the server. (ie. in OpenSim.ini, make sure you set default_loc_x and default_loc_y, and make them match the ones in the default.xml in the Regions subdirectory of you r bin directory in your install. Make sure your X and Ys are multiples of 256.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Non-Linden Lab OpenSims should use default_loc_x and default_loc_y values greater than 4096.&lt;br /&gt;
&lt;br /&gt;
Claim Map Locations Below&lt;br /&gt;
&lt;br /&gt;
==[[User:Whump_Linden | Whump Linden ]]==&lt;br /&gt;
&lt;br /&gt;
* 2048/2048&lt;br /&gt;
* 2304/2560&lt;br /&gt;
&lt;br /&gt;
==[[User:BlueWall Slade | Bluewall Slade]]==&lt;br /&gt;
*6400/6400&lt;br /&gt;
&lt;br /&gt;
==[[User:Matias Carter | Matias Carter]]==&lt;br /&gt;
&lt;br /&gt;
* 7168/7168&lt;br /&gt;
&lt;br /&gt;
==[[User:Xugu Madison | Xugu Madison]]==&lt;br /&gt;
&lt;br /&gt;
* 8192/8192&lt;br /&gt;
&lt;br /&gt;
==[[User:Eddy Stryker | Eddy Stryker]]==&lt;br /&gt;
&lt;br /&gt;
* 5888/5888&lt;br /&gt;
&lt;br /&gt;
[[Category:Open_Grid_Public_Beta]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Open_Grid_Public_Beta/Map_Locations&amp;diff=81509</id>
		<title>Open Grid Public Beta/Map Locations</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Open_Grid_Public_Beta/Map_Locations&amp;diff=81509"/>
		<updated>2008-07-30T17:06:57Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenSim regions cannot be placed directly adjacent to existing regions on aditi or vaak.&lt;br /&gt;
&lt;br /&gt;
:[[User:Zha_Ewry|Zha Ewry]]: &amp;quot;Setup as a very basic stand alone opensim. set the default location and the location of your region to be the same value, and run only one region on the server. (ie. in OpenSim.ini, make sure you set default_loc_x and default_loc_y, and make them match the ones in the default.xml in the Regions subdirectory of you r bin directory in your install. Make sure your X and Ys are multiples of 256.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Non-Linden Lab OpenSims should use default_loc_x and default_loc_y values greater than 4096.&lt;br /&gt;
&lt;br /&gt;
Claim Map Locations Below&lt;br /&gt;
&lt;br /&gt;
==[[User:Whump_Linden | Whump Linden ]]==&lt;br /&gt;
&lt;br /&gt;
* 2048/2048&lt;br /&gt;
* 2304/2560&lt;br /&gt;
&lt;br /&gt;
==[[User:BlueWall Slade | Bluewall Slade]]==&lt;br /&gt;
*6400/6400&lt;br /&gt;
&lt;br /&gt;
==[[User:Matias Carter | Matias Carter]]==&lt;br /&gt;
&lt;br /&gt;
* 7168/7168&lt;br /&gt;
&lt;br /&gt;
==[[User:Xugu Madison | Xugu Madison]]==&lt;br /&gt;
&lt;br /&gt;
* 8192/8192&lt;br /&gt;
&lt;br /&gt;
==[[User:Eddy Stryker | Eddy Stryker]]==&lt;br /&gt;
&lt;br /&gt;
* 2600/2600&lt;br /&gt;
&lt;br /&gt;
[[Category:Open_Grid_Public_Beta]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=AssetUploadRequest&amp;diff=80000</id>
		<title>AssetUploadRequest</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=AssetUploadRequest&amp;diff=80000"/>
		<updated>2008-07-22T18:58:16Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
==Message Layout==&lt;br /&gt;
&amp;lt;pre width=80&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	AssetUploadRequest Low NotTrusted Unencoded&lt;br /&gt;
	{&lt;br /&gt;
		AssetBlock		Single&lt;br /&gt;
		{	TransactionID LLUUID	}&lt;br /&gt;
		{	Type		S8	}&lt;br /&gt;
		{	Tempfile	BOOL	}&lt;br /&gt;
		{	StoreLocal	BOOL	}&lt;br /&gt;
		{	AssetData	Variable	2	}  &lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Usage and Notes==&lt;br /&gt;
Used for [[Xfer Manager]] transfers&lt;br /&gt;
*ID - Randomly generated LLUUID. The AssetID of the upload is computed by taking the MD5 hash of this ID and the SecureSessionID, so both the client and the server know what the uploaded asset&#039;s AssetID will be before the transfer finishes&lt;br /&gt;
*Type - [[AssetType]] of the asset being uploaded&lt;br /&gt;
*Tempfile - Deprecated&lt;br /&gt;
*StoreLocal - Used for temporary files like baked textures. These files are stored on the simulator&#039;s local file system rather than the asset server cluster. On the server side, this asset is referenced by simhost:port/asset/texture.id and fetched through HTTP before being served to the client&lt;br /&gt;
*AssetData - If the entire asset can fit in this packet (without going over the maximum packet size, MTUBYTES is currently defined as 1200 bytes) this is the raw asset data. If multiple packets need to be sent to upload this asset, AssetData is empty&lt;br /&gt;
&lt;br /&gt;
[[Category:Messages]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=AssetUploadRequest&amp;diff=79999</id>
		<title>AssetUploadRequest</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=AssetUploadRequest&amp;diff=79999"/>
		<updated>2008-07-22T18:47:59Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
==Message Layout==&lt;br /&gt;
&amp;lt;pre width=80&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	AssetUploadRequest Low NotTrusted Unencoded&lt;br /&gt;
	{&lt;br /&gt;
		AssetBlock		Single&lt;br /&gt;
		{	TransactionID LLUUID	}&lt;br /&gt;
		{	Type		S8	}&lt;br /&gt;
		{	Tempfile	BOOL	}&lt;br /&gt;
		{	StoreLocal	BOOL	}&lt;br /&gt;
		{	AssetData	Variable	2	}  &lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Usage and Notes==&lt;br /&gt;
Used for [[Xfer Manager]] transfers&lt;br /&gt;
*ID - Randomly generated LLUUID. The AssetID of the upload is computed by taking the MD5 hash of this ID and the SecureSessionID, so both the client and the server know what the uploaded asset&#039;s AssetID will be before the transfer finishes&lt;br /&gt;
*Type - [[AssetType]] of the asset being uploaded&lt;br /&gt;
*Tempfile - Deprecated&lt;br /&gt;
*StoreLocal - Used for temporary files like baked textures. These files are stored on the simulator&#039;s local file system rather than the asset server cluster. On the server side, this asset is referenced by simhost:port/asset/texture.id and fetched through HTTP before being served to the client&lt;br /&gt;
*AssetData - If the entire asset can fit in this packet (without going over the maximum packet size, defined as 1536 bytes) this is the raw asset data. If multiple packets need to be sent to upload this asset, AssetData is empty&lt;br /&gt;
&lt;br /&gt;
[[Category:Messages]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=AssetUploadRequest&amp;diff=79998</id>
		<title>AssetUploadRequest</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=AssetUploadRequest&amp;diff=79998"/>
		<updated>2008-07-22T18:42:18Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
==Message Layout==&lt;br /&gt;
&amp;lt;pre width=80&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	AssetUploadRequest Low NotTrusted Unencoded&lt;br /&gt;
	{&lt;br /&gt;
		AssetBlock		Single&lt;br /&gt;
		{	TransactionID LLUUID	}&lt;br /&gt;
		{	Type		S8	}&lt;br /&gt;
		{	Tempfile	BOOL	}&lt;br /&gt;
		{	StoreLocal	BOOL	}&lt;br /&gt;
		{	AssetData	Variable	2	}  &lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Usage and Notes==&lt;br /&gt;
Used for [[Xfer Manager]] transfers&lt;br /&gt;
*ID - Randomly generated LLUUID. The AssetID of the upload is computed by taking the MD5 hash of this ID and the SecureSessionID, so both the client and the server know what the uploaded asset&#039;s AssetID will be before the transfer finishes&lt;br /&gt;
*Type - [[AssetType]] of the asset being uploaded&lt;br /&gt;
*Tempfile - Unknown&lt;br /&gt;
*StoreLocal - Used for temporary files like baked textures. These files are stored on the simulator&#039;s local file system rather than the asset server cluster. On the server side, this asset is referenced by simhost:port/asset/texture.id and fetched through HTTP before being served to the client&lt;br /&gt;
*AssetData - If the entire asset can fit in this packet (without going over the maximum packet size, defined as 1536 bytes) this is the raw asset data. If multiple packets need to be sent to upload this asset, AssetData is empty&lt;br /&gt;
&lt;br /&gt;
[[Category:Messages]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=AssetType&amp;diff=79992</id>
		<title>AssetType</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=AssetType&amp;diff=79992"/>
		<updated>2008-07-22T18:16:00Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: New page: &amp;lt;pre&amp;gt;     /// &amp;lt;summary&amp;gt;     /// The different types of grid assets     /// &amp;lt;/summary&amp;gt;     public enum AssetType : sbyte     {         /// &amp;lt;summary&amp;gt;Unknown asset type&amp;lt;/summary&amp;gt;         Unkn...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
    /// &amp;lt;summary&amp;gt;&lt;br /&gt;
    /// The different types of grid assets&lt;br /&gt;
    /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
    public enum AssetType : sbyte&lt;br /&gt;
    {&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Unknown asset type&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Unknown = -1,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Texture asset, stores in JPEG2000 J2C stream format&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Texture = 0,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Sound asset&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Sound = 1,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Calling card for another avatar&amp;lt;/summary&amp;gt;&lt;br /&gt;
        CallingCard = 2,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Link to a location in world&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Landmark = 3,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Legacy script asset, you should never see one of these&amp;lt;/summary&amp;gt;&lt;br /&gt;
        //[Obsolete]&lt;br /&gt;
        //Script = 4,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Collection of textures and parameters that can be &lt;br /&gt;
        /// worn by an avatar&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Clothing = 5,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Primitive that can contain textures, sounds, &lt;br /&gt;
        /// scripts and more&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Object = 6,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Notecard asset&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Notecard = 7,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Holds a collection of inventory items&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Folder = 8,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Root inventory folder&amp;lt;/summary&amp;gt;&lt;br /&gt;
        RootFolder = 9,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Linden scripting language script&amp;lt;/summary&amp;gt;&lt;br /&gt;
        LSLText = 10,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;LSO bytecode for a script&amp;lt;/summary&amp;gt;&lt;br /&gt;
        LSLBytecode = 11,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Uncompressed TGA texture&amp;lt;/summary&amp;gt;&lt;br /&gt;
        TextureTGA = 12,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Collection of textures and shape parameters that can&lt;br /&gt;
        /// be worn&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Bodypart = 13,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Trash folder&amp;lt;/summary&amp;gt;&lt;br /&gt;
        TrashFolder = 14,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Snapshot folder&amp;lt;/summary&amp;gt;&lt;br /&gt;
        SnapshotFolder = 15,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Lost and found folder&amp;lt;/summary&amp;gt;&lt;br /&gt;
        LostAndFoundFolder = 16,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Uncompressed sound&amp;lt;/summary&amp;gt;&lt;br /&gt;
        SoundWAV = 17,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Uncompressed TGA non-square image, not to be used as a&lt;br /&gt;
        /// texture&amp;lt;/summary&amp;gt;&lt;br /&gt;
        ImageTGA = 18,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Compressed JPEG non-square image, not to be used as a&lt;br /&gt;
        /// texture&amp;lt;/summary&amp;gt;&lt;br /&gt;
        ImageJPEG = 19,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Animation&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Animation = 20,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Sequence of animations, sounds, chat, and pauses&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Gesture = 21,&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;Simstate file&amp;lt;/summary&amp;gt;&lt;br /&gt;
        Simstate = 22,&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=AssetUploadRequest&amp;diff=79991</id>
		<title>AssetUploadRequest</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=AssetUploadRequest&amp;diff=79991"/>
		<updated>2008-07-22T18:15:03Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
==Message Layout==&lt;br /&gt;
&amp;lt;pre width=80&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	AssetUploadRequest Low NotTrusted Unencoded&lt;br /&gt;
	{&lt;br /&gt;
		AssetBlock		Single&lt;br /&gt;
		{	TransactionID LLUUID	}&lt;br /&gt;
		{	Type		S8	}&lt;br /&gt;
		{	Tempfile	BOOL	}&lt;br /&gt;
		{	StoreLocal	BOOL	}&lt;br /&gt;
		{	AssetData	Variable	2	}  &lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Usage and Notes==&lt;br /&gt;
Used for [[Xfer Manager]] transfers&lt;br /&gt;
*ID - Randomly generated LLUUID. The AssetID of the upload is computed by taking the MD5 hash of this ID and the SecureSessionID, so both the client and the server know what the uploaded asset&#039;s AssetID will be before the transfer finishes&lt;br /&gt;
*Type - [[AssetType]] of the asset being uploaded&lt;br /&gt;
*Tempfile - Unknown&lt;br /&gt;
*StoreLocal - Unknown&lt;br /&gt;
*AssetData - If the entire asset can fit in this packet (without going over the maximum packet size, defined as 1536 bytes) this is the raw asset data. If multiple packets need to be sent to upload this asset, AssetData is empty&lt;br /&gt;
&lt;br /&gt;
[[Category:Messages]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Xfer_Manager&amp;diff=79986</id>
		<title>Xfer Manager</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Xfer_Manager&amp;diff=79986"/>
		<updated>2008-07-22T18:08:30Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [[Xfer Manager]] is the legacy file transfer system. It has been replaced in most cases by the [[Transfer Manager]], but still exists in some places.&lt;br /&gt;
&lt;br /&gt;
The [[Xfer Manager]] handles the transfer of&lt;br /&gt;
*Gestures&lt;br /&gt;
*Raw terrain data for simulator terraforming&lt;br /&gt;
*Mute lists&lt;br /&gt;
*Object inventory lists&lt;br /&gt;
*Some scripted attachments&lt;br /&gt;
*Assets (sounds, textures, etc...) from the viewer to the simulator&lt;br /&gt;
&lt;br /&gt;
The [[Xfer Manager]] keep a list of all transfers currently happening. As new transfers are requested with [[AssetUploadRequest]], it generates an ID for them and adds them to the list, and starts downloads by sending a [[RequestXfer]] message with data about the file it is expecting and parameters for the transfer. The remote host parses the message, and either starts the transfer by returning [[SendXferPacket]] messages with the corresponding transfer id, or  returns an [[AbortXfer]] packet if the request data is invalid. For each [[SendXferPacket]] received, a [[ConfirmXferPacket]] message is sent as an acknowledgement of the packet being received. This also triggers the next [[SendXferPacket]] to be sent. If the packet is the last one of the transfer, the transfer packet number is OR&#039;d with 0x80000000 in order to signify the end of the transfer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[AssetUploadRequest]]&lt;br /&gt;
[[ConfirmXferPacket]]&lt;br /&gt;
[[RequestXfer]]&lt;br /&gt;
[[SendXferPacket]]&lt;br /&gt;
[[AbortXfer]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=GridImageUpload&amp;diff=66481</id>
		<title>GridImageUpload</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=GridImageUpload&amp;diff=66481"/>
		<updated>2008-05-07T19:51:22Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: New SLImageUpload released - 1.0.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Slimageupload-03.png]]&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
Windows: [http://www.jhurliman.org/download/SLImageUpload-1.0.3.zip 1.0.3]&lt;br /&gt;
OSX: [http://www.jhurliman.org/download/SLImageUpload-1.0.3.dmg 1.0.3]&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
On Windows you will need the .NET 2.0 framework installed. On OSX you will need a recent copy of [http://www.mono-project.com/ Mono] and X11 installed (instructions for installing X11 on Tiger [http://overstimulate.com/articles/installing-x11-on-os-x-10-4-tiger here]). On Windows, unzip the file and double-click on SLImageUpload.exe to run the application directly. On OSX, open the DMG and drag SLImageUpload to Applications (or anywhere you wish to install it) and double-click the SLImageUpload application. It will only run if X11 and Mono (preferably Mono-1.9.1 or newer, but older versions should work) have been installed.&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
Load an image to see what the final (JPEG2000 compressed) file size will be before uploading. You can experiment by checking and unchecking lossless encoding. Often times small images will compress to a smaller size with lossless encoding as it only uses a single quality level instead of the multiple quality levels created with lossy encoding. Once the image is uploaded you have three ways of retrieving it: using the resulting texture UUID in a script, logging in to SL with the same account you uploaded with and finding the filename of the uploaded image in your inventory, or using the send copy to avatar function to send a copy of the image to another account.&lt;br /&gt;
&lt;br /&gt;
===LSL Instructions===&lt;br /&gt;
&lt;br /&gt;
For a regular texture:&lt;br /&gt;
llSetTexture( &amp;quot;UUID_KEY_GOES_HERE&amp;quot;, ALL_SIDES );&lt;br /&gt;
&lt;br /&gt;
For a sculpt map texture:&lt;br /&gt;
llSetPrimitiveParams( [ PRIM_TYPE, PRIM_TYPE_SCULPT, &amp;quot;UUID_KEY_GOES_HERE&amp;quot;, PRIM_SCULPT_TYPE_SPHERE ] ); &lt;br /&gt;
&lt;br /&gt;
==Release Notes==&lt;br /&gt;
&lt;br /&gt;
1.0.3:&lt;br /&gt;
&lt;br /&gt;
* Uploads are working yet again. Switched from WebClient class to a homebrewed version that is working on Mono and .NET alike&lt;br /&gt;
* Progress bar should be working in this release&lt;br /&gt;
* First release of the OSX version&lt;br /&gt;
* New OpenJPEG release with speed and image quality improvements&lt;br /&gt;
&lt;br /&gt;
1.0.2:&lt;br /&gt;
&lt;br /&gt;
* Uploads are working again. Using the new CAPS system which should (and seems to) give faster, more reliable uploads&lt;br /&gt;
* Progress bar is broken in this release&lt;br /&gt;
* Uploaded images are added to inventory, permissions are set to full&lt;br /&gt;
* A copy is sent to another avatar if requested&lt;br /&gt;
* Fixed bug with lossless not being turned on or off when the checkbox was clicked sometimes&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=File:Slimageupload-03.png&amp;diff=66466</id>
		<title>File:Slimageupload-03.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=File:Slimageupload-03.png&amp;diff=66466"/>
		<updated>2008-05-07T18:52:23Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Package_Format&amp;diff=65965</id>
		<title>Prim Package Format</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Package_Format&amp;diff=65965"/>
		<updated>2008-05-04T06:10:22Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the PrimPackage format of serialized object data (prim shapes and textures) from Secondlife.&lt;br /&gt;
&lt;br /&gt;
= PrimPackage =&lt;br /&gt;
&lt;br /&gt;
A PrimPackage is a zip file containing a single XML file and zero or more texture files. The XML files contains a Linden Lab Structured Data ([[LLSD]]) structure serialized with the LLSD XML serializer, and the textures are Targa or JPEG2000 format.&lt;br /&gt;
&lt;br /&gt;
== Zip File ==&lt;br /&gt;
&lt;br /&gt;
Any level of compression may be used, but the file may not have a password or any extended zip features. The file extension must be either .zip or .primpackage. The zip file must contain a file called &#039;&#039;&#039;prims.xml&#039;&#039;&#039; and may contain texture files in either Targa or JPEG2000 format, or a mix of the two. No sub-folders are allowed inside the zip file.&lt;br /&gt;
&lt;br /&gt;
== XML File ==&lt;br /&gt;
&lt;br /&gt;
The prims.xml file must contain one or more prim definitions in a particularly [FINISHME]&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
(XML Data)&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
&lt;br /&gt;
Textures are in either Targa or JPEG2000 format. Targa files can have one (grayscale), three (red/green/blue), or four (red/green/blue/alpha) layers. JPEG2000 files can have either one (grayscale), two (grayscale/alpha), three (red/green/blue), or four (red/green/blue/alpha) layers but must also be compatible with the official Second Life grid and viewer. In other words, you must be able to upload the exact binary data contained in each JPEG2000 file to the official Second Life grid run by Linden Lab and have that texture show up in-world using the official Linden Lab Second Life viewer. Any size, compression, etc. settings are allowed as long as this requirement is met.&lt;br /&gt;
&lt;br /&gt;
=== Texture Naming ===&lt;br /&gt;
&lt;br /&gt;
Texture files must have a UUID for the file name. Random UUIDs should be generated for assets created outside of Second Life, and the asset IDs of textures exported from the Second Life grid should be preserved. The file extension must be either .tga for Targa files or .jp2 for JPEG2000 files. For example, a texture with the UUID a822ff2b-ff02-461d-b45d-dcd10a2de0c2 exported from the grid as a raw JPEG2000 file should be named &#039;&#039;a822ff2b-ff02-461d-b45d-dcd10a2de0c2.jp2&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Texture Loading ===&lt;br /&gt;
&lt;br /&gt;
The LLSD structure only contains a UUID for textures, not a full file name. Applications must look for both .tga and .jp2 versions of the texture file, but may prefer to load one over the other. For example an editing application might choose to load Targa files over JPEG2000, but an importing application might prefer the raw JPEG2000 data that can be uploaded directly to a grid.&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Package_Format&amp;diff=65964</id>
		<title>Prim Package Format</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Package_Format&amp;diff=65964"/>
		<updated>2008-05-04T05:53:03Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the PrimPackage format of serialized object data (prim shapes and textures) from Secondlife.&lt;br /&gt;
&lt;br /&gt;
= PrimPackage =&lt;br /&gt;
&lt;br /&gt;
A PrimPackage is a zip file containing a single XML file and zero or more texture files. The XML files contains an [[LLSD]] structure serialized with the LLSD XML serializer, and the textures are Targa or JPEG2000 format.&lt;br /&gt;
&lt;br /&gt;
== Zip File ==&lt;br /&gt;
&lt;br /&gt;
Any level of compression may be used, but the file may not have a password or any extended zip features. The file extension must be either .zip or .primpackage. The zip file must contain a file called &#039;&#039;&#039;prims.xml&#039;&#039;&#039; and may contain texture files in either Targa or JPEG2000 format, or a mix of the two. No sub-folders are allowed inside the zip file.&lt;br /&gt;
&lt;br /&gt;
== XML File ==&lt;br /&gt;
&lt;br /&gt;
(Overview)&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
(XML Data)&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
&lt;br /&gt;
Textures are in either Targa or JPEG2000 format. Targa files can have one (grayscale), three (red/green/blue), or four (red/green/blue/alpha) layers. JPEG2000 files can have either one (grayscale), two (grayscale/alpha), three (red/green/blue), or four (red/green/blue/alpha) layers but must also be compatible with the official Second Life grid and viewer. In other words, you must be able to upload the exact binary data contained in each JPEG2000 file to the official Second Life grid run by Linden Lab and have that texture show up in-world using the official Linden Lab Second Life viewer. Any size, compression, etc. settings are allowed as long as this requirement is met.&lt;br /&gt;
&lt;br /&gt;
=== Texture Naming ===&lt;br /&gt;
&lt;br /&gt;
Texture files must have a UUID for the file name. Random UUIDs should be generated for assets created outside of Second Life, and the asset IDs of textures exported from the Second Life grid should be preserved. The file extension must be either .tga for Targa files or .jp2 for JPEG2000 files. For example, a texture with the UUID a822ff2b-ff02-461d-b45d-dcd10a2de0c2 exported from the grid as a raw JPEG2000 file should be named &#039;&#039;a822ff2b-ff02-461d-b45d-dcd10a2de0c2.jp2&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Texture Loading ===&lt;br /&gt;
&lt;br /&gt;
The LLSD structure only contains a UUID for textures, not a full file name. Applications must look for both .tga and .jp2 versions of the texture file, but may prefer to load one over the other. For example an editing application might choose to load Targa files over JPEG2000, but an importing application might prefer the raw JPEG2000 data that can be uploaded directly to a grid.&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Package_Format&amp;diff=65963</id>
		<title>Prim Package Format</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Package_Format&amp;diff=65963"/>
		<updated>2008-05-04T05:48:04Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: New page: This document describes the PrimPackage format of serialized object data (prim shapes and textures) from Secondlife.  = PrimPackage =  A PrimPackage is a zip file containing a single XML f...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This document describes the PrimPackage format of serialized object data (prim shapes and textures) from Secondlife.&lt;br /&gt;
&lt;br /&gt;
= PrimPackage =&lt;br /&gt;
&lt;br /&gt;
A PrimPackage is a zip file containing a single XML file and zero or more texture files. The XML files contains an [[LLSD]] structure serialized with the LLSD XML serializer, and the textures are Targa or JPEG2000 format.&lt;br /&gt;
&lt;br /&gt;
== Zip File ==&lt;br /&gt;
&lt;br /&gt;
Any level of compression may be used, but the file may not have a password or any extended zip features. The file extension must be either .zip or .primpackage. The zip file must contain a file called &#039;&#039;&#039;prims.xml&#039;&#039;&#039; and may contain texture files in either Targa or JPEG2000 format, or a mix of the two. No sub-folders are allowed inside the zip file.&lt;br /&gt;
&lt;br /&gt;
== XML File ==&lt;br /&gt;
&lt;br /&gt;
(Overview)&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
(XML Data)&lt;br /&gt;
&lt;br /&gt;
== Textures ==&lt;br /&gt;
&lt;br /&gt;
Textures are in either Targa or JPEG2000 format. Targa files can have one (grayscale), three (red/green/blue), or four (red/green/blue/alpha) layers. JPEG2000 files can have either one (grayscale), two (grayscale/alpha), three (red/green/blue), or four (red/green/blue/alpha) layers but must also be compatible with the official Second Life grid and viewer. In other words, you must be able to upload the exact binary data contained in each JPEG2000 file to the official Second Life grid run by Linden Lab and have that texture show up in-world using the official Linden Lab Second Life viewer. Any size, compression, etc. settings are allowed as long as this requirement is met.&lt;br /&gt;
&lt;br /&gt;
=== Texture Naming ===&lt;br /&gt;
&lt;br /&gt;
Texture files may have any file name that is allowed in a zip file, but it is recommended that exported textures use the UUID of the exported texture as the file name. The file extension must be either .tga for Targa files or .jp2 for JPEG2000 files. For example, a texture with the UUID a822ff2b-ff02-461d-b45d-dcd10a2de0c2 exported from the grid as a raw JPEG2000 file should be named &#039;&#039;a822ff2b-ff02-461d-b45d-dcd10a2de0c2.jp2&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Open_Source_Meeting/Agenda&amp;diff=54939</id>
		<title>Open Source Meeting/Agenda</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Open_Source_Meeting/Agenda&amp;diff=54939"/>
		<updated>2008-02-20T20:01:19Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt; [[Open Source Meeting]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open source meeting - Thursday, 2pm PT.&lt;br /&gt;
&lt;br /&gt;
[http://slurl.com/secondlife/Hippotropolis/248/15/25/ Teleport] to the Linden Open Source Project headquarters.&lt;br /&gt;
&lt;br /&gt;
Please try to add your items as early as possible in the week to give Rob a chance to round up any Lindens that may be appropriate to the discussion.&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
* [http://jira.secondlife.com/browse/MISC-881 http://jira.secondlife.com/browse/MISC-881]&lt;br /&gt;
&lt;br /&gt;
Default agenda is issue triage of issues listed here: http://jira.secondlife.com/secure/IssueNavigator.jspa?mode=hide&amp;amp;requestId=11240&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=49816</id>
		<title>Prim Mapper</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=49816"/>
		<updated>2008-01-18T19:00:45Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Updating image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
Prim Mapper is a UV mapping program for Second Life primitives, designed to sit somewhere in the middle of a workflow between Second Life and professional texturing or modeling applications.&lt;br /&gt;
&lt;br /&gt;
[[Image:Primpreview-04.png]]&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
A proof of concept has been developed far enough to lay out the roadmap, but a lot of development is still ahead. The code can be found in the libprimrender module of libsecondlife SVN if you want to preview or help with development. Once some of the major features are working binaries will be released for different platforms.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;[libprimrender] Per face rendering&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Add*() functions and using them&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Better PrimMesh class/struct that stores everything&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;CreateVolumeFaces()&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Option parameters to GenerateMesh() for generating faces and normals&amp;lt;/strike&amp;gt;&lt;br /&gt;
*** &amp;lt;strike&amp;gt;Setting faces to false could instead generate a single &amp;quot;face&amp;quot; that is the entire prim vertex and index lists&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Show each of the prims loaded and each of their faces in the GUI dropdowns&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Color the currently selected face differently&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Simple (non-material) OBJ export&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Export actual textures with ExportCommand&amp;lt;/strike&amp;gt;&lt;br /&gt;
** Export objects and textures to a folder&lt;br /&gt;
* Read JPEG2000 images instead of TGA&lt;br /&gt;
* &amp;lt;strike&amp;gt;Texture mapping in OpenGL that matches the SL viewer&amp;lt;/strike&amp;gt;&lt;br /&gt;
** Fix edge case texture mapping bugs&lt;br /&gt;
* Selection rectangles&lt;br /&gt;
** Load selection rectangles from decoded TextureEntry data&lt;br /&gt;
** Modify TextureEntry and texture mapping by modifying the selection rectangles&lt;br /&gt;
* Full OBJ export with mtllib&lt;br /&gt;
* Save selection rectangles to texture&lt;br /&gt;
* Save Prim XML with modified TextureEntry&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=File:Primpreview-04.png&amp;diff=49815</id>
		<title>File:Primpreview-04.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=File:Primpreview-04.png&amp;diff=49815"/>
		<updated>2008-01-18T19:00:16Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=49814</id>
		<title>Prim Mapper</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=49814"/>
		<updated>2008-01-18T18:58:17Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Updating status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
Prim Mapper is a UV mapping program for Second Life primitives, designed to sit somewhere in the middle of a workflow between Second Life and professional texturing or modeling applications.&lt;br /&gt;
&lt;br /&gt;
[[Image:Primpreview-03.png]]&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
A proof of concept has been developed far enough to lay out the roadmap, but a lot of development is still ahead. The code can be found in the libprimrender module of libsecondlife SVN if you want to preview or help with development. Once some of the major features are working binaries will be released for different platforms.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;[libprimrender] Per face rendering&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Add*() functions and using them&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Better PrimMesh class/struct that stores everything&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;CreateVolumeFaces()&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Option parameters to GenerateMesh() for generating faces and normals&amp;lt;/strike&amp;gt;&lt;br /&gt;
*** &amp;lt;strike&amp;gt;Setting faces to false could instead generate a single &amp;quot;face&amp;quot; that is the entire prim vertex and index lists&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Show each of the prims loaded and each of their faces in the GUI dropdowns&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Color the currently selected face differently&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Simple (non-material) OBJ export&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Export actual textures with ExportCommand&amp;lt;/strike&amp;gt;&lt;br /&gt;
** Export objects and textures to a folder&lt;br /&gt;
* Read JPEG2000 images instead of TGA&lt;br /&gt;
* &amp;lt;strike&amp;gt;Texture mapping in OpenGL that matches the SL viewer&amp;lt;/strike&amp;gt;&lt;br /&gt;
** Fix edge case texture mapping bugs&lt;br /&gt;
* Selection rectangles&lt;br /&gt;
** Load selection rectangles from decoded TextureEntry data&lt;br /&gt;
** Modify TextureEntry and texture mapping by modifying the selection rectangles&lt;br /&gt;
* Full OBJ export with mtllib&lt;br /&gt;
* Save selection rectangles to texture&lt;br /&gt;
* Save Prim XML with modified TextureEntry&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=46770</id>
		<title>Prim Mapper</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=46770"/>
		<updated>2007-12-31T23:09:47Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Adding more progress steps&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
Prim Mapper is a UV mapping program for Second Life primitives, designed to sit somewhere in the middle of a workflow between Second Life and professional texturing or modeling applications.&lt;br /&gt;
&lt;br /&gt;
[[Image:Primpreview-03.png]]&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
A proof of concept has been developed far enough to lay out the roadmap, but a lot of development is still ahead. The code can be found in the libprimrender module of libsecondlife SVN if you want to preview or help with development. Once some of the major features are working binaries will be released for different platforms.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;[libprimrender] Per face rendering&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Add*() functions and using them&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Better PrimMesh class/struct that stores everything&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;CreateVolumeFaces()&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Option parameters to GenerateMesh() for generating faces and normals&amp;lt;/strike&amp;gt;&lt;br /&gt;
*** &amp;lt;strike&amp;gt;Setting faces to false could instead generate a single &amp;quot;face&amp;quot; that is the entire prim vertex and index lists&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Show each of the prims loaded and each of their faces in the GUI dropdowns&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Color the currently selected face differently&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Simple (non-material) OBJ export&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Export actual textures with ExportCommand&lt;br /&gt;
* Texture mapping in OpenGL that matches the SL viewer&lt;br /&gt;
* Selection rectangles&lt;br /&gt;
** Load selection rectangles from decoded TextureEntry data&lt;br /&gt;
** Modify TextureEntry and texture mapping by modifying the selection rectangles&lt;br /&gt;
* Full OBJ export with mtllib&lt;br /&gt;
* Save selection rectangles to texture&lt;br /&gt;
* Save Prim XML with modified TextureEntry&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=46765</id>
		<title>Prim Mapper</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=46765"/>
		<updated>2007-12-31T22:33:27Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
Prim Mapper is a UV mapping program for Second Life primitives, designed to sit somewhere in the middle of a workflow between Second Life and professional texturing or modeling applications.&lt;br /&gt;
&lt;br /&gt;
[[Image:Primpreview-03.png]]&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
A proof of concept has been developed far enough to lay out the roadmap, but a lot of development is still ahead. The code can be found in the libprimrender module of libsecondlife SVN if you want to preview or help with development. Once some of the major features are working binaries will be released for different platforms.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;[libprimrender] Per face rendering&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Add*() functions and using them&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Better PrimMesh class/struct that stores everything&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;CreateVolumeFaces()&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Option parameters to GenerateMesh() for generating faces and normals&amp;lt;/strike&amp;gt;&lt;br /&gt;
*** &amp;lt;strike&amp;gt;Setting faces to false could instead generate a single &amp;quot;face&amp;quot; that is the entire prim vertex and index lists&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Show each of the prims loaded and each of their faces in the GUI dropdowns&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Color the currently selected face differently&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Simple (non-material) OBJ export&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Selection rectangles&lt;br /&gt;
* Texture mapping in OpenGL that matches the SL viewer&lt;br /&gt;
** Texture preview based on the selection rectangles&lt;br /&gt;
* Full OBJ export&lt;br /&gt;
* Save selection rectangles to texture&lt;br /&gt;
* Save Prim XML with modified TextureEntry&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=46736</id>
		<title>Prim Mapper</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=46736"/>
		<updated>2007-12-31T19:41:41Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Updating current progress&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
Prim Mapper is a UV mapping program for Second Life primitives, designed to sit somewhere in the middle of a workflow between Second Life and professional texturing or modeling applications.&lt;br /&gt;
&lt;br /&gt;
[[Image:Primpreview-03.png]]&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
A proof of concept has been developed far enough to lay out the roadmap, but a lot of development is still ahead. The code can be found in the libprimrender module of libsecondlife SVN if you want to preview or help with development. Once some of the major features are working binaries will be released for different platforms.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* [libprimrender] Per face rendering&lt;br /&gt;
** &amp;lt;strike&amp;gt;Add*() functions and using them&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Better PrimMesh class/struct that stores everything&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;CreateVolumeFaces()&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Option parameters to GenerateMesh() for generating faces and normals&amp;lt;/strike&amp;gt;&lt;br /&gt;
*** &amp;lt;strike&amp;gt;Setting faces to false could instead generate a single &amp;quot;face&amp;quot; that is the entire prim vertex and index lists&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Show each of the prims loaded and each of their faces in the GUI dropdowns&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Color the currently selected face differently&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Simple (non-material) OBJ export&lt;br /&gt;
* Selection rectangles&lt;br /&gt;
* Texture mapping in OpenGL that matches the SL viewer&lt;br /&gt;
** Texture preview based on the selection rectangles&lt;br /&gt;
* Full OBJ export&lt;br /&gt;
* Save selection rectangles to texture&lt;br /&gt;
* Save Prim XML with modified TextureEntry&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=46307</id>
		<title>Prim Mapper</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=46307"/>
		<updated>2007-12-29T03:54:22Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Updating current progress&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
Prim Mapper is a UV mapping program for Second Life primitives, designed to sit somewhere in the middle of a workflow between Second Life and professional texturing or modeling applications.&lt;br /&gt;
&lt;br /&gt;
[[Image:Primpreview-03.png]]&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
A proof of concept has been developed far enough to lay out the roadmap, but a lot of development is still ahead. The code can be found in the libprimrender module of libsecondlife SVN if you want to preview or help with development. Once some of the major features are working binaries will be released for different platforms.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* [libprimrender] Per face rendering&lt;br /&gt;
** &amp;lt;strike&amp;gt;Add*() functions and using them&amp;lt;/strike&amp;gt;&lt;br /&gt;
** &amp;lt;strike&amp;gt;Better PrimMesh class/struct that stores everything&amp;lt;/strike&amp;gt;&lt;br /&gt;
** CreateVolumeFaces()&lt;br /&gt;
** Option parameters to GenerateMesh() for generating faces and normals&lt;br /&gt;
*** Setting faces to false could instead generate a single &amp;quot;face&amp;quot; that is the entire prim vertex and index lists&lt;br /&gt;
* &amp;lt;strike&amp;gt;Show each of the prims loaded and each of their faces in the GUI dropdowns&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Color the currently selected face differently&lt;br /&gt;
* Simple (non-material) OBJ export&lt;br /&gt;
* Selection rectangles&lt;br /&gt;
* Texture mapping in OpenGL that matches the SL viewer&lt;br /&gt;
** Texture preview based on the selection rectangles&lt;br /&gt;
* Full OBJ export&lt;br /&gt;
* Save selection rectangles to texture&lt;br /&gt;
* Save Prim XML with modified TextureEntry&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=ImprovedInstantMessage&amp;diff=46284</id>
		<title>ImprovedInstantMessage</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=ImprovedInstantMessage&amp;diff=46284"/>
		<updated>2007-12-28T20:55:40Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Added dialog byte comments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ProtocolNav}}&lt;br /&gt;
==Message Layout==&lt;br /&gt;
&amp;lt;pre width=80&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	ImprovedInstantMessage Low NotTrusted Zerocoded&lt;br /&gt;
	{&lt;br /&gt;
		AgentData 		Single&lt;br /&gt;
		{   AgentID     LLUUID  }&lt;br /&gt;
		{	SessionID	LLUUID	}&lt;br /&gt;
	}&lt;br /&gt;
	{&lt;br /&gt;
		MessageBlock		Single&lt;br /&gt;
		{	FromGroup		BOOL	}&lt;br /&gt;
		{	ToAgentID		LLUUID	}&lt;br /&gt;
		{	ParentEstateID	U32	}&lt;br /&gt;
		{   RegionID		LLUUID	}&lt;br /&gt;
		{	Position		LLVector3	}&lt;br /&gt;
		{	Offline			U8	}&lt;br /&gt;
		{	Dialog			U8	}	&lt;br /&gt;
		{	ID				LLUUID	}&lt;br /&gt;
		{	Timestamp		U32	}&lt;br /&gt;
		{	FromAgentName	Variable	1	}&lt;br /&gt;
		{	Message			Variable	2	}&lt;br /&gt;
		{	BinaryBucket	Variable	2	}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Usage and Notes==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ All possible interactions of Dialog byte and other packet variables&lt;br /&gt;
! Dialog byte value !! ToAgentID  !! ParentEstateID !! RegionID  !! Position  !! ID!! Timestamp!! FromAgentName!! Message!! BinaryBucket&lt;br /&gt;
|-&lt;br /&gt;
! 0 Indicates a regular IM from another agent ||as expected ||as expected ||as expected ||as expected ||style=&amp;quot;background:silver&amp;quot; |meaningless ||as expected ||as expected ||as expected ||style=&amp;quot;background:silver&amp;quot; |empty &lt;br /&gt;
|-&lt;br /&gt;
! 1 Simple notification box with an OK button ||as expected ||as expected ||as expected ||as expected ||&lt;br /&gt;
|- style=&amp;quot;background:silver&amp;quot;&lt;br /&gt;
! 2 Used to show a countdown notification with an OK button, deprecated now ||||||||||||||||||&lt;br /&gt;
|-&lt;br /&gt;
! 3 You&#039;ve been invited to join a group&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 4 Inventory offer&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 5 Accepted inventory offer&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 6 Declined inventory offer&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 7 Group vote&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 8 A message to everyone in the agent&#039;s group, deprecated&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 9 An object is offering its inventory&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 10 Accept an inventory offer from an object&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 11 Decline an inventory offer from an object&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 12 Unknown&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 13 Start a session, or add users to a session&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 14 Start a session, but don&#039;t prune offline users&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 15 Start a session with your group&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 16 Start a session without a calling card (finder or objects)&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 17 Send a message to a session&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 18 Leave a session&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 19 Indicates that the IM is from an object&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 20 Sent an IM to a busy user, this is the auto response&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 21 Shows the message in the console and chat history&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 22 Send a teleport lure&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 23 Response sent to the agent which inititiated a teleport invitation&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 24 Response sent to the agent which inititiated a teleport invitation&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 25 Only useful if you have Linden permissions&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 26 A placeholder type for future expansion, currently not used&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 27 Notification of a new group election, this is deprecated&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 28 IM to tell the user to go to an URL&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 29 IM for help&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 30 IM sent automatically on call for help, sends a lure to each Helper reached&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 31 Like an IM but won&#039;t go to email&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 32 IM from a group officer to all group members&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 33 Unknown&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 34 Unknown&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 35 Accept a group invitation&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 36 Decline a group invitation&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 37 Unknown&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 38 An avatar is offering you friendship&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 39 An avatar has accepted your friendship offer&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 40 An avatar has declined your friendship offer&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 41 Indicates that a user has started typing&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! 42 Indicates that a user has stopped typing&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Messages]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=45594</id>
		<title>Prim Mapper</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Prim_Mapper&amp;diff=45594"/>
		<updated>2007-12-23T19:16:36Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: New page: ==Overview==  Prim Mapper is a UV mapping program for Second Life primitives, designed to sit somewhere in the middle of a workflow between Second Life and professional texturing or modeli...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
&lt;br /&gt;
Prim Mapper is a UV mapping program for Second Life primitives, designed to sit somewhere in the middle of a workflow between Second Life and professional texturing or modeling applications.&lt;br /&gt;
&lt;br /&gt;
[[Image:Primpreview-03.png]]&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
A proof of concept has been developed far enough to lay out the roadmap, but a lot of development is still ahead. The code can be found in the libprimrender module of libsecondlife SVN if you want to preview or help with development. Once some of the major features are working binaries will be released for different platforms.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
&lt;br /&gt;
* [libprimrender] Per face rendering&lt;br /&gt;
** Add*() functions and using them&lt;br /&gt;
** Better PrimMesh class/struct that stores everything&lt;br /&gt;
* Show each of the prims loaded and each of their faces in the GUI dropdowns&lt;br /&gt;
* Color the currently selected face differently&lt;br /&gt;
* Simple (non-material) OBJ export&lt;br /&gt;
* Selection rectangles&lt;br /&gt;
* Texture mapping in OpenGL that matches the SL viewer&lt;br /&gt;
** Texture preview based on the selection rectangles&lt;br /&gt;
* Full OBJ export&lt;br /&gt;
* Save selection rectangles to texture&lt;br /&gt;
* Save Prim XML with modified TextureEntry&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=File:Primpreview-03.png&amp;diff=45582</id>
		<title>File:Primpreview-03.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=File:Primpreview-03.png&amp;diff=45582"/>
		<updated>2007-12-23T19:14:33Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=LLSD&amp;diff=43205</id>
		<title>LLSD</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=LLSD&amp;diff=43205"/>
		<updated>2007-12-04T02:48:48Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Integer in LLSD is 32 bits, fixed an incorrect mention of 64 bit integers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The LLSD flexible data system =&lt;br /&gt;
&lt;br /&gt;
The following text is from the comments in the source of the file:&lt;br /&gt;
linden\indra\common\llsd.cpp &lt;br /&gt;
&lt;br /&gt;
LLSD stands [http://blog.secondlife.com/2006/07/19/web-services-serialization-format/#comment-101218][according to Andrew Linden] for &#039;&#039;&#039;Linden Lab Structured Data&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
LLSD provides a flexible data system similar to the data facilities of dynamic languages like Perl and Python.  It is created to support exchange of structured data between loosly coupled systems.  (Here, &amp;quot;loosly coupled&amp;quot; means not compiled together into the same module.)&lt;br /&gt;
	&lt;br /&gt;
Data in such exchanges must be highly tolerant of changes on either side such as:&lt;br /&gt;
- recompilation&lt;br /&gt;
- implementation in a different langauge&lt;br /&gt;
- addition of extra parameters&lt;br /&gt;
- execution of older versions (with fewer parameters)&lt;br /&gt;
&lt;br /&gt;
To this aim, the C++ API of LLSD strives to be very easy to use, and to default to &amp;quot;the right thing&amp;quot; whereever possible.  It is extremely tolerant of errors and unexpected situations.&lt;br /&gt;
	&lt;br /&gt;
The fundamental class is LLSD.  LLSD is a value holding object.  It holds one value that is either undefined, one of the scalar types, or a map or an array.  LLSD objects have value semantics (copying them copies the value, though it can be considered efficient, due to sharing.), and mutable.&lt;br /&gt;
&lt;br /&gt;
Undefined is the singular value given to LLSD objects that are not initialized with any data.  It is also used as the return value for operations that return an LLSD,&lt;br /&gt;
	&lt;br /&gt;
The scalar data types are:&lt;br /&gt;
* Boolean	- true or false&lt;br /&gt;
* Integer	- a 32 bit signed integer&lt;br /&gt;
* Real		- a 64 IEEE 754 floating point value&lt;br /&gt;
* UUID		- a 128 unique value&lt;br /&gt;
* String	- a sequence of zero or more Unicode chracters&lt;br /&gt;
* Date		- an absolute point in time, UTC, with resolution to the second&lt;br /&gt;
* URI		- a String that is a URI&lt;br /&gt;
* Binary	- a sequence of zero or more octets (unsigned bytes)&lt;br /&gt;
	&lt;br /&gt;
A map is a dictionary mapping String keys to LLSD values.  The keys are unique within a map, and have only one value (though that value could be an LLSD array).&lt;br /&gt;
	&lt;br /&gt;
An array is a sequence of zero or more LLSD values.&lt;br /&gt;
&lt;br /&gt;
== Scalar Accessors ==&lt;br /&gt;
&lt;br /&gt;
Function: Fetch a scalar value, converting if needed and possible.&lt;br /&gt;
&lt;br /&gt;
Conversion among the basic types, Boolean, Integer, Real and String, is fully defined.  Each type can be converted to another with a reasonable interpretation.  These conversions can be used as a convenience even when you know the data is in one format, but you want it in another.  Of course, many of these conversions lose information.&lt;br /&gt;
&lt;br /&gt;
Note: These conversions are not the same as Perl&#039;s.  In particular, when converting a String to a Boolean, only the empty string converts to false.  Converting the String &amp;quot;0&amp;quot; to Boolean results in true.&lt;br /&gt;
&lt;br /&gt;
Conversion to and from UUID, Date, and URI is only defined to and from String.  Conversion is defined to be information preserving for valid values of those types.  These conversions can be used when one needs to convert data to or from another system that cannot handle these types natively, but can handle strings.&lt;br /&gt;
&lt;br /&gt;
Conversion to and from Binary isn&#039;t defined.&lt;br /&gt;
&lt;br /&gt;
Conversion of the Undefined value to any scalar type results in a reasonable null or zero value for the type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatic Cast Protection ==&lt;br /&gt;
&lt;br /&gt;
These are not implemented on purpose.  Without them, C++ can perform some conversions that are clearly not what the programmer intended.&lt;br /&gt;
	&lt;br /&gt;
If you get a linker error about these being missing, you have made mistake in your code.  DO NOT IMPLEMENT THESE FUNCTIONS as a fix.&lt;br /&gt;
		&lt;br /&gt;
All of thse problems stem from trying to support char* in LLSD or in std::string.  There are too many automatic casts that will lead to using an arbitrary pointer or scalar type to std::string.&lt;br /&gt;
&lt;br /&gt;
== Attributes and Data ==&lt;br /&gt;
Attributes are only used for encoding parser and formatting instructions. The data in the elements is always data.&lt;br /&gt;
&lt;br /&gt;
== Root Element ==&lt;br /&gt;
The root element is llsd. The root must have only one child element which can be any container or atomic type.&lt;br /&gt;
&lt;br /&gt;
== Atomic Types ==&lt;br /&gt;
Each atomic type represents one value with type information. An atomic does not have a name, but may have attributes to specify format or processing considerations for the parser. &lt;br /&gt;
Consumers of atomics are encouraged to massage the data into the preferred native representation, but further serialization should honor the original type information if possible.&lt;br /&gt;
&lt;br /&gt;
=== undefined ===&lt;br /&gt;
The undefined type is a placeholder to indicate something is there, but it has no value, and cannot be converted to any other atomic type. Though limited in this way, an undefined is still considered a first-class atomic, and is expected to behave like any other atomic structured data type at runtime.&lt;br /&gt;
==== Serialization example ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;undef /&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
A true or false value.&lt;br /&gt;
==== Conversion ====&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;type&#039;&#039;&#039;||&#039;&#039;&#039;rules&#039;&#039;&#039;||&lt;br /&gt;
|-&lt;br /&gt;
|boolean||unity||&lt;br /&gt;
|-&lt;br /&gt;
|integer||true =&amp;gt; 1, false =&amp;gt; 0||&lt;br /&gt;
|-&lt;br /&gt;
|real||true =&amp;gt; 1.0, false =&amp;gt; 0.0||&lt;br /&gt;
|-&lt;br /&gt;
|uuid||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|string||&#039;true&#039;, &#039;false&#039;||&lt;br /&gt;
|-&lt;br /&gt;
|binary||one byte us-ascii where true =&amp;gt; 1, false =&amp;gt; 0||&lt;br /&gt;
|-&lt;br /&gt;
|date||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|uri||n/a||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Serialization examples ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- true --&amp;gt;&lt;br /&gt;
&amp;lt;boolean&amp;gt;1&amp;lt;/boolean&amp;gt;&lt;br /&gt;
&amp;lt;boolean&amp;gt;true&amp;lt;/boolean&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- false --&amp;gt;&lt;br /&gt;
&amp;lt;boolean&amp;gt;0&amp;lt;/boolean&amp;gt;&lt;br /&gt;
&amp;lt;boolean&amp;gt;false&amp;lt;/boolean&amp;gt;&lt;br /&gt;
&amp;lt;boolean /&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== integer ===&lt;br /&gt;
A signed integer value with a representation of 32 bits.&lt;br /&gt;
==== Conversion ====&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;type&#039;&#039;&#039;||&#039;&#039;&#039;rules&#039;&#039;&#039;||&lt;br /&gt;
|-&lt;br /&gt;
|boolean||0 =&amp;gt; false, all other values =&amp;gt; true||&lt;br /&gt;
|-&lt;br /&gt;
|integer||unity||&lt;br /&gt;
|-&lt;br /&gt;
|real||closest representable number||&lt;br /&gt;
|-&lt;br /&gt;
|uuid||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|string||human readable string||&lt;br /&gt;
|-&lt;br /&gt;
|binary||8 byte network byte order representation||&lt;br /&gt;
|-&lt;br /&gt;
|date||seconds since epoch||&lt;br /&gt;
|-&lt;br /&gt;
|uri||n/a||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Serialization examples ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;integer&amp;gt;289343&amp;lt;/integer&amp;gt;&lt;br /&gt;
&amp;lt;integer&amp;gt;-3&amp;lt;/integer&amp;gt;&lt;br /&gt;
&amp;lt;integer /&amp;gt; &amp;lt;!-- zero --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== real ===&lt;br /&gt;
A 64 bit double as defined by IEEE.&lt;br /&gt;
==== Conversion ====&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;type&#039;&#039;&#039;||&#039;&#039;&#039;rules&#039;&#039;&#039;||&lt;br /&gt;
|-&lt;br /&gt;
|boolean||exactly 0 =&amp;gt; false, all other values =&amp;gt; true||&lt;br /&gt;
|-&lt;br /&gt;
|integer||rounded to closest representable number||&lt;br /&gt;
|-&lt;br /&gt;
|real||unity||&lt;br /&gt;
|-&lt;br /&gt;
|uuid||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|string||human readable string||&lt;br /&gt;
|-&lt;br /&gt;
|binary||8 byte network byte order representation||&lt;br /&gt;
|-&lt;br /&gt;
|date||seconds since epoch||&lt;br /&gt;
|-&lt;br /&gt;
|uri||n/a||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Serialization examples ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;real&amp;gt;-0.28334&amp;lt;/real&amp;gt;&lt;br /&gt;
&amp;lt;real&amp;gt;2983287453.3848387&amp;lt;/real&amp;gt;&lt;br /&gt;
&amp;lt;real /&amp;gt; &amp;lt;!-- exactly zero --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== uuid ===&lt;br /&gt;
A 128 byte unsigned integer.&lt;br /&gt;
==== Conversion ====&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;type&#039;&#039;&#039;||&#039;&#039;&#039;rules&#039;&#039;&#039;||&lt;br /&gt;
|-&lt;br /&gt;
|boolean||null uuid =&amp;gt; false, all other values =&amp;gt; true||&lt;br /&gt;
|-&lt;br /&gt;
|integer||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|real||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|uuid||unity||&lt;br /&gt;
|-&lt;br /&gt;
|string||standard 8-4-4-4-12 serialization format||&lt;br /&gt;
|-&lt;br /&gt;
|binary||16 byte raw representation||&lt;br /&gt;
|-&lt;br /&gt;
|date||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|uri||n/a||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Serialization examples ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;uuid&amp;gt;d7f4aeca-88f1-42a1-b385-b9db18abb255&amp;lt;/uuid&amp;gt;&lt;br /&gt;
&amp;lt;uuid /&amp;gt; &amp;lt;!-- null uuid &#039;00000000-0000-0000-0000-000000000000&#039; --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== string ===&lt;br /&gt;
A simple string of any character data which is intended to be human comprehensible.&lt;br /&gt;
&lt;br /&gt;
Strings in the system that hold text a user might see or enter (chat, IM, notecards, AV names, region names,... basically almost everything!) should move to using a consistent set of acceptable characters. This set is:&lt;br /&gt;
&lt;br /&gt;
* Unicode code points U+20 through U+10FFFD&lt;br /&gt;
** except U+D800 through U+DFFF&lt;br /&gt;
** except U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, U+2FFE, U+2FFF ... U+10FFFE, U+10FFFF&lt;br /&gt;
** except U+FDDD through U+FDEF&lt;br /&gt;
* U+9 (tab, &#039;\t&#039;)&lt;br /&gt;
* U+A (newline or line feed, &#039;\n&#039;)&lt;br /&gt;
* U+D (carriage return, &#039;\r&#039;)&lt;br /&gt;
&lt;br /&gt;
Strings may be sequences of zero or more of these characters. Strings *may* be normalized by mapping line ending sequences to U+A. Do not rely on differences in strings that normalize to the same string.&lt;br /&gt;
&lt;br /&gt;
These choices of valid strings are chosen from Unicode 4.0 which defines the following valid code points:&lt;br /&gt;
* Unicode code points U+0 through U+10FFFD&lt;br /&gt;
** except U+D800 through U+DFFF (the UTF-16 surrogate pair range)&lt;br /&gt;
** except U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, U+2FFE, U+2FFF ... U+10FFFE, U+10FFFF&lt;br /&gt;
** except U+FDDD through U+FDEF (some historical screw up with Arabic)&lt;br /&gt;
&lt;br /&gt;
The choice for special characters &amp;lt; U+20 is because XML defines acceptable text as all valid Unicode code points &amp;gt;= U+20, and U+9, U+A and U+D. The normalization is because XML defines that all line ending sequences are normalized to U+A.&lt;br /&gt;
&lt;br /&gt;
==== Conversion ====&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;type&#039;&#039;&#039;||&#039;&#039;&#039;rules&#039;&#039;&#039;||&lt;br /&gt;
|-&lt;br /&gt;
|boolean||empty =&amp;gt; false, all other values =&amp;gt; true||&lt;br /&gt;
|-&lt;br /&gt;
|integer||A simple conversion of the initial characters to an integer||&lt;br /&gt;
|-&lt;br /&gt;
|real||A simple conversion of the initial characters to a real number||&lt;br /&gt;
|-&lt;br /&gt;
|uuid||A valid 8-4-4-4-12 is converted to a uuid, all other values =&amp;gt; null uuid||&lt;br /&gt;
|-&lt;br /&gt;
|string||unity||&lt;br /&gt;
|-&lt;br /&gt;
|binary||raw representation of the characters||&lt;br /&gt;
|-&lt;br /&gt;
|date||An interpretation of the string as a date||&lt;br /&gt;
|-&lt;br /&gt;
|uri||An interpretation of the string as a link||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Serialization examples ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;string&amp;gt;The quick brown fox jumped over the lazy dog.&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;string&amp;gt;540943c1-7142-4fdd-996f-fc90ed5dd3fa&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;string /&amp;gt; &amp;lt;!-- empty string --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== binary data ===&lt;br /&gt;
A chunk of binary data.&lt;br /&gt;
The serialization format is allowed to specify an encoding. Parsers must support base64 encoding. Parsers may support base16 and base85.&lt;br /&gt;
==== Conversion ====&lt;br /&gt;
{|&lt;br /&gt;
||&#039;&#039;&#039;type&#039;&#039;&#039;||&#039;&#039;&#039;rules&#039;&#039;&#039;||&lt;br /&gt;
|-&lt;br /&gt;
||boolean||empty =&amp;gt; false, all other values =&amp;gt; true||&lt;br /&gt;
|-&lt;br /&gt;
||integer||len &amp;lt; 4 =&amp;gt; 0, otherwise first four bytes are interpreted as a network byte order integer||&lt;br /&gt;
|-&lt;br /&gt;
||real||len &amp;lt; 8 =&amp;gt; 0, otherwise first eight bytes are interpreted as a network byte order double||&lt;br /&gt;
|-&lt;br /&gt;
||uuid||len &amp;lt; 16 =&amp;gt; null uuid, otherwise first sixteen bytes are interpreted as the raw binary uuid||&lt;br /&gt;
|-&lt;br /&gt;
||string||the raw binary data interpreted as utf-8 character data||&lt;br /&gt;
|-&lt;br /&gt;
||binary||unity||&lt;br /&gt;
|-&lt;br /&gt;
||date||n/a||&lt;br /&gt;
|-&lt;br /&gt;
||uri||the raw binary data interpreted as a utf-8 serialized link||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Serialization examples ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;binary encoding=&amp;quot;base64&amp;quot;&amp;gt;cmFuZG9t&amp;lt;/binary&amp;gt; &amp;lt;!-- base 64 encoded binary data --&amp;gt;&lt;br /&gt;
&amp;lt;binary&amp;gt;dGhlIHF1aWNrIGJyb3duIGZveA==&amp;lt;/binary&amp;gt; &amp;lt;!-- base 64 encoded binary data is default --&amp;gt;&lt;br /&gt;
&amp;lt;binary /&amp;gt; &amp;lt;!-- empty binary blob --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== date ===&lt;br /&gt;
A specific point in time. Intervals or relative dates are not supported. The serialization and parser only understand ISO-8601 numeric encoding in UTC. The time may be omitted which will be interpreted as midnight at the start of the day. &lt;br /&gt;
==== Conversion ====&lt;br /&gt;
{|&lt;br /&gt;
|&#039;&#039;&#039;type&#039;&#039;&#039;||&#039;&#039;&#039;rules&#039;&#039;&#039;||&lt;br /&gt;
|-&lt;br /&gt;
|boolean||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|integer||seconds since epoch||&lt;br /&gt;
|-&lt;br /&gt;
|real||seconds since epoch||&lt;br /&gt;
|-&lt;br /&gt;
|uuid||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|string||standard serialization format||&lt;br /&gt;
|-&lt;br /&gt;
|binary||n/a||&lt;br /&gt;
|-&lt;br /&gt;
|date||unity||&lt;br /&gt;
|-&lt;br /&gt;
|uri||n/a||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Serialization examples ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;date&amp;gt;2006-02-01T14:29:53Z&amp;lt;/date&amp;gt;&lt;br /&gt;
&amp;lt;date /&amp;gt; &amp;lt;!-- epoch --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== uri ===&lt;br /&gt;
A link to an external resource. The data is expected to conform to [http://www.ietf.org/rfc/rfc2396.txt rfc 2396] for interpretation, meaning, serialization, and deserialization.&lt;br /&gt;
==== Conversion ====&lt;br /&gt;
{|&lt;br /&gt;
||&#039;&#039;&#039;type&#039;&#039;&#039;||&#039;&#039;&#039;rules&#039;&#039;&#039;||&lt;br /&gt;
|-&lt;br /&gt;
||boolean||n/a||&lt;br /&gt;
|-&lt;br /&gt;
||integer||n/a||&lt;br /&gt;
|-&lt;br /&gt;
||real||n/a||&lt;br /&gt;
|-&lt;br /&gt;
||uuid||n/a||&lt;br /&gt;
|-&lt;br /&gt;
||string||standard serialization format||&lt;br /&gt;
|-&lt;br /&gt;
||binary||n/a||&lt;br /&gt;
|-&lt;br /&gt;
||date||n/a||&lt;br /&gt;
|-&lt;br /&gt;
||uri||unity||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Serialization examples ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;uri&amp;gt;http://sim956.agni.lindenlab.com:12035/runtime/agents&amp;lt;/uri&amp;gt;&lt;br /&gt;
&amp;lt;uri /&amp;gt; &amp;lt;!-- an empty link --&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Containers ==&lt;br /&gt;
Containers is a special data type which can contain any other data type including other containers.&lt;br /&gt;
&lt;br /&gt;
=== map ===&lt;br /&gt;
A map of key and value pairs where key ordering is unspecified and keys are unique. The key is always interpreted as a character string and any character string is acceptable. If there are any elements in the map, it is serialized as a key followed by an atomic or container value. For every key, there must be one value.&lt;br /&gt;
Well formed and valid serialized maps may contain more non-unique keys. When a deserialized, the implementation should choose one of the the value objects, but that choice is not specified.&lt;br /&gt;
==== Serialization example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;map&amp;gt;&lt;br /&gt;
 &amp;lt;key&amp;gt;foo&amp;lt;/key&amp;gt;&lt;br /&gt;
 &amp;lt;string&amp;gt;bar&amp;lt;/string&amp;gt;&lt;br /&gt;
 &amp;lt;key&amp;gt;agent info&amp;lt;/key&amp;gt;&lt;br /&gt;
 &amp;lt;map&amp;gt;&lt;br /&gt;
  &amp;lt;key&amp;gt;agent_id&amp;lt;/key&amp;gt;&lt;br /&gt;
  &amp;lt;uuid&amp;gt;93c73b16-cd86-434d-8b4a-76e12eee950a&amp;lt;/uuid&amp;gt;&lt;br /&gt;
  &amp;lt;key&amp;gt;name&amp;lt;/key&amp;gt;&lt;br /&gt;
  &amp;lt;string&amp;gt;testtest tester&amp;lt;/string&amp;gt;&lt;br /&gt;
 &amp;lt;/map&amp;gt;&lt;br /&gt;
&amp;lt;/map&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== array ===&lt;br /&gt;
An ordered collection of data members. Any member can be any atomic or container type.&lt;br /&gt;
==== Serialization example ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;array&amp;gt;&lt;br /&gt;
 &amp;lt;real&amp;gt;7343.0194&amp;lt;/real&amp;gt;&lt;br /&gt;
 &amp;lt;array&amp;gt;&lt;br /&gt;
  &amp;lt;map&amp;gt;&lt;br /&gt;
   &amp;lt;key&amp;gt;offset&amp;lt;/key&amp;gt;&lt;br /&gt;
   &amp;lt;integer&amp;gt;9847&amp;lt;/integer&amp;gt;&lt;br /&gt;
  &amp;lt;/map&amp;gt;&lt;br /&gt;
  &amp;lt;string&amp;gt;da boom&amp;lt;/string&amp;gt;&lt;br /&gt;
 &amp;lt;/array&amp;gt;&lt;br /&gt;
&amp;lt;/array&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= xml-llsd DTD =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE llsd [&lt;br /&gt;
&amp;lt;!ELEMENT llsd (DATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT DATA (ATOMIC|map|array)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT ATOMIC (undef|boolean|integer|real|uuid|string|date|uri|binary)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT KEYDATA (key,DATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT key (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT map (KEYDATA*)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT array (DATA*)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT undef (EMPTY)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT boolean (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT integer (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT real (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT uuid (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT string (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT date (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT uri (#PCDATA)&amp;gt;&lt;br /&gt;
&amp;lt;!ELEMENT binary (#PCDATA)&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST string xml:space (default|preserve) &#039;preserve&#039;&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST binary encoding CDATA &amp;quot;base64&amp;quot;&amp;gt;&lt;br /&gt;
]&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Example XML Output =&lt;br /&gt;
This is a sample from a recently running sim (indention for readability):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ curl http://localhost:12035/runtime/statistics&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;llsd&amp;gt;&lt;br /&gt;
&amp;lt;map&amp;gt;&lt;br /&gt;
  &amp;lt;key&amp;gt;region_id&amp;lt;/key&amp;gt;&lt;br /&gt;
    &amp;lt;uuid&amp;gt;67153d5b-3659-afb4-8510-adda2c034649&amp;lt;/uuid&amp;gt;&lt;br /&gt;
  &amp;lt;key&amp;gt;scale&amp;lt;/key&amp;gt;&lt;br /&gt;
    &amp;lt;string&amp;gt;one minute&amp;lt;/string&amp;gt;&lt;br /&gt;
  &amp;lt;key&amp;gt;simulator statistics&amp;lt;/key&amp;gt;&lt;br /&gt;
  &amp;lt;map&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;time dilation&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0.9878624&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;sim fps&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;44.38898&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;pysics fps&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;44.38906&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;agent updates per second&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;nan&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;lsl instructions per second&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;total task count&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;4&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;active task count&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;active script count&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;4&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;main agent count&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;child agent count&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;inbound packets per second&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;1.228283&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;outbound packets per second&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;1.277508&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;pending downloads&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;pending uploads&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0.0001096525&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;frame ms&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0.7757886&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;net ms&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0.3152919&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;sim other ms&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0.1826937&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;sim physics ms&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0.04323055&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;agent ms&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0.01599029&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;image ms&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0.01865955&amp;lt;/real&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;script ms&amp;lt;/key&amp;gt;&amp;lt;real&amp;gt;0.1338836&amp;lt;/real&amp;gt;&lt;br /&gt;
  &amp;lt;/map&amp;gt;&lt;br /&gt;
&amp;lt;/map&amp;gt;&lt;br /&gt;
&amp;lt;/llsd&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Binary Serialization =&lt;br /&gt;
We also have support for binary serialization and deserialization in c++ and python. The binary format is useful when dealing where optimal parse time is necessary. Binary LLSD is the binary llsd prefix followed by a single LLSD element of any type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?llsd/binary?&amp;gt;\n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Binary element serialization&lt;br /&gt;
! type !! serialization !! notes&lt;br /&gt;
|-&lt;br /&gt;
| undef || &#039;!&#039;&lt;br /&gt;
|-&lt;br /&gt;
| true || &#039;1&#039;&lt;br /&gt;
|-&lt;br /&gt;
| false || &#039;0&#039;&lt;br /&gt;
|-&lt;br /&gt;
| integer || &#039;i&#039; + htonl(value)&lt;br /&gt;
|-&lt;br /&gt;
| real || &#039;r&#039; + htond(value)&lt;br /&gt;
|-&lt;br /&gt;
| uuid || &#039;u&#039; + uuid || uuid is 16 bytes&lt;br /&gt;
|-&lt;br /&gt;
| binary || &#039;b&#039; + htonl(binary.size()) + binary&lt;br /&gt;
|-&lt;br /&gt;
| string || &#039;s&#039; + htonl(string.size()) + string || notation serialization is considered valid&lt;br /&gt;
|-&lt;br /&gt;
| uri || &#039;l&#039; + htonl(uri.size()) + uri&lt;br /&gt;
|-&lt;br /&gt;
| date || &#039;d&#039; + htond(seconds_since_epoch)&lt;br /&gt;
|-&lt;br /&gt;
| array || &#039;[&#039; + htonl(array.length()) + (child0, child1, ...) + &#039;]&#039; || order is always preserved&lt;br /&gt;
|-&lt;br /&gt;
| map || &#039;{&#039; + htonl(map.length()) + ((key0,value0), (key1, value1), ...)+ &#039;}&#039; || order is not always preserved.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;size()&amp;lt;/b&amp;gt; is a byte count.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;length()&amp;lt;/b&amp;gt; is a child count.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;htonl()&amp;lt;/b&amp;gt; is a function to generate a 4 byte network byte order integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;htond()&amp;lt;/b&amp;gt; is a function to generate an 8 byte network byte order double.&lt;br /&gt;
&lt;br /&gt;
= Notation Serialization =&lt;br /&gt;
We also have support for a serialization format meant for human readability. Parsing and formatting are currently only available in c++. Notation LLSD is the notation llsd prefix followed by a single LLSD element of any type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?llsd/notation?&amp;gt;\n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Binary element serialization&lt;br /&gt;
! type !! serialization !! notes&lt;br /&gt;
|-&lt;br /&gt;
| undef || &#039;!&#039;&lt;br /&gt;
|-&lt;br /&gt;
| true || &amp;lt;nowiki&amp;gt;&#039;1&#039; |  &#039;t&#039; | &#039;T&#039; | &#039;true&#039; | &#039;TRUE&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| false || &amp;lt;nowiki&amp;gt;&#039;0&#039; |  &#039;f&#039; | &#039;F&#039; | &#039;false&#039; | &#039;FALSE&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| integer || &#039;i&#039; str(value)&lt;br /&gt;
|-&lt;br /&gt;
| real || &#039;r&#039; str(value)&lt;br /&gt;
|-&lt;br /&gt;
| uuid || &#039;u&#039; str(uuid)&lt;br /&gt;
|-&lt;br /&gt;
| binary || &amp;lt;nowiki&amp;gt;&#039;b(&#039; str(size) &#039;)&amp;quot;&#039;  raw_data &#039;&amp;quot;&#039; | &#039;b&#039; base &#039;&amp;quot;&#039; encoded_data &#039;&amp;quot;&#039;&amp;lt;/nowiki&amp;gt;  || Base 16 and 64 encodings are supported.&lt;br /&gt;
|-&lt;br /&gt;
| string || &amp;lt;nowiki&amp;gt;&amp;quot; escaped_string &amp;quot; | &#039; escaped_string &#039; | &#039;s(&#039; str(size) &#039;)&amp;quot;&#039; raw_string &#039;&amp;quot;&#039;&amp;lt;/nowiki&amp;gt; || When using single quotes, double quotes do not need escaping and vice versa.&lt;br /&gt;
|-&lt;br /&gt;
| uri || &#039;l&amp;quot;&#039; escaped_uri &#039;&amp;quot;&#039; || See [http://www.faqs.org/rfcs/rfc1738.html rfc 1738] for encoding rules.&lt;br /&gt;
|-&lt;br /&gt;
| date || &#039;d&amp;quot;&#039; YYYY-MM-DD &#039;T&#039; HH:MM:SS [.FF] &#039;Z&amp;quot;&#039; || Fractional seconds are optional&lt;br /&gt;
|-&lt;br /&gt;
| array || &#039;[&#039; object0 &#039;,&#039; object1 &#039;,&#039; ... &#039;]&#039; || order is always preserved&lt;br /&gt;
|-&lt;br /&gt;
| map || &#039;{&#039; string0:object0 &#039;,&#039; string1:object1 &#039;,&#039; ... &#039;}&#039; || order is not always preserved. The string is any supported string serialization format&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== String Escaping ==&lt;br /&gt;
Strings which contain non-printable characters delimited with quotes or double quotes require escaping. If a single quote delimited string contains single quotes, those must be escaped. If a double quote delimited string contains double quotes, the double quotes must be escaped.&lt;br /&gt;
&lt;br /&gt;
To escape the delimiter character, prefix a backslash. Backslashes must always be escaped with another backslash.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;And then he said, \&amp;quot;I have nothing more to say on the subject.\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 &#039;Look in &amp;quot;C:\\linden\\&amp;quot;&#039;&lt;br /&gt;
&lt;br /&gt;
The most generic escaping is to specify a hex value of the byte after a literal backslash and character &#039;x&#039;. This can be used for any character and is required for all non-printable characters which do not have an abbreviation. For example:&lt;br /&gt;
&lt;br /&gt;
  \x0C&lt;br /&gt;
&lt;br /&gt;
Serialized strings should only contain UTF-8 characters, so non-printable characters other than tab, newline, and carriage return should be avoided. However, common non-printable characters have short-hand abbreviations.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Notation abbreviations&lt;br /&gt;
! character !! value !! serialization&lt;br /&gt;
|-&lt;br /&gt;
| alert/bell ||  0x7 || \a&lt;br /&gt;
|-&lt;br /&gt;
| backspace || 0x8 || \b&lt;br /&gt;
|-&lt;br /&gt;
| form feed || 0xc || \f&lt;br /&gt;
|-&lt;br /&gt;
| newline || 0xa || \n&lt;br /&gt;
|-&lt;br /&gt;
| carriage return || 0xd || \r&lt;br /&gt;
|-&lt;br /&gt;
| horizontal tab || 0x9 || \t&lt;br /&gt;
|-&lt;br /&gt;
| vertical tab || 0xb || \v&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Example Notation Output ==&lt;br /&gt;
This is an excerpt from an agent request to enter a region serialized as notation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&#039;destination&#039;:&#039;http://secondlife.com&#039;}, &lt;br /&gt;
  {&#039;version&#039;:i1}, &lt;br /&gt;
  {&lt;br /&gt;
    &#039;agent_id&#039;:u3c115e51-04f4-523c-9fa6-98aff1034730, &lt;br /&gt;
    &#039;session_id&#039;:u2c585cec-038c-40b0-b42e-a25ebab4d132, &lt;br /&gt;
    &#039;circuit_code&#039;:i1075, &lt;br /&gt;
    &#039;first_name&#039;:&#039;Phoenix&#039;, &lt;br /&gt;
    &#039;last_name&#039;:&#039;Linden&#039;,&lt;br /&gt;
    &#039;position&#039;:[r70.9247,r254.378,r38.7304], &lt;br /&gt;
    &#039;look_at&#039;:[r-0.043753,r-0.999042,r0], &lt;br /&gt;
    &#039;granters&#039;:[ua2e76fcd-9360-4f6d-a924-000000000003],&lt;br /&gt;
    &#039;attachment_data&#039;:&lt;br /&gt;
    [&lt;br /&gt;
      {&lt;br /&gt;
        &#039;attachment_point&#039;:i2,&lt;br /&gt;
        &#039;item_id&#039;:ud6852c11-a74e-309a-0462-50533f1ef9b3,&lt;br /&gt;
        &#039;asset_id&#039;:uc69b29b1-8944-58ae-a7c5-2ca7b23e22fb&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &#039;attachment_point&#039;:i10, &lt;br /&gt;
        &#039;item_id&#039;:uff852c22-a74e-309a-0462-50533f1ef900,&lt;br /&gt;
        &#039;asset_id&#039;:u5868dd20-c25a-47bd-8b4c-dedc99ef9479&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &#039;creation-date&#039;:d&amp;quot;2007-03-15T18:30:18Z&amp;quot;, &lt;br /&gt;
    &#039;creator-id&#039;:u3c115e51-04f4-523c-9fa6-98aff1034730&lt;br /&gt;
  },&lt;br /&gt;
  s(10)&amp;quot;0123456789&amp;quot;,&lt;br /&gt;
  &amp;quot;Where&#039;s the beef?&amp;quot;,&lt;br /&gt;
  &#039;Over here.&#039;,  &lt;br /&gt;
  b(160)&amp;quot;default&lt;br /&gt;
{&lt;br /&gt;
    state_entry()&lt;br /&gt;
    {&lt;br /&gt;
        llSay(0, &amp;quot;Hello, Avatar!&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    touch_start(integer total_number)&lt;br /&gt;
    {&lt;br /&gt;
        llSay(0, &amp;quot;Touched.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&amp;quot;,&lt;br /&gt;
  b64&amp;quot;AABAAAAAAAAAAAIAAAA//wAAP/8AAADgAAAA5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&lt;br /&gt;
AABkAAAAZAAAAAAAAAAAAAAAZAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABQAAAAEAAAAQAAAAAAAA&lt;br /&gt;
AAUAAAAFAAAAABAAAAAAAAAAPgAAAAQAAAAFAGNbXgAAAABgSGVsbG8sIEF2YXRhciEAZgAAAABc&lt;br /&gt;
XgAAAAhwEQjRABeVAAAABQBjW14AAAAAYFRvdWNoZWQuAGYAAAAAXF4AAAAIcBEI0QAXAZUAAEAA&lt;br /&gt;
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&amp;quot; &lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Guidelines =&lt;br /&gt;
== XML Encoding ==&lt;br /&gt;
When possible, prefer using us-ascii or or UTF-8 xml encoding.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Questions &amp;amp; Things To Do ===&lt;br /&gt;
&lt;br /&gt;
Would Binary be more convenient as usigned char* buffer semantics?&lt;br /&gt;
&lt;br /&gt;
Should Binary be convertable to/from String, and if so how?&lt;br /&gt;
* as UTF8 encoded strings (making not like UUID&amp;lt;-&amp;gt;String)&lt;br /&gt;
* as Base64 or Base96 encoded (making like UUID&amp;lt;-&amp;gt;String)&lt;br /&gt;
&lt;br /&gt;
Conversions to std::string and LLUUID do not result in easy assignment to std::string, LLString or LLUUID due to non-unique conversion paths.&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Avatar_lad.xml&amp;diff=42653</id>
		<title>Avatar lad.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Avatar_lad.xml&amp;diff=42653"/>
		<updated>2007-12-01T21:13:11Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=skeleton=&lt;br /&gt;
* file_name - Points to another XML file containing the avatar skeleton definition&lt;br /&gt;
&lt;br /&gt;
==attachment_point==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* pie_slice - ?&lt;br /&gt;
* name - Name of the attachment point&lt;br /&gt;
* joint - Name of the joint this attachment point is connected to&lt;br /&gt;
* position - ?&lt;br /&gt;
* rotation - ?&lt;br /&gt;
* visible_in_first_person - ?&lt;br /&gt;
* max_attachment_offset - ?&lt;br /&gt;
&lt;br /&gt;
==param==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* name - Name of the parameter&lt;br /&gt;
* label - Parameter label&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order - ?&lt;br /&gt;
* label_min - ?&lt;br /&gt;
* label_max - ?&lt;br /&gt;
* show_simple - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
* camera_distance - ?&lt;br /&gt;
&lt;br /&gt;
===param_skeleton===&lt;br /&gt;
&lt;br /&gt;
====bone====&lt;br /&gt;
* name - ?&lt;br /&gt;
* scale - ?&lt;br /&gt;
&lt;br /&gt;
=mesh=&lt;br /&gt;
* type - ?&lt;br /&gt;
* lod - ?&lt;br /&gt;
* file_name - Points to a binary mesh file&lt;br /&gt;
* min_pixel_width - ?&lt;br /&gt;
* reference - ?&lt;br /&gt;
&lt;br /&gt;
==param==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* name - Parameter name&lt;br /&gt;
* label - Label of the parameter&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order -?&lt;br /&gt;
* label_min - ?&lt;br /&gt;
* label_max - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
* camera_elevation - ?&lt;br /&gt;
* camera_distance - ?&lt;br /&gt;
* camera_angle - ?&lt;br /&gt;
&lt;br /&gt;
===param_morph===&lt;br /&gt;
&lt;br /&gt;
====volume_morph====&lt;br /&gt;
* name - ?&lt;br /&gt;
* scale - ?&lt;br /&gt;
* pos - ?&lt;br /&gt;
&lt;br /&gt;
=global_color=&lt;br /&gt;
* name - Name of the colored area (skin_color, hair_color, eye_color)&lt;br /&gt;
&lt;br /&gt;
==param==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order - ?&lt;br /&gt;
* name - ?&lt;br /&gt;
* show_simple - ?&lt;br /&gt;
* label_min - ?&lt;br /&gt;
* label_max - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
* value_default - ?&lt;br /&gt;
&lt;br /&gt;
===param_color===&lt;br /&gt;
&lt;br /&gt;
====value====&lt;br /&gt;
* color - ?&lt;br /&gt;
&lt;br /&gt;
=layer_set=&lt;br /&gt;
* body_region - ?&lt;br /&gt;
* width - ?&lt;br /&gt;
* height - ?&lt;br /&gt;
* clear_alpha - ?&lt;br /&gt;
* alpha_tga_file - Points to a TGA file defining the alpha blending for this layer&lt;br /&gt;
&lt;br /&gt;
==layer==&lt;br /&gt;
* name - ?&lt;br /&gt;
* fixed_color - ?&lt;br /&gt;
* render_pass - ?&lt;br /&gt;
&lt;br /&gt;
===texture===&lt;br /&gt;
* tga_file - ?&lt;br /&gt;
* file_is_mask - ?&lt;br /&gt;
&lt;br /&gt;
===param===&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order - ?&lt;br /&gt;
* name - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
&lt;br /&gt;
====param_color====&lt;br /&gt;
=====value=====&lt;br /&gt;
* color - ?&lt;br /&gt;
&lt;br /&gt;
====param_alpha====&lt;br /&gt;
* domain - ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=driver_parameters=&lt;br /&gt;
&lt;br /&gt;
==param==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* name - ?&lt;br /&gt;
* label - ?&lt;br /&gt;
* show_simple - ?&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order - ?&lt;br /&gt;
* label_min - ?&lt;br /&gt;
* label_max - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
* camera_distance - ?&lt;br /&gt;
* camera_angle - ?&lt;br /&gt;
* camera_elevation - ?&lt;br /&gt;
&lt;br /&gt;
===param_driver===&lt;br /&gt;
&lt;br /&gt;
====driven====&lt;br /&gt;
* id - ?&lt;br /&gt;
* min1 - ?&lt;br /&gt;
* max1 - ?&lt;br /&gt;
* max2 - ?&lt;br /&gt;
* min2 - ?&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Avatar_lad.xml&amp;diff=42651</id>
		<title>Avatar lad.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Avatar_lad.xml&amp;diff=42651"/>
		<updated>2007-12-01T21:09:23Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Initial documentation skeleton for avatar_lad.xml&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=skeleton=&lt;br /&gt;
* file_name - Points to another XML file containing the avatar skeleton definition&lt;br /&gt;
&lt;br /&gt;
==attachment_point==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* pie_slice - ?&lt;br /&gt;
* name - Name of the attachment point&lt;br /&gt;
* joint - Name of the joint this attachment point is connected to&lt;br /&gt;
* position - ?&lt;br /&gt;
* rotation - ?&lt;br /&gt;
* visible_in_first_person - ?&lt;br /&gt;
* max_attachment_offset - ?&lt;br /&gt;
&lt;br /&gt;
==param==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* name - Name of the parameter&lt;br /&gt;
* label - Parameter label&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order - ?&lt;br /&gt;
* label_min - ?&lt;br /&gt;
* label_max - ?&lt;br /&gt;
* show_simple - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
* camera_distance - ?&lt;br /&gt;
&lt;br /&gt;
===param_skeleton===&lt;br /&gt;
&lt;br /&gt;
====bone====&lt;br /&gt;
* name - Bone name&lt;br /&gt;
* scale - ?&lt;br /&gt;
&lt;br /&gt;
=mesh=&lt;br /&gt;
* type - ?&lt;br /&gt;
* lod - ?&lt;br /&gt;
* file_name - Points to a binary mesh file&lt;br /&gt;
* min_pixel_width - ?&lt;br /&gt;
* reference - ?&lt;br /&gt;
&lt;br /&gt;
==param==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* name - Parameter name&lt;br /&gt;
* label - Label of the parameter&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order -?&lt;br /&gt;
* label_min - ?&lt;br /&gt;
* label_max - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
* camera_elevation - ?&lt;br /&gt;
* camera_distance - ?&lt;br /&gt;
* camera_angle - ?&lt;br /&gt;
&lt;br /&gt;
===param_morph===&lt;br /&gt;
&lt;br /&gt;
====volume_morph====&lt;br /&gt;
* name - ?&lt;br /&gt;
* scale - ?&lt;br /&gt;
* pos - ?&lt;br /&gt;
&lt;br /&gt;
=global_color=&lt;br /&gt;
* name - Name of the colored area (skin_color, hair_color, eye_color)&lt;br /&gt;
&lt;br /&gt;
==param==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order - ?&lt;br /&gt;
* name - ?&lt;br /&gt;
* show_simple - ?&lt;br /&gt;
* label_min - ?&lt;br /&gt;
* label_max - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
* value_default - ?&lt;br /&gt;
&lt;br /&gt;
===param_color===&lt;br /&gt;
&lt;br /&gt;
====value====&lt;br /&gt;
* color - ?&lt;br /&gt;
&lt;br /&gt;
=layer_set=&lt;br /&gt;
body_region=&amp;quot;head&amp;quot; width=&amp;quot;512&amp;quot; height=&amp;quot;512&amp;quot; clear_alpha=&amp;quot;false&amp;quot; alpha_tga_file=&amp;quot;head_alpha.tga&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==layer==&lt;br /&gt;
name=&amp;quot;head bump base&amp;quot; fixed_color=&amp;quot;128,128,128,255&amp;quot; render_pass=&amp;quot;bump&amp;quot; &lt;br /&gt;
&lt;br /&gt;
===texture===&lt;br /&gt;
tga_file=&amp;quot;bump_head_base.tga&amp;quot; file_is_mask=&amp;quot;FALSE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===param===&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order - ?&lt;br /&gt;
* name - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
&lt;br /&gt;
====param_color====&lt;br /&gt;
=====value=====&lt;br /&gt;
* color - ?&lt;br /&gt;
&lt;br /&gt;
====param_alpha====&lt;br /&gt;
* domain - ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=driver_parameters=&lt;br /&gt;
&lt;br /&gt;
==param==&lt;br /&gt;
* id - ?&lt;br /&gt;
* group - ?&lt;br /&gt;
* name - ?&lt;br /&gt;
* label - ?&lt;br /&gt;
* show_simple - ?&lt;br /&gt;
* wearable - ?&lt;br /&gt;
* edit_group - ?&lt;br /&gt;
* edit_group_order - ?&lt;br /&gt;
* label_min - ?&lt;br /&gt;
* label_max - ?&lt;br /&gt;
* value_min - ?&lt;br /&gt;
* value_max - ?&lt;br /&gt;
* camera_distance - ?&lt;br /&gt;
* camera_angle - ?&lt;br /&gt;
* camera_elevation - ?&lt;br /&gt;
&lt;br /&gt;
===param_driver===&lt;br /&gt;
&lt;br /&gt;
====driven====&lt;br /&gt;
* id - ?&lt;br /&gt;
* min1 - ?&lt;br /&gt;
* max1 - ?&lt;br /&gt;
* max2 - ?&lt;br /&gt;
* min2 - ?&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Current_login_protocols&amp;diff=41214</id>
		<title>Current login protocols</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Current_login_protocols&amp;diff=41214"/>
		<updated>2007-11-21T18:10:28Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: Updated the login parameters to what is used today on the grid&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Rationale==&lt;br /&gt;
&lt;br /&gt;
The current login involves sending an xmlrpc message to a Second Life login server and parsing the returned value.&lt;br /&gt;
&lt;br /&gt;
The login parameters are all &amp;quot;structs&amp;quot;: key, value pairs. All keys and values are simple key, value pairs, except the value associated with &amp;quot;options&amp;quot; which is an array of zero or more character strings. The order of the required structs doesn&#039;t seem to matter. Likewise, the character strings in the options array may appear in any order.&lt;br /&gt;
&lt;br /&gt;
The information on this page will eventually be superseded by [[Login_Protocol| new login protocols]], perhaps of the proposed form [[AWG_flows_login|found here]].&lt;br /&gt;
&lt;br /&gt;
== Conventions ==&lt;br /&gt;
&lt;br /&gt;
On this page the following conventions are used:&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;in quotes is a literal string&amp;quot;&lt;br /&gt;
:[ represents a list of choices | separated by a vertical bar ]&lt;br /&gt;
:&amp;lt; represents a value which can be substituted by an appropriate string described inside &amp;gt; &lt;br /&gt;
:&#039;represents a string that must be quoted, but how will be implementation specific&#039; for example in LSL &amp;quot;&amp;quot; denotes a string and &amp;quot; will be used in place of the single quote (&#039;).&lt;br /&gt;
:+ means to concatenate the two parts, though how will be implementation specific, for example + can be used to concatenate strings.&lt;br /&gt;
&lt;br /&gt;
==Required parameters==&lt;br /&gt;
The following explains the standard key value pairs, with an explanation of &amp;quot;options&amp;quot; at the end:&lt;br /&gt;
&lt;br /&gt;
:• &amp;quot;first&amp;quot;: &amp;lt;first&amp;gt; -- first name of the avatar.&lt;br /&gt;
:• &amp;quot;last&amp;quot;: &amp;lt;last&amp;gt; -- last name of the avatar.&lt;br /&gt;
:• &amp;quot;passwd&amp;quot;: &#039;$1$&#039; + &amp;lt;passwd_md5&amp;gt; -- the avatar password encrypted using MD5 encryption.&lt;br /&gt;
:• &amp;quot;start&amp;quot;: [&amp;quot;first&amp;quot; | &amp;quot;last&amp;quot; | &amp;lt;specific location&amp;gt; ] -- attempt to log in to this sim, though if it is full or not available, or the agent is not allowed, another sim will be selected by the grid from its list of choices. &amp;quot;First&amp;quot; means home location. If home is filled then the grid will try last. If last is filled and home is set, the grid will try home. In either case the last choice will be from a list of [[telehubs]]. For a log in to a specific location the format is &amp;lt;existing simulator&amp;gt;/&amp;lt;x&amp;gt;/&amp;lt;y&amp;gt;/&amp;lt;z&amp;gt; as in an [[SURL]].&lt;br /&gt;
:• &amp;quot;channel&amp;quot;: &amp;lt;channel name&amp;gt; -- the name of the client. Used to differentiate official viewers from third party clients.&lt;br /&gt;
:• &amp;quot;version&amp;quot;: &amp;lt;version string&amp;gt; -- version number of the client.&lt;br /&gt;
:• &amp;quot;platform&amp;quot;: [&amp;quot;Lin&amp;quot; | &amp;quot;Mac&amp;quot; | &amp;quot;Win&amp;quot;] -- the platform of the client. &lt;br /&gt;
:• &amp;quot;mac&amp;quot;: &amp;lt;MAC Address&amp;gt; -- the MAC address associated with the client&#039;s computer.&lt;br /&gt;
:• &amp;quot;options&amp;quot;: &amp;lt;optional_login&amp;gt; -- optional array of character strings. ([[Current_login_protocols#Optional Parameters|See below]])&lt;br /&gt;
:• &amp;quot;id0&amp;quot;: &amp;quot;00000000-0000-0000-0000-000000000000&amp;quot; -- hardware hash (based on the serial number of the first hard drive in Windows) used for uniquely identifying computers.&lt;br /&gt;
:• &amp;quot;agree_to_tos&amp;quot;: [&amp;quot;true&amp;quot; | &amp;quot;false&amp;quot; | &amp;quot;&amp;quot;] -- whether or not the user has agreed to the Terms of Service.&lt;br /&gt;
:• &amp;quot;read_critical&amp;quot;: [&amp;quot;true&amp;quot; | &amp;quot;false&amp;quot; | &amp;quot;&amp;quot;] -- whether or not the user has read important messages such as Terms of Service updates.&lt;br /&gt;
:• &amp;quot;viewer_digest&amp;quot;: &amp;quot;00000000-0000-0000-0000-000000000000&amp;quot; -- MD5 hash of the viewer executable, only relevant when the channel is set to an official Second Life viewer.&lt;br /&gt;
&lt;br /&gt;
==Optional Parameters==&lt;br /&gt;
Zero or more of the  following character strings may appear in any order in the array following the &amp;quot;options&amp;quot; keyword: &lt;br /&gt;
&lt;br /&gt;
:• &amp;quot;inventory-root&amp;quot; -- refers to the UUID of the root inventory folder in the client&#039;s inventory window&lt;br /&gt;
:• &amp;quot;inventory-skeleton&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;inventory-lib-root&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;inventory-lib-owner&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;inventory-skel-lib&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;gestures&amp;quot; -- refers to the list of UUIDs that an avatar will perform&lt;br /&gt;
:• &amp;quot;event_categories&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;event_notifications&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;classified_categories&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;buddy-list&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;ui-config&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;login-flags&amp;quot; -- unknown&lt;br /&gt;
:• &amp;quot;global-textures&amp;quot; unknown&lt;br /&gt;
&lt;br /&gt;
==Return Value==&lt;br /&gt;
The valid (non-error) value returned by the login call is in standard xmlrpc name, value format. The most important of these is the [[Current_login_protocols#Login_Seed-Capability|&amp;quot;Login Seed-Capability&amp;quot;]] discussed below (not to be confused with the new &amp;quot;seed capability&amp;quot; for the new login procedure):&lt;br /&gt;
&lt;br /&gt;
::Note: Values associated with the optional string parameters are preceded by a &amp;quot;*&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:• last_name: lastname&lt;br /&gt;
&lt;br /&gt;
:• sim_ip: 64.129.40.58&lt;br /&gt;
&lt;br /&gt;
:• login-flags: [{&#039;daylight_savings&#039;: &#039;N&#039;, &#039;stipend_since_login&#039;: &#039;N&#039;, &#039;gendered&#039;: &#039;Y&#039;, &#039;ever_logged_in&#039;: &#039;Y&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• inventory-lib-root: [{&#039;folder_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• event_categories: [{&#039;category_id&#039;: 18, &#039;category_name&#039;: &#039;Discussion&#039;}, {&#039;category_id&#039;: 19, &#039;category_name&#039;: &#039;Sports&#039;}, {&#039;category_id&#039;: 20, &#039;category_name&#039;: &#039;Live Music&#039;}, {&#039;category_id&#039;: 22, &#039;category_name&#039;: &#039;Commercial&#039;}, {&#039;category_id&#039;: 23, &#039;category_name&#039;: &#039;Nightlife/Entertainment&#039;}, {&#039;category_id&#039;: 24, &#039;category_name&#039;: &#039;Games/Contests&#039;}, {&#039;category_id&#039;: 25, &#039;category_name&#039;: &#039;Pageants&#039;}, {&#039;category_id&#039;: 26, &#039;category_name&#039;: &#039;Education&#039;}, {&#039;category_id&#039;: 27, &#039;category_name&#039;: &#039;Arts and Culture&#039;}, {&#039;category_id&#039;: 28, &#039;category_name&#039;: &#039;Charity/Support Groups&#039;}, {&#039;category_id&#039;: 29, &#039;category_name&#039;: &#039;Miscellaneous&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• inventory-lib-owner: [{&#039;agent_id&#039;: &#039;ba2a564a-f0f1-4b82-9c61-b7520bfcd09f&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• start_location: last&lt;br /&gt;
&lt;br /&gt;
:• seconds_since_epoch: 1195447316&lt;br /&gt;
&lt;br /&gt;
:• message: -=- http://blog.secondlife.com -=- Visit the Official Linden Blog for the latest world status updates!&lt;br /&gt;
&lt;br /&gt;
:• first_name: first_name&lt;br /&gt;
&lt;br /&gt;
:• inventory-skeleton: [{&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 6, &#039;name&#039;: &#039;Calling Cards&#039;, &#039;type_default&#039;: 2, &#039;folder_id&#039;: &#039;072ce32a-e091-42d4-ae23-251553011f8b&#039;}, {&#039;parent_id&#039;: &#039;a78d58ec-a457-45f2-bec2-090a9f031dc2&#039;, &#039;version&#039;: 13, &#039;name&#039;: &#039;Male Gestures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;0d77a3c2-fbba-5172-bd23-cec8735fb029&#039;}, {&#039;parent_id&#039;: &#039;a78d58ec-a457-45f2-bec2-090a9f031dc2&#039;, &#039;version&#039;: 28, &#039;name&#039;: &#039;Common Gestures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;1be3f1d4-4db4-9849-8c5f-7d54d6866f93&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 7, &#039;name&#039;: &#039;Body Parts&#039;, &#039;type_default&#039;: 13, &#039;folder_id&#039;: &#039;2271d4db-9254-49de-b544-d66eb1efd19a&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Notecards&#039;, &#039;type_default&#039;: 7, &#039;folder_id&#039;: &#039;2e706667-00c6-4a9a-95f1-83c65a08f893&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 8, &#039;name&#039;: &#039;Clothing&#039;, &#039;type_default&#039;: 5, &#039;folder_id&#039;: &#039;3cbf18ff-ed8d-4e1b-ba25-9ee1&lt;br /&gt;
e4225b04&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Scripts&#039;, &#039;type_default&#039;: 10, &#039;folder_id&#039;: &#039;494154ea-ddc6-433d-a512-06a102218566&#039;}, {&#039;parent_id&#039;: &#039;00000000-0000-0000-0000-000000000000&#039;, &#039;version&#039;: 2, &#039;name&#039;: &#039;My Inventory&#039;, &#039;type_default&#039;: 8, &#039;folder_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Photo Album&#039;, &#039;type_default&#039;: 15, &#039;folder_id&#039;: &#039;551c87dd-8479-4129-985e-ad5b3a956807&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 8, &#039;name&#039;: &#039;Landmarks&#039;, &#039;type_default&#039;: 3, &#039;folder_id&#039;: &#039;7036e1f1-f45d-4dbf-9953-7fd039aaf372&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Sounds&#039;, &#039;type_default&#039;: 1, &#039;folder_id&#039;: &#039;854ad656-888d-4072-b21c-9f81ad4b573a&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Lost And Found&#039;, &#039;type_default&#039;: 16, &#039;folder_id&#039;: &#039;8af1b224-c0d4-4062-a57e-ceaa0b80739a&#039;}, {&#039;parent&lt;br /&gt;
_id&#039;: &#039;3cbf18ff-ed8d-4e1b-ba25-9ee1e4225b04&#039;, &#039;version&#039;: 45, &#039;name&#039;: &#039;Male Shape &amp;amp; Outfit&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;95da8586-07f4-1113-56c7-ae3c2f3fa0b7&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 3, &#039;name&#039;: &#039;Gestures&#039;, &#039;type_default&#039;: 21, &#039;folder_id&#039;: &#039;a78d58ec-a457-45f2-bec2-090a9f031dc2&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 29, &#039;name&#039;: &#039;Objects&#039;, &#039;type_default&#039;: 6, &#039;folder_id&#039;: &#039;aa8915e6-f0ea-4679-9c7a-d28f5eee2b22&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Animations&#039;, &#039;type_default&#039;: 20, &#039;folder_id&#039;: &#039;bb4aa79e-0cd0-4284-bf77-321332d62739&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Trash&#039;, &#039;type_default&#039;: 14, &#039;folder_id&#039;: &#039;e87e122f-8155-bf41-3a84-ad7614737b05&#039;}, {&#039;parent_id&#039;: &#039;3cbf18ff-ed8d-4e1b-ba25-9ee1e4225b04&#039;, &#039;version&#039;: 22, &#039;name&#039;: &#039;sai&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;eef687d0-7493-3139-1644-1fe676e7fb86&#039;}, {&#039;parent_id&#039;: &#039;547448bd-4b66-4&lt;br /&gt;
bc9-bb87-2dc5c7a1fa8b&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Textures&#039;, &#039;type_default&#039;: 0, &#039;folder_id&#039;: &#039;f8e3725c-a294-4fce-842e-27e1b830c32b&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• circuit_code: 245160577&lt;br /&gt;
&lt;br /&gt;
:• sim_port: 13005&lt;br /&gt;
&lt;br /&gt;
:• buddy-list: [{&#039;buddy_id&#039;: &#039;3163a2e6-0be1-4660-8412-61345692f55e&#039;, &#039;buddy_rights_given&#039;: 1, &#039;buddy_rights_has&#039;: 1}, {&#039;buddy_id&#039;: &#039;5b20e809-4ec4-47e2-9141-83bf7878afa7&#039;, &#039;buddy_rights_given&#039;: 1, &#039;buddy_rights_has&#039;: 1}, {&#039;buddy_id&#039;: &#039;aaabdfb6-8438-4485-b98c-20b6416d0a69&#039;, &#039;buddy_rights_given&#039;: 1, &#039;buddy_rights_has&#039;: 1}, {&#039;buddy_id&#039;: &#039;b3ff9eb4-ca7d-4dae-bd3c-bfbed6e3fbac&#039;, &#039;buddy_rights_given&#039;: 1, &#039;buddy_rights_has&#039;: 1}, {&#039;buddy_id&#039;: &#039;eeaedeb6-c702-472a-b725-e4492095c69a&#039;, &#039;buddy_rights_given&#039;: 1, &#039;buddy_rights_has&#039;: 1}]&lt;br /&gt;
&lt;br /&gt;
:• inventory-skel-lib: [{&#039;parent_id&#039;: &#039;5b064c39-607c-2ced-d5d4-a124a267bbb7&#039;, &#039;version&#039;: 2, &#039;name&#039;: &#039;Sculpt Textures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;00a9afce-5661-a7a0-c9b6-a79ebc0aaa91&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 11, &#039;name&#039;: &#039;Misc Textures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;089ea65b-4ecf-f16d-1290-95d36588b80d&#039;}, {&#039;parent_id&#039;: &#039;c9ea5076-9334-d847-f072-1cf56a1d52d8&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Irish Lass&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;15cafc5d-b7f9-75ad-938a-49aebd99c27c&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Atoll continent stuff&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;1a189e4c-71df-be20-f67d-93eea2170b09&#039;}, {&#039;parent_id&#039;: &#039;2e4ded39-d0d7-87fb-27e9-ca1bd01fd6c0&#039;, &#039;version&#039;: 69, &#039;name&#039;: &#039;Other Gestures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;1ace1c79-4125-fcbe-bf02-cf84514e0f78&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Animations&#039;, &#039;type_default&#039;: 20, &#039;folder_id&#039;: &#039;1b80d6c4-9&lt;br /&gt;
64f-bece-8b2d-f8af13fb4915&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 6, &#039;name&#039;: &#039;Body Parts&#039;, &#039;type_default&#039;: 13, &#039;folder_id&#039;: &#039;1bfc19fc-6a63-3dd6-ad50-161711941610&#039;}, {&#039;parent_id&#039;: &#039;00000000-0000-0000-0000-000000000000&#039;, &#039;version&#039;: 92, &#039;name&#039;: &#039;Library&#039;, &#039;type_default&#039;: 8, &#039;folder_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 16, &#039;name&#039;: &#039;Female Shape &amp;amp; Outfit&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;1c7e4cf3-675d-97a5-7ea6-6c61e99e4a25&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 9, &#039;name&#039;: &#039;Landscaping&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;1d92e88c-698b-1493-2d67-39e59536bd04&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Road Textures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;1e986366-0cb1-c557-7784-914dfe334bc3&#039;}, {&#039;parent_id&#039;: &#039;1bfc19fc-6a63-3dd6-ad50-161711941610&#039;, &#039;version&#039;: 1, &#039;name&#039;: &amp;quot;Hair - Women&#039;s&amp;quot;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;1f10e3f5-&lt;br /&gt;
ed21-49f0-5eb7-c8e47f4e556d&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Nightclub Female&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;21617ba6-3be6-ae19-5bea-187271ba98e6&#039;}, {&#039;parent_id&#039;: &#039;c9ea5076-9334-d847-f072-1cf56a1d52d8&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Ruth&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;223e8dee-a7ce-ee79-6755-09c210ea6a73&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Cybergoth Female&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;22bd7b4e-b32d-91a3-cd69-e50ed03ce4d8&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Business&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;240942f6-362d-59c3-412c-776e0e09c9af&#039;}, {&#039;parent_id&#039;: &#039;68b1584f-bad8-6594-0dcb-3da2471c0ae2&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Particle System&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;257acf7b-fc86-f4ef-8244-38245d609918&#039;}, {&#039;parent_id&#039;: &#039;9732c8e2-3188-1e04-d0cf-6fe957ea4979&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Terrain Textures - Islands&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;&lt;br /&gt;
269c4fca-c0fb-a765-2f2c-a2e09dfb4b32&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Telehubs&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;299124cf-b626-f13e-edb8-df6debc5e25a&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Dominos&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;2b28a8dc-6ced-600b-6158-26171a7b44ad&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Sounds&#039;, &#039;type_default&#039;: 1, &#039;folder_id&#039;: &#039;2bb04b35-a411-1682-85f1-ef97c0ab5621&#039;}, {&#039;parent_id&#039;: &#039;c9ea5076-9334-d847-f072-1cf56a1d52d8&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Little Red Riding Hood&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;2dd24596-8706-1771-a383-865bcd82cfa4&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 8, &#039;name&#039;: &#039;Gestures&#039;, &#039;type_default&#039;: 21, &#039;folder_id&#039;: &#039;2e4ded39-d0d7-87fb-27e9-ca1bd01fd6c0&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;City Chic Female&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;3092d8ff-0&lt;br /&gt;
d06-64b6-84b2-814e59523d81&#039;}, {&#039;parent_id&#039;: &#039;5b064c39-607c-2ced-d5d4-a124a267bbb7&#039;, &#039;version&#039;: 3, &#039;name&#039;: &#039;Surface Textures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;311caaa4-5a1c-235a-5e1f-5e395bef71bc&#039;}, {&#039;parent_id&#039;: &#039;c9ea5076-9334-d847-f072-1cf56a1d52d8&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Groupie Chick&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;31919c06-855f-509f-cd92-2588229593f4&#039;}, {&#039;parent_id&#039;: &#039;2e4ded39-d0d7-87fb-27e9-ca1bd01fd6c0&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Male Gestures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;3550b164-9362-46b8-d377-f0064c8db3b8&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 23, &#039;name&#039;: &#039;Floor Tile&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;38fc02ce-9a62-8f80-2dc6-1caaa92f52be&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;City Chic Male&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;41743b67-6cde-5496-6be4-4751c684f715&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 19, &#039;name&#039;: &#039;Sculpt Prims - Examples&#039;, &#039;type_default&#039;: -1, &#039;folder_i&lt;br /&gt;
d&#039;: &#039;4341aa8e-970f-cd33-51fb-4cb5b02dd387&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Goth Female&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;4ffd5f38-5c7a-3a73-505f-3575951d5240&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 87, &#039;name&#039;: &#039;Clothing&#039;, &#039;type_default&#039;: 5, &#039;folder_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;}, {&#039;parent_id&#039;: &#039;1bfc19fc-6a63-3dd6-ad50-161711941610&#039;, &#039;version&#039;: 1, &#039;name&#039;: &amp;quot;Hair - Men&#039;s&amp;quot;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;5603b09d-0579-b03a-6f5c-d5208e79415e&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 13, &#039;name&#039;: &#039;Dirt, Sand, Ground&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;579b4127-d7df-c8bf-bb73-811a618661db&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 31, &#039;name&#039;: &#039;Atoll Textures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;588a92f7-1b3c-ff87-15cd-9045c3862d52&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 17, &#039;name&#039;: &#039;Wallpaper&#039;, &#039;type_default&#039;: -1, &#039;folder_id&lt;br /&gt;
&#039;: &#039;58f5cec2-8392-ac4c-c453-cb2dee1241bb&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Sculpt Textures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;5b064c39-607c-2ced-d5d4-a124a267bbb7&#039;}, {&#039;parent_id&#039;: &#039;c9ea5076-9334-d847-f072-1cf56a1d52d8&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Fireman&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;5c096e4e-4a41-a4ee-cf4f-e07825ea4669&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Household&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;5df84333-610d-1737-eb9d-e64f873bc91c&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Female Shape &amp;amp; Outfit 3&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;631ea3c6-db9a-952c-4248-9ff1b756e7ca&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 151, &#039;name&#039;: &#039;Objects&#039;, &#039;type_default&#039;: 6, &#039;folder_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 78, &#039;name&#039;: &#039;Fabric&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;66f&lt;br /&gt;
abba2-ecae-bd3d-d426-8bdcd145c01c&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 10, &#039;name&#039;: &#039;Wood&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;677ede83-2384-1d86-2b1f-29744dc216a6&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Waterfalls&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;68b1584f-bad8-6594-0dcb-3da2471c0ae2&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 51, &#039;name&#039;: &#039;Avatar Body and Clothing Templates&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;6d83a4c1-98af-8912-3154-6028a4137467&#039;}, {&#039;parent_id&#039;: &#039;2bb04b35-a411-1682-85f1-ef97c0ab5621&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Gesture sounds&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;744aa72b-eb07-02ed-b344-0f81a16f073a&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Nightclub Male&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;7f16b6a5-0958-3244-d90a-82def97efd57&#039;}, {&#039;parent_id&#039;: &#039;9732c8e2-3188-1e04-d0cf-6fe957ea4979&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Terrain Textures - Default Set&#039;, &#039;type&lt;br /&gt;
_default&#039;: -1, &#039;folder_id&#039;: &#039;809d37d7-9a9a-da85-08ea-254ba338bf3b&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 3, &#039;name&#039;: &#039;Orientation stations w/ notecards&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;8100d5db-cb56-bc75-0710-aa6b6e1ae162&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 7, &#039;name&#039;: &#039;Furry Male Outfit&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;8166a9cc-443d-c43e-f7af-f3c627b40036&#039;}, {&#039;parent_id&#039;: &#039;2e4ded39-d0d7-87fb-27e9-ca1bd01fd6c0&#039;, &#039;version&#039;: 37, &#039;name&#039;: &#039;Common Gestures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;86814812-7bce-bc61-2c33-d508ca7b8dcd&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 16, &#039;name&#039;: &#039;Landmarks&#039;, &#039;type_default&#039;: 3, &#039;folder_id&#039;: &#039;88ede071-ba7c-8288-5f1d-4cbb202117a5&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Hair Textures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;8bdc580f-d8e5-0cc8-a125-e4d1eda19c27&#039;}, {&#039;parent_id&#039;: &#039;9732c8e2-3188-1e04-d0cf-6fe957ea4979&#039;, &#039;version&#039;: 1, &#039;name&lt;br /&gt;
&#039;: &#039;Terrain Textures - NW Coastal&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;90c11ca9-fea3-58a2-72ad-07abeab0752e&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 8, &#039;name&#039;: &#039;Furry Female Outfit&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;964ef3b2-ff95-3f5f-f741-a5a093582b33&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 6, &#039;name&#039;: &#039;Terrain Textures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;9732c8e2-3188-1e04-d0cf-6fe957ea4979&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 10, &#039;name&#039;: &#039;Male Shape &amp;amp; Outfit&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;9b6dfef7-544d-bc06-c29a-32635c929396&#039;}, {&#039;parent_id&#039;: &#039;9732c8e2-3188-1e04-d0cf-6fe957ea4979&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Atoll terrain textures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;a18b5df1-f967-084d-f680-82b501018b1c&#039;}, {&#039;parent_id&#039;: &#039;2e4ded39-d0d7-87fb-27e9-ca1bd01fd6c0&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Female Gestures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;a3cb2e10-cf0a-8bf5-e495-16f1c4e2c30b&#039;}, {&#039;parent_id&#039;: &#039;68b1584f-bad8&lt;br /&gt;
-6594-0dcb-3da2471c0ae2&#039;, &#039;version&#039;: 6, &#039;name&#039;: &#039;Particle System&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;a5012dce-abfd-8f90-ef84-61c79552054a&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 9, &#039;name&#039;: &#039;Accessories&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;abdace20-c471-df45-e6f8-731df6454547&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 270, &#039;name&#039;: &#039;Textures&#039;, &#039;type_default&#039;: 0, &#039;folder_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Male Shape &amp;amp; Outfit 3&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;b0529a99-bd7d-f75c-e982-a691f50fdf3d&#039;}, {&#039;parent_id&#039;: &#039;9732c8e2-3188-1e04-d0cf-6fe957ea4979&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Terrain Textures - Winter&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;be1efbab-4aec-686f-9740-20bc7ffab541&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Cybergoth Male&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;be5a13e9-4d1b-745e-5144-b46550317e84&#039;}, {&#039;parent_&lt;br /&gt;
id&#039;: &#039;9732c8e2-3188-1e04-d0cf-6fe957ea4979&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Terrain Textures - Primitive Island&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;c1b1d0cd-87a3-aafb-e0e7-681bafddd66e&#039;}, {&#039;parent_id&#039;: &#039;c9ea5076-9334-d847-f072-1cf56a1d52d8&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Prince Charming&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;c6d679a4-9cee-0bb7-17c1-fe94f1e701db&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 5, &#039;name&#039;: &#039;More Outfits&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;c9ea5076-9334-d847-f072-1cf56a1d52d8&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 5, &#039;name&#039;: &#039;Trees, plants and grasses&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;cd29debb-868e-35c8-41a2-93594c54d772&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Goth Male&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;d05cd8f5-381e-fd60-8778-4d2974219319&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 6, &#039;name&#039;: &#039;Harajuku Female&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;d0a747f1-f7c3-&lt;br /&gt;
8c0c-be12-20df046f2277&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 20, &#039;name&#039;: &#039;Buildings&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;d6666744-7931-9888-027f-61f90186eb1e&#039;}, {&#039;parent_id&#039;: &#039;c9ea5076-9334-d847-f072-1cf56a1d52d8&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Gi&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;d902ac38-479c-245b-22f0-fdc3ea2ffcd0&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 26, &#039;name&#039;: &#039;Notecards&#039;, &#039;type_default&#039;: 7, &#039;folder_id&#039;: &#039;dc306e42-78b7-8e3c-e8d0-69aad9a9f39b&#039;}, {&#039;parent_id&#039;: &#039;51ba6e1b-e503-9b98-d9df-b0664d5457d6&#039;, &#039;version&#039;: 3, &#039;name&#039;: &#039;Harajuku Male&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;e09c947b-0a2a-c383-d55a-68f93ec9d4f2&#039;}, {&#039;parent_id&#039;: &#039;6371a71c-7fc2-c38f-f87c-f0933868fd73&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Walkways&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;e7b66ed2-a8ce-3e59-1f3e-83788e1fe866&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 24, &#039;name&#039;: &#039;Photo Album&#039;, &#039;type_default&#039;: 15, &#039;folder_id&#039;: &#039;eb2010ea-1f78-a93b-ae89-217345b47fd1&lt;br /&gt;
&#039;}, {&#039;parent_id&#039;: &#039;afd25620-d379-4c16-ed03-b4a18967472c&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Rock&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;ede89e78-9eed-d4a4-c320-2db92649eba5&#039;}, {&#039;parent_id&#039;: &#039;1c7a7fd0-104e-a8b1-51c6-32ea9b08e38b&#039;, &#039;version&#039;: 1, &#039;name&#039;: &#039;Scripts&#039;, &#039;type_default&#039;: 10, &#039;folder_id&#039;: &#039;f7cfde4d-3b16-54b3-2169-72d390d1065e&#039;}, {&#039;parent_id&#039;: &#039;2e4ded39-d0d7-87fb-27e9-ca1bd01fd6c0&#039;, &#039;version&#039;: 4, &#039;name&#039;: &#039;Speech Gestures&#039;, &#039;type_default&#039;: -1, &#039;folder_id&#039;: &#039;fd05f2bf-5d8a-ffb3-40d4-48a9b9084c3c&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• secure_session_id: fdb501ca-22f1-4470-b515-2650f54b8117&lt;br /&gt;
&lt;br /&gt;
:• look_at: [r-0.85717299999999996274,r0.51502899999999995906,r0]&lt;br /&gt;
&lt;br /&gt;
:• classified_categories: [{&#039;category_id&#039;: 1, &#039;category_name&#039;: &#039;Shopping&#039;}, {&#039;category_id&#039;: 2, &#039;category_name&#039;: &#039;Land Rental&#039;}, {&#039;category_id&#039;: 3, &#039;category_name&#039;: &#039;Property Rental&#039;}, {&#039;category_id&#039;: 4, &#039;category_name&#039;: &#039;Special Attraction&#039;}, {&#039;category_id&#039;: 5, &#039;category_name&#039;: &#039;New Products&#039;}, {&#039;category_id&#039;: 6, &#039;category_name&#039;: &#039;Employment&#039;}, {&#039;category_id&#039;: 7, &#039;category_name&#039;: &#039;Wanted&#039;}, {&#039;category_id&#039;: 8, &#039;category_name&#039;: &#039;Service&#039;}, {&#039;category_id&#039;: 9, &#039;category_name&#039;: &#039;Personal&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• gestures: [{&#039;asset_id&#039;: &#039;43417d10-a2f7-7727-6fd4-dd7f04ad7a13&#039;, &#039;item_id&#039;: &#039;0405171b-190e-6e35-dedb-8be1eddfe609&#039;}, {&#039;asset_id&#039;: &#039;af2b8320-e579-2c41-b717-969759aeb3ca&#039;, &#039;item_id&#039;: &#039;06d995f7-8184-d4c8-51d2-f99faadf6dd3&#039;}, {&#039;asset_id&#039;: &#039;40b92916-8055-2562-008f-58924bd0e03c&#039;, &#039;item_id&#039;: &#039;0ff437b5-4362-814e-7759-b2cdac564afd&#039;}, {&#039;asset_id&#039;: &#039;76f7ced2-4f91-31c8-ff7d-e76b19abfa40&#039;, &#039;item_id&#039;: &#039;220fef18-4ab8-2575-f6c1-af3f0d8160f8&#039;}, {&#039;asset_id&#039;: &#039;fb262981-4295-f048-c280-629081bf3b6b&#039;, &#039;item_id&#039;: &#039;2628556d-57b0-3a26-fa79-b517ef16192f&#039;}, {&#039;asset_id&#039;: &#039;6212ffdd-d447-a92f-18f3-8cb94a799d83&#039;, &#039;item_id&#039;: &#039;347dc0a9-4272-399b-450e-15d4d78c52d6&#039;}, {&#039;asset_id&#039;: &#039;c63ac707-6325-14c8-d681-54b81d0dff77&#039;, &#039;item_id&#039;: &#039;34f897bf-8922-1e8c-fdac-98a0f5a9eb0b&#039;}, {&#039;asset_id&#039;: &#039;d918a0d8-7291-ce83-762f-3f68dcc7402d&#039;, &#039;item_id&#039;: &#039;37e5c513-149a-1a0a-ef47-c831548a30dd&#039;}, {&#039;asset_id&#039;: &#039;dbd054f1-132b-cc22-e46a-bad83c230c91&#039;, &#039;item_id&#039;: &#039;3db7f1b9-b1f9-9fd2-3f65-d3e21d24b58c&#039;}, {&#039;asset_id&#039;: &#039;0247dbfa-f37e-64ab-d09f-267888&lt;br /&gt;
4c7f4a&#039;, &#039;item_id&#039;: &#039;3e65ec68-bdba-af60-d798-841a075cf17f&#039;}, {&#039;asset_id&#039;: &#039;5a68100b-e6ba-5170-649c-80beddc67035&#039;, &#039;item_id&#039;: &#039;44bf7318-21f4-32ad-d185-4e49e1a321de&#039;}, {&#039;asset_id&#039;: &#039;865c5fe0-aafb-671a-8ad5-778beb24b6f8&#039;, &#039;item_id&#039;: &#039;47a5b60f-0a2e-fda6-4bf4-1ff4566cf16a&#039;}, {&#039;asset_id&#039;: &#039;ea9ab69b-c2c7-3e18-a50b-37a9cfe457cd&#039;, &#039;item_id&#039;: &#039;49b0ef41-9a33-067b-e9b7-dd2623db29eb&#039;}, {&#039;asset_id&#039;: &#039;8868cfa3-5b82-97ab-dc38-ded906f7fd90&#039;, &#039;item_id&#039;: &#039;634264c1-e98e-09a8-4782-c94bd2860c49&#039;}, {&#039;asset_id&#039;: &#039;0401dc30-0fdd-1fc3-3e51-c683fe117184&#039;, &#039;item_id&#039;: &#039;640b7215-02a9-e514-52c5-82a142f2e905&#039;}, {&#039;asset_id&#039;: &#039;00b48fa0-ac43-fadf-d061-6b726a24a90a&#039;, &#039;item_id&#039;: &#039;680923c5-100c-36b7-c644-c0d7a05913a0&#039;}, {&#039;asset_id&#039;: &#039;52d9684f-2dcf-c252-2360-186b4236d07e&#039;, &#039;item_id&#039;: &#039;6a972484-7490-fe5c-e526-ba75c111e37c&#039;}, {&#039;asset_id&#039;: &#039;8b753e16-bd7d-2bb3-7765-671b7b31e77c&#039;, &#039;item_id&#039;: &#039;6e548cd2-9c74-6112-ef7c-fdc38db91770&#039;}, {&#039;asset_id&#039;: &#039;f2483d55-bc31-38c0-65b2-9f7e87fce5c4&#039;, &#039;item_id&#039;: &#039;7d65f0e3-1fd9-c81f-a61e-5de356f0eb&lt;br /&gt;
47&#039;}, {&#039;asset_id&#039;: &#039;0eeb5ef7-10dd-4e4a-11a5-d053011fcdf2&#039;, &#039;item_id&#039;: &#039;7e783987-2367-5276-bd27-78ac2667fef9&#039;}, {&#039;asset_id&#039;: &#039;4b30f435-499f-32fe-f2a0-7e7bce8d881d&#039;, &#039;item_id&#039;: &#039;7f05c4bf-a75c-847a-c018-bca16800b400&#039;}, {&#039;asset_id&#039;: &#039;aca78492-0487-03ec-4eb5-5c8e76c837e1&#039;, &#039;item_id&#039;: &#039;7fffb1ef-38b5-82da-3076-4e9c0f443b2e&#039;}, {&#039;asset_id&#039;: &#039;76d30ee1-c369-12ec-8dbc-9cf2f51120ff&#039;, &#039;item_id&#039;: &#039;80f8c94a-a2d2-01eb-32bd-4cf1fe830383&#039;}, {&#039;asset_id&#039;: &#039;0813d01a-d3d3-32a4-48a3-26b6e1e01e39&#039;, &#039;item_id&#039;: &#039;83c4e26a-99e2-8f5e-1763-033a3a55d4f1&#039;}, {&#039;asset_id&#039;: &#039;fc3de4b8-bd3e-662b-934c-b72714dab5bf&#039;, &#039;item_id&#039;: &#039;88754d75-93c6-c8e6-5fe8-7b9421b977b3&#039;}, {&#039;asset_id&#039;: &#039;b5ea617e-47cf-612b-2d99-8c6f6dcac218&#039;, &#039;item_id&#039;: &#039;9148e1eb-e00c-2ef2-8bde-c3906baf885c&#039;}, {&#039;asset_id&#039;: &#039;a6a09cb1-0845-5ec0-051e-16bb79b30ddf&#039;, &#039;item_id&#039;: &#039;97484726-f41d-9108-7678-93ba974d81c7&#039;}, {&#039;asset_id&#039;: &#039;ba38eeb2-d35f-0a07-0c04-0eb42fcc6010&#039;, &#039;item_id&#039;: &#039;9ac86c71-c02b-ed95-6577-36eee67b7b73&#039;}, {&#039;asset_id&#039;: &#039;b57c996d-cb06-43c8-749d-e9ce361f172&lt;br /&gt;
e&#039;, &#039;item_id&#039;: &#039;9bbbb8a1-2c75-87de-beed-eb15f5d74294&#039;}, {&#039;asset_id&#039;: &#039;0a3336cf-3ad1-012a-91c2-5b5620aaaef3&#039;, &#039;item_id&#039;: &#039;9bc6a34e-50a0-2248-2717-8a5524910ad0&#039;}, {&#039;asset_id&#039;: &#039;1910ffbd-096c-5eb7-19f5-8c99ab6a748c&#039;, &#039;item_id&#039;: &#039;a6087696-9d56-e1c6-eca2-8bacdbf71e3c&#039;}, {&#039;asset_id&#039;: &#039;04608b19-1668-399c-5790-b7df8d9dc9cf&#039;, &#039;item_id&#039;: &#039;a9d1a261-9632-6920-c0d7-2b3dfd9442c0&#039;}, {&#039;asset_id&#039;: &#039;66ecd9bd-22e1-2633-f41e-ad1a38205662&#039;, &#039;item_id&#039;: &#039;ada896bc-52ae-f237-2a75-4e75179cceb1&#039;}, {&#039;asset_id&#039;: &#039;e7584536-86f2-c962-405d-d14adff71f38&#039;, &#039;item_id&#039;: &#039;adc59624-b875-de11-2bfe-236a2c610b8f&#039;}, {&#039;asset_id&#039;: &#039;97c5742d-1d74-9408-2bae-9738a9e9d084&#039;, &#039;item_id&#039;: &#039;b1342b43-060d-492c-41a6-be0439839564&#039;}, {&#039;asset_id&#039;: &#039;44a87e64-2d78-14b7-1cde-ac0f5031621f&#039;, &#039;item_id&#039;: &#039;c5853f4c-855f-4013-ce92-aabc59f1b9d8&#039;}, {&#039;asset_id&#039;: &#039;2d03fd78-92fc-ca52-aabb-a4904e1339d1&#039;, &#039;item_id&#039;: &#039;e6fe4144-926c-ef17-c009-93227c7b159a&#039;}, {&#039;asset_id&#039;: &#039;b6f560d1-e2ad-24df-344c-2943c47a6775&#039;, &#039;item_id&#039;: &#039;f6f78510-02e7-526c-b35d-53cfd0b30361&#039;},&lt;br /&gt;
 {&#039;asset_id&#039;: &#039;fa743da9-7e6e-d88e-3e4f-143dcb4fc01b&#039;, &#039;item_id&#039;: &#039;f92824f0-8129-b36d-f5b2-652762433e0a&#039;}, {&#039;asset_id&#039;: &#039;0ce71257-7a07-257f-f023-fd68575a3a4e&#039;, &#039;item_id&#039;: &#039;fa184fed-6946-ec33-5fef-bcea29e2c8d7&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• inventory-root: [{&#039;folder_id&#039;: &#039;547448bd-4b66-4bc9-bb87-2dc5c7a1fa8b&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• agent_id: d5f403c7-7981-425d-a0b5-c65a3d0a4693&lt;br /&gt;
&lt;br /&gt;
:• inventory_host: inv12-mysql&lt;br /&gt;
&lt;br /&gt;
:• ui-config: [{&#039;allow_first_life&#039;: &#039;Y&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• global-textures: [{&#039;sun_texture_id&#039;: &#039;cce0f112-878f-4586-a2e2-a8f104bba271&#039;, &#039;cloud_texture_id&#039;: &#039;fc4b9f0b-d008-45c6-96a4-01dd947ac621&#039;, &#039;moon_texture_id&#039;: &#039;d07f6eed-b96a-47cd-b51d-400ad4a1c428&#039;}]&lt;br /&gt;
&lt;br /&gt;
:• region_y: 244992&lt;br /&gt;
&lt;br /&gt;
:• region_x: 247808&lt;br /&gt;
&lt;br /&gt;
:• seed_capability: https://sim2054.agni.lindenlab.com:12043/cap/d373fdc9-d275-e484-3ad2-4a9b231f4e34&lt;br /&gt;
&lt;br /&gt;
:• agent_access: M&lt;br /&gt;
&lt;br /&gt;
:• session_id: 65a7213a-723a-4fcf-baca-7b247c4b43c5&lt;br /&gt;
&lt;br /&gt;
:• event_notifications: []&lt;br /&gt;
&lt;br /&gt;
:• login: true&lt;br /&gt;
&lt;br /&gt;
==Login Seed-Capability==&lt;br /&gt;
&lt;br /&gt;
The current Login Seed-Capability is a [[Capability|Capability]] associated with the login sim. It should not be confused with the [[Seed-Capability|Seed-Capability]] proposed for the new protocols.&lt;br /&gt;
&lt;br /&gt;
See [[Current_Sim_Capabilities|Current Sim Capabilities]] for more info.&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
&lt;br /&gt;
[http://www.libsecondlife.org/wiki/Login] -- libsl login page, includes sample code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: AW Groupies]]&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Importprimscript&amp;diff=41070</id>
		<title>Importprimscript</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Importprimscript&amp;diff=41070"/>
		<updated>2007-11-20T20:38:37Z</updated>

		<summary type="html">&lt;p&gt;Eddy Stryker: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
importprimscript is a complement to Qarl Linden&#039;s [[Advanced_Sculptie_Exporter_From_Maya]]. Once you&#039;ve exported a folder of files using his script, this program will log in to Second Life using an account of your choice, upload all of the textures, and rez the entire sculptie structure. Sculpt maps are compressed with a single layer lossless JPEG2000 encoding while textures use the traditional five layer lossy JPEG2000 encoding.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
* [http://www.jhurliman.org/download/importprimscript-1.3.0.zip 1.3.0] (Uploads go in to an inventory folder, more reliable file uploads)&lt;br /&gt;
* [http://www.jhurliman.org/download/importprimscript-1.0.2.zip 1.0.2]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
If you are on Windows you will need the [http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;amp;displaylang=en .NET 2.0 framework]. On other platforms, a current version of [http://www.monoproject.org/ Mono] is required.&lt;br /&gt;
&lt;br /&gt;
===Linux/OSX Users===&lt;br /&gt;
&lt;br /&gt;
The current version does not ship with a binary of the openjpeg-libsl library. You will need a current copy of [http://www.libsecondlife.org/ libsecondlife], and to run &amp;quot;make&amp;quot; (or &amp;quot;make osx&amp;quot; on OSX) in the openjpeg-libsl directory and copy the resulting .so or .dylib file to the importprimscript directory. A future release will contain openjpeg-libsl binaries for 32/64-bit Linux and Intel OSX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
This program is meant to be run from the command line. All input is fed through command line parameters and the program runs and periodically outputs status information to the console. Eight parameters must be passed in (multiple word parameters must be enclosed in quotes), using this order: FirstName LastName Password Simulator X Y Z Primscript.&lt;br /&gt;
&lt;br /&gt;
* FirstName: The first name of the avatar you are going to use to import the structure. This avatar will be listed as the creator, although the object will have full permissions so you can copy it with another avatar. This avatar cannot be logged in before you run the program, so if you are already logged in to Second Life this must be an alt account.&lt;br /&gt;
&lt;br /&gt;
* LastName: The last name of the avatar that is going to import the structure.&lt;br /&gt;
&lt;br /&gt;
* Password: The account password. This password is hashed before being sent to the login server and is never sent to any other sources, running this program is as safe as running the official Second Life client.&lt;br /&gt;
&lt;br /&gt;
* Simulator: The name of the simulator you want the bot to log in to and create the import in. Examples are Hooper or &amp;quot;My Region&amp;quot; (notice the quotes).&lt;br /&gt;
&lt;br /&gt;
* X, Y, Z: Coordinates to log the bot in to the simulator and rez the structure at. These are whole numbers between 0 and 255.&lt;br /&gt;
&lt;br /&gt;
* Primscript: The path to the primscript file to import. Lets say you installed this program to c:\importprimscript\ and exported a folder of textures and the primscript file from Maya in to c:\importprimscript\myexport, and the primscript file is named myexport1.primscript. The command line argument could be either the relative path myexport/myexport1.primscript or the absolute c:\importprimscript\myexport\myexport1.primscript.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Optional GUI==&lt;br /&gt;
&lt;br /&gt;
To make things a little more user friendly, there is an [http://www.fileden.com/files/2006/10/8/271989/sculptgui.zip optional GUI] for controlling the upload utility.  Basically, just move sculptgui.exe to the folder with importprimscript.exe in it, and then double click the GUI to use it.&lt;br /&gt;
&lt;br /&gt;
The GUI is Windows only.  It could be compiled for Mac with little trouble, only the developer&#039;s Mac is broken.&lt;/div&gt;</summary>
		<author><name>Eddy Stryker</name></author>
	</entry>
</feed>