~noskcaj/ubuntu/trusty/cogl/1.16.2

« back to all changes in this revision

Viewing changes to doc/reference/cogl-2.0-experimental/html/cogl-2.0-experimental-Vertex-Attributes.html

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha, Jeremy Bicha, Rico Tzschichholz
  • Date: 2013-02-26 16:43:25 UTC
  • mfrom: (1.1.10)
  • Revision ID: package-import@ubuntu.com-20130226164325-t4z9rylpa20v0p6q
Tags: 1.13.4-0ubuntu1
[ Jeremy Bicha ]
* New upstream release
  - soname bump
* debian/control.in:
  - Bump minimum glib to 2.32
  - Drop obsolete breaks/replaces
  - Bump libclutter-1.0-dev breaks for soname transition
* debian/libcogl-dev.install:
  - Add some missing files

[ Rico Tzschichholz ]
* debian/control.in:
  - Build-depend on libxrandr-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<head>
4
4
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5
5
<title>Vertex Attributes</title>
6
 
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
 
6
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
7
7
<link rel="home" href="index.html" title="Cogl 2.0 Reference Manual">
8
8
<link rel="up" href="cogl-buffer-layout-apis.html" title="Describing the layout of GPU Memory">
9
9
<link rel="prev" href="cogl-buffer-layout-apis.html" title="Describing the layout of GPU Memory">
10
10
<link rel="next" href="cogl-2.0-experimental-Indices.html" title="Indices">
11
 
<meta name="generator" content="GTK-Doc V1.17.1 (XML mode)">
 
11
<meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
12
12
<link rel="stylesheet" href="style.css" type="text/css">
13
13
</head>
14
14
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
38
38
</tr></table></div>
39
39
<div class="refsynopsisdiv">
40
40
<a name="cogl-2.0-experimental-Vertex-Attributes.synopsis"></a><h2>Synopsis</h2>
41
 
<pre class="synopsis"><span class="returnvalue">CoglAttribute</span> *     <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-new" title="cogl_attribute_new ()">cogl_attribute_new</a>                  (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="type">CoglAttributeBuffer</span></a> *attribute_buffer</code></em>,
 
41
<pre class="synopsis">                    <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute">CoglAttribute</a>;
 
42
<a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="returnvalue">CoglAttribute</span></a> *     <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-new" title="cogl_attribute_new ()">cogl_attribute_new</a>                  (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="type">CoglAttributeBuffer</span></a> *attribute_buffer</code></em>,
42
43
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
43
44
                                                         <em class="parameter"><code><span class="type">size_t</span> stride</code></em>,
44
45
                                                         <em class="parameter"><code><span class="type">size_t</span> offset</code></em>,
45
46
                                                         <em class="parameter"><code><span class="type">int</span> components</code></em>,
46
47
                                                         <em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Common-Types.html#CoglAttributeType" title="enum CoglAttributeType"><span class="type">CoglAttributeType</span></a> type</code></em>);
47
 
<span class="returnvalue">CoglBool</span>            <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-is-attribute" title="cogl_is_attribute ()">cogl_is_attribute</a>                   (<em class="parameter"><code><span class="type">void</span> *object</code></em>);
48
 
<span class="returnvalue">void</span>                <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-set-normalized" title="cogl_attribute_set_normalized ()">cogl_attribute_set_normalized</a>       (<em class="parameter"><code><span class="type">CoglAttribute</span> *attribute</code></em>,
49
 
                                                         <em class="parameter"><code><span class="type">CoglBool</span> normalized</code></em>);
50
 
<span class="returnvalue">CoglBool</span>            <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-get-normalized" title="cogl_attribute_get_normalized ()">cogl_attribute_get_normalized</a>       (<em class="parameter"><code><span class="type">CoglAttribute</span> *attribute</code></em>);
51
 
<a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="returnvalue">CoglAttributeBuffer</span></a> * <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-get-buffer" title="cogl_attribute_get_buffer ()">cogl_attribute_get_buffer</a>         (<em class="parameter"><code><span class="type">CoglAttribute</span> *attribute</code></em>);
52
 
<span class="returnvalue">void</span>                <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-set-buffer" title="cogl_attribute_set_buffer ()">cogl_attribute_set_buffer</a>           (<em class="parameter"><code><span class="type">CoglAttribute</span> *attribute</code></em>,
 
48
<a class="link" href="cogl-2.0-experimental-Common-Types.html#CoglBool" title="CoglBool"><span class="returnvalue">CoglBool</span></a>            <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-is-attribute" title="cogl_is_attribute ()">cogl_is_attribute</a>                   (<em class="parameter"><code><span class="type">void</span> *object</code></em>);
 
