src/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityContext.html

branch
eric7
changeset 10479
856476537696
parent 9209
b99e7fd55fd3
child 10996
a3dc181d14e1
equal deleted inserted replaced
10478:de9106c55c3d 10479:856476537696
5 <link rel="stylesheet" href="styles.css"> 5 <link rel="stylesheet" href="styles.css">
6 </head> 6 </head>
7 <body> 7 <body>
8 <a NAME="top" ID="top"></a> 8 <a NAME="top" ID="top"></a>
9 <h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityContext</h1> 9 <h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityContext</h1>
10
11 <p> 10 <p>
12 Module implementing a context class for security related checks. 11 Module implementing a context class for security related checks.
13 </p> 12 </p>
13
14 <h3>Global Attributes</h3> 14 <h3>Global Attributes</h3>
15
16 <table> 15 <table>
17 <tr><td>None</td></tr> 16 <tr><td>None</td></tr>
18 </table> 17 </table>
18
19 <h3>Classes</h3> 19 <h3>Classes</h3>
20
21 <table> 20 <table>
22
23 <tr> 21 <tr>
24 <td><a href="#SecurityContext">SecurityContext</a></td> 22 <td><a href="#SecurityContext">SecurityContext</a></td>
25 <td>Class implementing a context class for security related checks.</td> 23 <td>Class implementing a context class for security related checks.</td>
26 </tr> 24 </tr>
27 </table> 25 </table>
26
28 <h3>Functions</h3> 27 <h3>Functions</h3>
29
30 <table> 28 <table>
31 <tr><td>None</td></tr> 29 <tr><td>None</td></tr>
32 </table> 30 </table>
31
33 <hr /> 32 <hr />
34 <hr /> 33 <hr />
35 <a NAME="SecurityContext" ID="SecurityContext"></a> 34 <a NAME="SecurityContext" ID="SecurityContext"></a>
36 <h2>SecurityContext</h2> 35 <h2>SecurityContext</h2>
37
38 <p> 36 <p>
39 Class implementing a context class for security related checks. 37 Class implementing a context class for security related checks.
40 </p> 38 </p>
39
41 <h3>Derived from</h3> 40 <h3>Derived from</h3>
42 None 41 None
43 <h3>Class Attributes</h3> 42 <h3>Class Attributes</h3>
44
45 <table> 43 <table>
46 <tr><td>None</td></tr> 44 <tr><td>None</td></tr>
47 </table> 45 </table>
46
48 <h3>Class Methods</h3> 47 <h3>Class Methods</h3>
49
50 <table> 48 <table>
51 <tr><td>None</td></tr> 49 <tr><td>None</td></tr>
52 </table> 50 </table>
51
53 <h3>Methods</h3> 52 <h3>Methods</h3>
54
55 <table> 53 <table>
56
57 <tr> 54 <tr>
58 <td><a href="#SecurityContext.__init__">SecurityContext</a></td> 55 <td><a href="#SecurityContext.__init__">SecurityContext</a></td>
59 <td>Constructor</td> 56 <td>Constructor</td>
60 </tr> 57 </tr>
61 <tr> 58 <tr>
141 <tr> 138 <tr>
142 <td><a href="#SecurityContext.stringValAsEscapedBytes">stringValAsEscapedBytes</a></td> 139 <td><a href="#SecurityContext.stringValAsEscapedBytes">stringValAsEscapedBytes</a></td>
143 <td>Public method to get the escaped value of the object.</td> 140 <td>Public method to get the escaped value of the object.</td>
144 </tr> 141 </tr>
145 </table> 142 </table>
143
146 <h3>Static Methods</h3> 144 <h3>Static Methods</h3>
147
148 <table> 145 <table>
149 <tr><td>None</td></tr> 146 <tr><td>None</td></tr>
150 </table> 147 </table>
151 148
149
152 <a NAME="SecurityContext.__init__" ID="SecurityContext.__init__"></a> 150 <a NAME="SecurityContext.__init__" ID="SecurityContext.__init__"></a>
153 <h4>SecurityContext (Constructor)</h4> 151 <h4>SecurityContext (Constructor)</h4>
154 <b>SecurityContext</b>(<i>contextObject=None</i>) 152 <b>SecurityContext</b>(<i>contextObject=None</i>)
155
156 <p> 153 <p>
157 Constructor 154 Constructor
158 </p> 155 </p>
159 <p> 156 <p>
160 Initialize the class with a context dictionary or an empty 157 Initialize the class with a context dictionary or an empty
161 dictionary. 158 dictionary.
162 </p> 159 </p>
160
163 <dl> 161 <dl>
164 162
165 <dt><i>contextObject</i> (dict)</dt> 163 <dt><i>contextObject</i> (dict)</dt>
166 <dd> 164 <dd>
167 context dictionary to be used to populate the 165 context dictionary to be used to populate the
169 </dd> 167 </dd>
170 </dl> 168 </dl>
171 <a NAME="SecurityContext.__getLiteralValue" ID="SecurityContext.__getLiteralValue"></a> 169 <a NAME="SecurityContext.__getLiteralValue" ID="SecurityContext.__getLiteralValue"></a>
172 <h4>SecurityContext.__getLiteralValue</h4> 170 <h4>SecurityContext.__getLiteralValue</h4>
173 <b>__getLiteralValue</b>(<i>literal</i>) 171 <b>__getLiteralValue</b>(<i>literal</i>)
174
175 <p> 172 <p>
176 Private method to turn AST literals into native Python types. 173 Private method to turn AST literals into native Python types.
177 </p> 174 </p>
175
178 <dl> 176 <dl>
179 177
180 <dt><i>literal</i> (ast.AST)</dt> 178 <dt><i>literal</i> (ast.AST)</dt>
181 <dd> 179 <dd>
182 AST literal to be converted 180 AST literal to be converted
195 </dd> 193 </dd>
196 </dl> 194 </dl>
197 <a NAME="SecurityContext.__repr__" ID="SecurityContext.__repr__"></a> 195 <a NAME="SecurityContext.__repr__" ID="SecurityContext.__repr__"></a>
198 <h4>SecurityContext.__repr__</h4> 196 <h4>SecurityContext.__repr__</h4>
199 <b>__repr__</b>(<i></i>) 197 <b>__repr__</b>(<i></i>)
200
201 <p> 198 <p>
202 Special method to generate representation of object for printing or 199 Special method to generate representation of object for printing or
203 interactive use. 200 interactive use.
204 </p> 201 </p>
202
205 <dl> 203 <dl>
206 <dt>Return:</dt> 204 <dt>Return:</dt>
207 <dd> 205 <dd>
208 string representation of the object 206 string representation of the object
209 </dd> 207 </dd>
215 </dd> 213 </dd>
216 </dl> 214 </dl>
217 <a NAME="SecurityContext.bytesVal" ID="SecurityContext.bytesVal"></a> 215 <a NAME="SecurityContext.bytesVal" ID="SecurityContext.bytesVal"></a>
218 <h4>SecurityContext.bytesVal</h4> 216 <h4>SecurityContext.bytesVal</h4>
219 <b>bytesVal</b>(<i></i>) 217 <b>bytesVal</b>(<i></i>)
220
221 <p> 218 <p>
222 Public method to get the value of a standalone bytes object. 219 Public method to get the value of a standalone bytes object.
223 </p> 220 </p>
221
224 <dl> 222 <dl>
225 <dt>Return:</dt> 223 <dt>Return:</dt>
226 <dd> 224 <dd>
227 value of a standalone bytes object 225 value of a standalone bytes object
228 </dd> 226 </dd>
234 </dd> 232 </dd>
235 </dl> 233 </dl>
236 <a NAME="SecurityContext.callArgs" ID="SecurityContext.callArgs"></a> 234 <a NAME="SecurityContext.callArgs" ID="SecurityContext.callArgs"></a>
237 <h4>SecurityContext.callArgs</h4> 235 <h4>SecurityContext.callArgs</h4>
238 <b>callArgs</b>(<i></i>) 236 <b>callArgs</b>(<i></i>)
239
240 <p> 237 <p>
241 Public method to get a list of function args. 238 Public method to get a list of function args.
242 </p> 239 </p>
240
243 <dl> 241 <dl>
244 <dt>Return:</dt> 242 <dt>Return:</dt>
245 <dd> 243 <dd>
246 list of function args 244 list of function args
247 </dd> 245 </dd>
253 </dd> 251 </dd>
254 </dl> 252 </dl>
255 <a NAME="SecurityContext.callArgsCount" ID="SecurityContext.callArgsCount"></a> 253 <a NAME="SecurityContext.callArgsCount" ID="SecurityContext.callArgsCount"></a>
256 <h4>SecurityContext.callArgsCount</h4> 254 <h4>SecurityContext.callArgsCount</h4>
257 <b>callArgsCount</b>(<i></i>) 255 <b>callArgsCount</b>(<i></i>)
258
259 <p> 256 <p>
260 Public method to get the number of args a function call has. 257 Public method to get the number of args a function call has.
261 </p> 258 </p>
259
262 <dl> 260 <dl>
263 <dt>Return:</dt> 261 <dt>Return:</dt>
264 <dd> 262 <dd>
265 number of args a function call has 263 number of args a function call has
266 </dd> 264 </dd>
272 </dd> 270 </dd>
273 </dl> 271 </dl>
274 <a NAME="SecurityContext.callFunctionName" ID="SecurityContext.callFunctionName"></a> 272 <a NAME="SecurityContext.callFunctionName" ID="SecurityContext.callFunctionName"></a>
275 <h4>SecurityContext.callFunctionName</h4> 273 <h4>SecurityContext.callFunctionName</h4>
276 <b>callFunctionName</b>(<i></i>) 274 <b>callFunctionName</b>(<i></i>)
277
278 <p> 275 <p>
279 Public method to get the name (not FQ) of a function call. 276 Public method to get the name (not FQ) of a function call.
280 </p> 277 </p>
278
281 <dl> 279 <dl>
282 <dt>Return:</dt> 280 <dt>Return:</dt>
283 <dd> 281 <dd>
284 name (not FQ) of a function call 282 name (not FQ) of a function call
285 </dd> 283 </dd>
291 </dd> 289 </dd>
292 </dl> 290 </dl>
293 <a NAME="SecurityContext.callFunctionNameQual" ID="SecurityContext.callFunctionNameQual"></a> 291 <a NAME="SecurityContext.callFunctionNameQual" ID="SecurityContext.callFunctionNameQual"></a>
294 <h4>SecurityContext.callFunctionNameQual</h4> 292 <h4>SecurityContext.callFunctionNameQual</h4>
295 <b>callFunctionNameQual</b>(<i></i>) 293 <b>callFunctionNameQual</b>(<i></i>)
296
297 <p> 294 <p>
298 Public method to get the FQ name of a function call. 295 Public method to get the FQ name of a function call.
299 </p> 296 </p>
297
300 <dl> 298 <dl>
301 <dt>Return:</dt> 299 <dt>Return:</dt>
302 <dd> 300 <dd>
303 FQ name of a function call 301 FQ name of a function call
304 </dd> 302 </dd>
310 </dd> 308 </dd>
311 </dl> 309 </dl>
312 <a NAME="SecurityContext.callKeywords" ID="SecurityContext.callKeywords"></a> 310 <a NAME="SecurityContext.callKeywords" ID="SecurityContext.callKeywords"></a>
313 <h4>SecurityContext.callKeywords</h4> 311 <h4>SecurityContext.callKeywords</h4>
314 <b>callKeywords</b>(<i></i>) 312 <b>callKeywords</b>(<i></i>)
315
316 <p> 313 <p>
317 Public method to get a dictionary of keyword parameters. 314 Public method to get a dictionary of keyword parameters.
318 </p> 315 </p>
316
319 <dl> 317 <dl>
320 <dt>Return:</dt> 318 <dt>Return:</dt>
321 <dd> 319 <dd>
322 dictionary of keyword parameters 320 dictionary of keyword parameters
323 </dd> 321 </dd>
329 </dd> 327 </dd>
330 </dl> 328 </dl>
331 <a NAME="SecurityContext.checkCallArgValue" ID="SecurityContext.checkCallArgValue"></a> 329 <a NAME="SecurityContext.checkCallArgValue" ID="SecurityContext.checkCallArgValue"></a>
332 <h4>SecurityContext.checkCallArgValue</h4> 330 <h4>SecurityContext.checkCallArgValue</h4>
333 <b>checkCallArgValue</b>(<i>argumentName, argumentValues=None</i>) 331 <b>checkCallArgValue</b>(<i>argumentName, argumentValues=None</i>)
334
335 <p> 332 <p>
336 Public method to check for a value of a named argument in a function 333 Public method to check for a value of a named argument in a function
337 call. 334 call.
338 </p> 335 </p>
336
339 <dl> 337 <dl>
340 338
341 <dt><i>argumentName</i> (str)</dt> 339 <dt><i>argumentName</i> (str)</dt>
342 <dd> 340 <dd>
343 name of the argument to be checked 341 name of the argument to be checked
361 </dd> 359 </dd>
362 </dl> 360 </dl>
363 <a NAME="SecurityContext.functionDefDefaultsQual" ID="SecurityContext.functionDefDefaultsQual"></a> 361 <a NAME="SecurityContext.functionDefDefaultsQual" ID="SecurityContext.functionDefDefaultsQual"></a>
364 <h4>SecurityContext.functionDefDefaultsQual</h4> 362 <h4>SecurityContext.functionDefDefaultsQual</h4>
365 <b>functionDefDefaultsQual</b>(<i></i>) 363 <b>functionDefDefaultsQual</b>(<i></i>)
366
367 <p> 364 <p>
368 Public method to get a list of fully qualified default values in a 365 Public method to get a list of fully qualified default values in a
369 function def. 366 function def.
370 </p> 367 </p>
368
371 <dl> 369 <dl>
372 <dt>Return:</dt> 370 <dt>Return:</dt>
373 <dd> 371 <dd>
374 list of fully qualified default values in a function def 372 list of fully qualified default values in a function def
375 </dd> 373 </dd>
381 </dd> 379 </dd>
382 </dl> 380 </dl>
383 <a NAME="SecurityContext.getCallArgAtPosition" ID="SecurityContext.getCallArgAtPosition"></a> 381 <a NAME="SecurityContext.getCallArgAtPosition" ID="SecurityContext.getCallArgAtPosition"></a>
384 <h4>SecurityContext.getCallArgAtPosition</h4> 382 <h4>SecurityContext.getCallArgAtPosition</h4>
385 <b>getCallArgAtPosition</b>(<i>positionNum</i>) 383 <b>getCallArgAtPosition</b>(<i>positionNum</i>)
386
387 <p> 384 <p>
388 Public method to get a positional argument at the specified position 385 Public method to get a positional argument at the specified position
389 (if it exists). 386 (if it exists).
390 </p> 387 </p>
388
391 <dl> 389 <dl>
392 390
393 <dt><i>positionNum</i> (int)</dt> 391 <dt><i>positionNum</i> (int)</dt>
394 <dd> 392 <dd>
395 index of the argument to get the value for 393 index of the argument to get the value for
408 </dd> 406 </dd>
409 </dl> 407 </dl>
410 <a NAME="SecurityContext.getCallArgValue" ID="SecurityContext.getCallArgValue"></a> 408 <a NAME="SecurityContext.getCallArgValue" ID="SecurityContext.getCallArgValue"></a>
411 <h4>SecurityContext.getCallArgValue</h4> 409 <h4>SecurityContext.getCallArgValue</h4>
412 <b>getCallArgValue</b>(<i>argumentName</i>) 410 <b>getCallArgValue</b>(<i>argumentName</i>)
413
414 <p> 411 <p>
415 Public method to get the value of a named argument in a function call. 412 Public method to get the value of a named argument in a function call.
416 </p> 413 </p>
414
417 <dl> 415 <dl>
418 416
419 <dt><i>argumentName</i> (str)</dt> 417 <dt><i>argumentName</i> (str)</dt>
420 <dd> 418 <dd>
421 name of the argument to get the value for 419 name of the argument to get the value for
434 </dd> 432 </dd>
435 </dl> 433 </dl>
436 <a NAME="SecurityContext.getLinenoForCallArg" ID="SecurityContext.getLinenoForCallArg"></a> 434 <a NAME="SecurityContext.getLinenoForCallArg" ID="SecurityContext.getLinenoForCallArg"></a>
437 <h4>SecurityContext.getLinenoForCallArg</h4> 435 <h4>SecurityContext.getLinenoForCallArg</h4>
438 <b>getLinenoForCallArg</b>(<i>argumentName</i>) 436 <b>getLinenoForCallArg</b>(<i>argumentName</i>)
439
440 <p> 437 <p>
441 Public method to get the line number for a specific named argument. 438 Public method to get the line number for a specific named argument.
442 </p> 439 </p>
440
443 <dl> 441 <dl>
444 442
445 <dt><i>argumentName</i> (str)</dt> 443 <dt><i>argumentName</i> (str)</dt>
446 <dd> 444 <dd>
447 name of the argument to get the line number for 445 name of the argument to get the line number for
460 </dd> 458 </dd>
461 </dl> 459 </dl>
462 <a NAME="SecurityContext.getOffsetForCallArg" ID="SecurityContext.getOffsetForCallArg"></a> 460 <a NAME="SecurityContext.getOffsetForCallArg" ID="SecurityContext.getOffsetForCallArg"></a>
463 <h4>SecurityContext.getOffsetForCallArg</h4> 461 <h4>SecurityContext.getOffsetForCallArg</h4>
464 <b>getOffsetForCallArg</b>(<i>argumentName</i>) 462 <b>getOffsetForCallArg</b>(<i>argumentName</i>)
465
466 <p> 463 <p>
467 Public method to get the offset for a specific named argument. 464 Public method to get the offset for a specific named argument.
468 </p> 465 </p>
466
469 <dl> 467 <dl>
470 468
471 <dt><i>argumentName</i> (str)</dt> 469 <dt><i>argumentName</i> (str)</dt>
472 <dd> 470 <dd>
473 name of the argument to get the line number for 471 name of the argument to get the line number for
486 </dd> 484 </dd>
487 </dl> 485 </dl>
488 <a NAME="SecurityContext.isModuleBeingImported" ID="SecurityContext.isModuleBeingImported"></a> 486 <a NAME="SecurityContext.isModuleBeingImported" ID="SecurityContext.isModuleBeingImported"></a>
489 <h4>SecurityContext.isModuleBeingImported</h4> 487 <h4>SecurityContext.isModuleBeingImported</h4>
490 <b>isModuleBeingImported</b>(<i>module</i>) 488 <b>isModuleBeingImported</b>(<i>module</i>)
491
492 <p> 489 <p>
493 Public method to check for the given module is currently being 490 Public method to check for the given module is currently being
494 imported. 491 imported.
495 </p> 492 </p>
493
496 <dl> 494 <dl>
497 495
498 <dt><i>module</i> (str)</dt> 496 <dt><i>module</i> (str)</dt>
499 <dd> 497 <dd>
500 module name to look for 498 module name to look for
513 </dd> 511 </dd>
514 </dl> 512 </dl>
515 <a NAME="SecurityContext.isModuleImportedExact" ID="SecurityContext.isModuleImportedExact"></a> 513 <a NAME="SecurityContext.isModuleImportedExact" ID="SecurityContext.isModuleImportedExact"></a>
516 <h4>SecurityContext.isModuleImportedExact</h4> 514 <h4>SecurityContext.isModuleImportedExact</h4>
517 <b>isModuleImportedExact</b>(<i>module</i>) 515 <b>isModuleImportedExact</b>(<i>module</i>)
518
519 <p> 516 <p>
520 Public method to check if a given module has been imported; only exact 517 Public method to check if a given module has been imported; only exact
521 matches. 518 matches.
522 </p> 519 </p>
520
523 <dl> 521 <dl>
524 522
525 <dt><i>module</i> (str)</dt> 523 <dt><i>module</i> (str)</dt>
526 <dd> 524 <dd>
527 module name to look for 525 module name to look for
540 </dd> 538 </dd>
541 </dl> 539 </dl>
542 <a NAME="SecurityContext.isModuleImportedLike" ID="SecurityContext.isModuleImportedLike"></a> 540 <a NAME="SecurityContext.isModuleImportedLike" ID="SecurityContext.isModuleImportedLike"></a>
543 <h4>SecurityContext.isModuleImportedLike</h4> 541 <h4>SecurityContext.isModuleImportedLike</h4>
544 <b>isModuleImportedLike</b>(<i>module</i>) 542 <b>isModuleImportedLike</b>(<i>module</i>)
545
546 <p> 543 <p>
547 Public method to check if a given module has been imported; given 544 Public method to check if a given module has been imported; given
548 module exists. 545 module exists.
549 </p> 546 </p>
547
550 <dl> 548 <dl>
551 549
552 <dt><i>module</i> (str)</dt> 550 <dt><i>module</i> (str)</dt>
553 <dd> 551 <dd>
554 module name to look for 552 module name to look for
567 </dd> 565 </dd>
568 </dl> 566 </dl>
569 <a NAME="SecurityContext.node" ID="SecurityContext.node"></a> 567 <a NAME="SecurityContext.node" ID="SecurityContext.node"></a>
570 <h4>SecurityContext.node</h4> 568 <h4>SecurityContext.node</h4>
571 <b>node</b>(<i></i>) 569 <b>node</b>(<i></i>)
572
573 <p> 570 <p>
574 Public method to get the raw AST node associated with the context. 571 Public method to get the raw AST node associated with the context.
575 </p> 572 </p>
573
576 <dl> 574 <dl>
577 <dt>Return:</dt> 575 <dt>Return:</dt>
578 <dd> 576 <dd>
579 raw AST node associated with the context 577 raw AST node associated with the context
580 </dd> 578 </dd>
586 </dd> 584 </dd>
587 </dl> 585 </dl>
588 <a NAME="SecurityContext.statement" ID="SecurityContext.statement"></a> 586 <a NAME="SecurityContext.statement" ID="SecurityContext.statement"></a>
589 <h4>SecurityContext.statement</h4> 587 <h4>SecurityContext.statement</h4>
590 <b>statement</b>(<i></i>) 588 <b>statement</b>(<i></i>)
591
592 <p> 589 <p>
593 Public method to get the raw AST for the current statement. 590 Public method to get the raw AST for the current statement.
594 </p> 591 </p>
592
595 <dl> 593 <dl>
596 <dt>Return:</dt> 594 <dt>Return:</dt>
597 <dd> 595 <dd>
598 raw AST for the current statement 596 raw AST for the current statement
599 </dd> 597 </dd>
605 </dd> 603 </dd>
606 </dl> 604 </dl>
607 <a NAME="SecurityContext.stringVal" ID="SecurityContext.stringVal"></a> 605 <a NAME="SecurityContext.stringVal" ID="SecurityContext.stringVal"></a>
608 <h4>SecurityContext.stringVal</h4> 606 <h4>SecurityContext.stringVal</h4>
609 <b>stringVal</b>(<i></i>) 607 <b>stringVal</b>(<i></i>)
610
611 <p> 608 <p>
612 Public method to get the value of a standalone string object. 609 Public method to get the value of a standalone string object.
613 </p> 610 </p>
611
614 <dl> 612 <dl>
615 <dt>Return:</dt> 613 <dt>Return:</dt>
616 <dd> 614 <dd>
617 value of a standalone string object 615 value of a standalone string object
618 </dd> 616 </dd>
624 </dd> 622 </dd>
625 </dl> 623 </dl>
626 <a NAME="SecurityContext.stringValAsEscapedBytes" ID="SecurityContext.stringValAsEscapedBytes"></a> 624 <a NAME="SecurityContext.stringValAsEscapedBytes" ID="SecurityContext.stringValAsEscapedBytes"></a>
627 <h4>SecurityContext.stringValAsEscapedBytes</h4> 625 <h4>SecurityContext.stringValAsEscapedBytes</h4>
628 <b>stringValAsEscapedBytes</b>(<i></i>) 626 <b>stringValAsEscapedBytes</b>(<i></i>)
629
630 <p> 627 <p>
631 Public method to get the escaped value of the object. 628 Public method to get the escaped value of the object.
632 </p> 629 </p>
633 <p> 630 <p>
634 Turn the value of a string or bytes object into a byte sequence with 631 Turn the value of a string or bytes object into a byte sequence with
636 </p> 633 </p>
637 <p> 634 <p>
638 This function should be used when looking for a known sequence in a 635 This function should be used when looking for a known sequence in a
639 potentially badly encoded string in the code. 636 potentially badly encoded string in the code.
640 </p> 637 </p>
638
641 <dl> 639 <dl>
642 <dt>Return:</dt> 640 <dt>Return:</dt>
643 <dd> 641 <dd>
644 sequence of printable ascii bytes representing original string 642 sequence of printable ascii bytes representing original string
645 </dd> 643 </dd>

eric ide

mercurial