49
<span class="returnvalue">void</span>                <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-set-normalized" title="cogl_attribute_set_normalized ()">cogl_attribute_set_normalized</a>       (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a> *attribute</code></em>,
 
50
                                                         <em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Common-Types.html#CoglBool" title="CoglBool"><span class="type">CoglBool</span></a> normalized</code></em>);
 
51
<a class="link" href="cogl-2.0-experimental-Common-Types.html#CoglBool" title="CoglBool"><span class="returnvalue">CoglBool</span></a>            <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-get-normalized" title="cogl_attribute_get_normalized ()">cogl_attribute_get_normalized</a>       (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a> *attribute</code></em>);
 
52
<a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="returnvalue">CoglAttributeBuffer</span></a> * <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-get-buffer" title="cogl_attribute_get_buffer ()">cogl_attribute_get_buffer</a>         (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a> *attribute</code></em>);
 
53
<span class="returnvalue">void</span>                <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#cogl-attribute-set-buffer" title="cogl_attribute_set_buffer ()">cogl_attribute_set_buffer</a>           (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a> *attribute</code></em>,
53
54
                                                         <em class="parameter"><code><a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="type">CoglAttributeBuffer</span></a> *attribute_buffer</code></em>);
54
55
</pre>
55
56
</div>
62
63
<div class="refsect1">
63
64
<a name="cogl-2.0-experimental-Vertex-Attributes.details"></a><h2>Details</h2>
64
65
<div class="refsect2">
 
66
<a name="CoglAttribute"></a><h3>CoglAttribute</h3>
 
67
<pre class="programlisting">typedef struct _CoglAttribute CoglAttribute;</pre>
 
68
</div>
 
69
<hr>
 
70
<div class="refsect2">
65
71
<a name="cogl-attribute-new"></a><h3>cogl_attribute_new ()</h3>
66
 
<pre class="programlisting"><span class="returnvalue">CoglAttribute</span> *     cogl_attribute_new                  (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="type">CoglAttributeBuffer</span></a> *attribute_buffer</code></em>,
 
72
<pre class="programlisting"><a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="returnvalue">CoglAttribute</span></a> *     cogl_attribute_new                  (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="type">CoglAttributeBuffer</span></a> *attribute_buffer</code></em>,
67
73
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
68
74
                                                         <em class="parameter"><code><span class="type">size_t</span> stride</code></em>,
69
75
                                                         <em class="parameter"><code><span class="type">size_t</span> offset</code></em>,
78
84
shader and there are some special names you should use if they are
79
85
applicable:
80
86
 </p>
81
 
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
 
87
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
82
88
<li class="listitem">"cogl_position_in" (used for vertex positions)</li>
83
89
<li class="listitem">"cogl_color_in" (used for vertex colors)</li>
84
90
<li class="listitem">"cogl_tex_coord0_in", "cogl_tex_coord1", ...
101
107
3
102
108
4
103
109
5</pre></td>
104
 
        <td class="listing_code"><pre class="programlisting"><span class="type">typedef</span> <span class="type">struct</span>
105
 
{
106
 
  <span class="type">float</span> x, y, z; <span class="comment">/*</span><span class="comment"> position attribute </span><span class="comment">*/</span>
107
 
  <span class="type">float</span> s, t; <span class="comment">/*</span><span class="comment"> texture coordinate attribute </span><span class="comment">*/</span>
108
 
} MyVertex;</pre></td>
 
110
        <td class="listing_code"><pre class="programlisting"><span class="keyword">typedef</span><span class="normal"> </span><span class="keyword">struct</span>
 
111
<span class="cbracket">{</span>
 
112
<span class="normal">  </span><span class="type">float</span><span class="normal"> x</span><span class="symbol">,</span><span class="normal"> y</span><span class="symbol">,</span><span class="normal"> z</span><span class="symbol">;</span><span class="normal"> </span><span class="comment">/* position attribute */</span>
 
113
<span class="normal">  </span><span class="type">float</span><span class="normal"> s</span><span class="symbol">,</span><span class="normal"> t</span><span class="symbol">;</span><span class="normal"> </span><span class="comment">/* texture coordinate attribute */</span>
 
114
<span class="cbracket">}</span><span class="normal"> MyVertex</span><span class="symbol">;</span></pre></td>
109
115
      </tr>
110
116
    </tbody>
111
117
  </table>
121
127
    <tbody>
122
128
      <tr>
123
129
        <td class="listing_lines" align="right"><pre>1</pre></td>
124
 
        <td class="listing_code"><pre class="programlisting">MyVertex vertices[<span class="number">100</span>] = { .... }</pre></td>
 
130
        <td class="listing_code"><pre class="programlisting"><span class="usertype">MyVertex</span><span class="normal"> vertices</span><span class="symbol">[</span><span class="number">100</span><span class="symbol">]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="symbol">....</span><span class="normal"> </span><span class="cbracket">}</span></pre></td>
125
131
      </tr>
126
132
    </tbody>
127
133
  </table>
164
170
mapped into the GPU which can be a bottlneck when dealing with
165
171
a large number of vertices.
166
172
</p>
167
 
<div class="variablelist"><table border="0">
 
173
<div class="variablelist"><table border="0" class="variablelist">
 
174
<colgroup>
168
175
<col align="left" valign="top">
 
176
<col>
 
177
</colgroup>
169
178
<tbody>
170
179
<tr>
171
180
<td><p><span class="term"><em class="parameter"><code>attribute_buffer</code></em> :</span></p></td>
200
209
</tr>
201
210
<tr>
202
211
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
203
 
<td>A newly allocated <span class="type">CoglAttribute</span> describing the
 
212
<td>A newly allocated <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a> describing the
204
213
layout for a list of attribute values stored in <em class="parameter"><code>array</code></em>.</td>
205
214
</tr>
206
215
</tbody>
211
220
<hr>
212
221
<div class="refsect2">
213
222
<a name="cogl-is-attribute"></a><h3>cogl_is_attribute ()</h3>
214
 
<pre class="programlisting"><span class="returnvalue">CoglBool</span>            cogl_is_attribute                   (<em class="parameter"><code><span class="type">void</span> *object</code></em>);</pre>
 
223
<pre class="programlisting"><a class="link" href="cogl-2.0-experimental-Common-Types.html#CoglBool" title="CoglBool"><span class="returnvalue">CoglBool</span></a>            cogl_is_attribute                   (<em class="parameter"><code><span class="type">void</span> *object</code></em>);</pre>
215
224
<p>
216
 
Gets whether the given object references a <span class="type">CoglAttribute</span>.
 
225
Gets whether the given object references a <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a>.
217
226
</p>
218
 
<div class="variablelist"><table border="0">
 
227
<div class="variablelist"><table border="0" class="variablelist">
 
228
<colgroup>
219
229
<col align="left" valign="top">
 
230
<col>
 
231
</colgroup>
220
232
<tbody>
221
233
<tr>
222
234
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
226
238
<tr>
227
239
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
228
240
<td>
229
 
<code class="literal">TRUE</code> if the <em class="parameter"><code>object</code></em> references a <span class="type">CoglAttribute</span>,
230
 
<code class="literal">FALSE</code> otherwise</td>
 
241
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>object</code></em> references a <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a>,
 
242
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
231
243
</tr>
232
244
</tbody>
233
245
</table></div>
235
247
<hr>
236
248
<div class="refsect2">
237
249
<a name="cogl-attribute-set-normalized"></a><h3>cogl_attribute_set_normalized ()</h3>
238
 
<pre class="programlisting"><span class="returnvalue">void</span>                cogl_attribute_set_normalized       (<em class="parameter"><code><span class="type">CoglAttribute</span> *attribute</code></em>,
239
 
                                                         <em class="parameter"><code><span class="type">CoglBool</span> normalized</code></em>);</pre>
 
250
<pre class="programlisting"><span class="returnvalue">void</span>                cogl_attribute_set_normalized       (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a> *attribute</code></em>,
 
251
                                                         <em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Common-Types.html#CoglBool" title="CoglBool"><span class="type">CoglBool</span></a> normalized</code></em>);</pre>
240
252
<p>
241
253
Sets whether fixed point attribute types are mapped to the range
242
254
0→1. For example when this property is TRUE and a
249
261
cogl_normal_in it will default to TRUE and for all other names it
250
262
will default to FALSE.
251
263
</p>
252
 
<div class="variablelist"><table border="0">
 
264
<div class="variablelist"><table border="0" class="variablelist">
 
265
<colgroup>
253
266
<col align="left" valign="top">
 
267
<col>
 
268
</colgroup>
254
269
<tbody>
255
270
<tr>
256
271
<td><p><span class="term"><em class="parameter"><code>attribute</code></em> :</span></p></td>
257
 
<td>A <span class="type">CoglAttribute</span>
 
272
<td>A <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a>
258
273
</td>
259
274
</tr>
260
275
<tr>
269
284
<hr>
270
285
<div class="refsect2">
271
286
<a name="cogl-attribute-get-normalized"></a><h3>cogl_attribute_get_normalized ()</h3>
272
 
<pre class="programlisting"><span class="returnvalue">CoglBool</span>            cogl_attribute_get_normalized       (<em class="parameter"><code><span class="type">CoglAttribute</span> *attribute</code></em>);</pre>
273
 
<div class="variablelist"><table border="0">
 
287
<pre class="programlisting"><a class="link" href="cogl-2.0-experimental-Common-Types.html#CoglBool" title="CoglBool"><span class="returnvalue">CoglBool</span></a>            cogl_attribute_get_normalized       (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a> *attribute</code></em>);</pre>
 
288
<div class="variablelist"><table border="0" class="variablelist">
 
289
<colgroup>
274
290
<col align="left" valign="top">
 
291
<col>
 
292
</colgroup>
275
293
<tbody>
276
294
<tr>
277
295
<td><p><span class="term"><em class="parameter"><code>attribute</code></em> :</span></p></td>
278
 
<td>A <span class="type">CoglAttribute</span>
 
296
<td>A <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a>
279
297
</td>
280
298
</tr>
281
299
<tr>
291
309
<hr>
292
310
<div class="refsect2">
293
311
<a name="cogl-attribute-get-buffer"></a><h3>cogl_attribute_get_buffer ()</h3>
294
 
<pre class="programlisting"><a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="returnvalue">CoglAttributeBuffer</span></a> * cogl_attribute_get_buffer         (<em class="parameter"><code><span class="type">CoglAttribute</span> *attribute</code></em>);</pre>
295
 
<div class="variablelist"><table border="0">
 
312
<pre class="programlisting"><a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="returnvalue">CoglAttributeBuffer</span></a> * cogl_attribute_get_buffer         (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a> *attribute</code></em>);</pre>
 
313
<div class="variablelist"><table border="0" class="variablelist">
 
314
<colgroup>
296
315
<col align="left" valign="top">
 
316
<col>
 
317
</colgroup>
297
318
<tbody>
298
319
<tr>
299
320
<td><p><span class="term"><em class="parameter"><code>attribute</code></em> :</span></p></td>
300
 
<td>A <span class="type">CoglAttribute</span>
 
321
<td>A <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a>
301
322
</td>
302
323
</tr>
303
324
<tr>
313
334
<hr>
314
335
<div class="refsect2">
315
336
<a name="cogl-attribute-set-buffer"></a><h3>cogl_attribute_set_buffer ()</h3>
316
 
<pre class="programlisting"><span class="returnvalue">void</span>                cogl_attribute_set_buffer           (<em class="parameter"><code><span class="type">CoglAttribute</span> *attribute</code></em>,
 
337
<pre class="programlisting"><span class="returnvalue">void</span>                cogl_attribute_set_buffer           (<em class="parameter"><code><a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a> *attribute</code></em>,
317
338
                                                         <em class="parameter"><code><a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="type">CoglAttributeBuffer</span></a> *attribute_buffer</code></em>);</pre>
318
339
<p>
319
340
Sets a new <a class="link" href="cogl-2.0-experimental-CoglAttributeBuffer---Buffers-of-vertex-attributes.html#CoglAttributeBuffer" title="CoglAttributeBuffer"><span class="type">CoglAttributeBuffer</span></a> for the attribute.
320
341
</p>
321
 
<div class="variablelist"><table border="0">
 
342
<div class="variablelist"><table border="0" class="variablelist">
 
343
<colgroup>
322
344
<col align="left" valign="top">
 
345
<col>
 
346
</colgroup>
323
347
<tbody>
324
348
<tr>
325
349
<td><p><span class="term"><em class="parameter"><code>attribute</code></em> :</span></p></td>
326
 
<td>A <span class="type">CoglAttribute</span>
 
350
<td>A <a class="link" href="cogl-2.0-experimental-Vertex-Attributes.html#CoglAttribute" title="CoglAttribute"><span class="type">CoglAttribute</span></a>
327
351
</td>
328
352
</tr>
329
353
<tr>
340
364
</div>
341
365
<div class="footer">
342
366
<hr>
343
 
          Generated by GTK-Doc V1.17.1</div>
 
367
          Generated by GTK-Doc V1.18.1</div>
344
368
</body>
345
369
</html>
 
 
b'\\ No newline at end of file'