Showing error 1815

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: product-lines/email_spec8_product28_safe.cil.c
Line in file: 1872
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1extern int __VERIFIER_nondet_int(void);
   2/* Generated by CIL v. 1.3.7 */
   3/* print_CIL_Input is true */
   4
   5#line 2 "libacc.c"
   6struct JoinPoint {
   7   void **(*fp)(struct JoinPoint * ) ;
   8   void **args ;
   9   int argsCount ;
  10   char const   **argsType ;
  11   void *(*arg)(int  , struct JoinPoint * ) ;
  12   char const   *(*argType)(int  , struct JoinPoint * ) ;
  13   void **retValue ;
  14   char const   *retType ;
  15   char const   *funcName ;
  16   char const   *targetName ;
  17   char const   *fileName ;
  18   char const   *kind ;
  19   void *excep_return ;
  20};
  21#line 18 "libacc.c"
  22struct __UTAC__CFLOW_FUNC {
  23   int (*func)(int  , int  ) ;
  24   int val ;
  25   struct __UTAC__CFLOW_FUNC *next ;
  26};
  27#line 18 "libacc.c"
  28struct __UTAC__EXCEPTION {
  29   void *jumpbuf ;
  30   unsigned long long prtValue ;
  31   int pops ;
  32   struct __UTAC__CFLOW_FUNC *cflowfuncs ;
  33};
  34#line 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
  35typedef unsigned long size_t;
  36#line 76 "libacc.c"
  37struct __ACC__ERR {
  38   void *v ;
  39   struct __ACC__ERR *next ;
  40};
  41#line 1 "featureselect.o"
  42#pragma merger(0,"featureselect.i","")
  43#line 8 "featureselect.h"
  44int __SELECTED_FEATURE_Base  ;
  45#line 11 "featureselect.h"
  46int __SELECTED_FEATURE_Keys  ;
  47#line 14 "featureselect.h"
  48int __SELECTED_FEATURE_Encrypt  ;
  49#line 17 "featureselect.h"
  50int __SELECTED_FEATURE_AutoResponder  ;
  51#line 20 "featureselect.h"
  52int __SELECTED_FEATURE_AddressBook  ;
  53#line 23 "featureselect.h"
  54int __SELECTED_FEATURE_Sign  ;
  55#line 26 "featureselect.h"
  56int __SELECTED_FEATURE_Forward  ;
  57#line 29 "featureselect.h"
  58int __SELECTED_FEATURE_Verify  ;
  59#line 32 "featureselect.h"
  60int __SELECTED_FEATURE_Decrypt  ;
  61#line 35 "featureselect.h"
  62int __GUIDSL_ROOT_PRODUCTION  ;
  63#line 37 "featureselect.h"
  64int __GUIDSL_NON_TERMINAL_main  ;
  65#line 41
  66int select_one(void) ;
  67#line 43
  68void select_features(void) ;
  69#line 45
  70void select_helpers(void) ;
  71#line 47
  72int valid_product(void) ;
  73#line 8 "featureselect.c"
  74int select_one(void) 
  75{ int retValue_acc ;
  76  int choice = __VERIFIER_nondet_int();
  77
  78  {
  79#line 84 "featureselect.c"
  80  retValue_acc = choice;
  81#line 86
  82  return (retValue_acc);
  83#line 93
  84  return (retValue_acc);
  85}
  86}
  87#line 14 "featureselect.c"
  88void select_features(void) 
  89{ 
  90
  91  {
  92#line 115 "featureselect.c"
  93  return;
  94}
  95}
  96#line 20 "featureselect.c"
  97void select_helpers(void) 
  98{ 
  99
 100  {
 101#line 133 "featureselect.c"
 102  return;
 103}
 104}
 105#line 25 "featureselect.c"
 106int valid_product(void) 
 107{ int retValue_acc ;
 108
 109  {
 110#line 151 "featureselect.c"
 111  retValue_acc = 1;
 112#line 153
 113  return (retValue_acc);
 114#line 160
 115  return (retValue_acc);
 116}
 117}
 118#line 1 "scenario.o"
 119#pragma merger(0,"scenario.i","")
 120#line 17 "scenario.c"
 121void bobKeyAdd(void) ;
 122#line 24
 123void rjhDeletePrivateKey(void) ;
 124#line 28
 125void rjhKeyAdd(void) ;
 126#line 32
 127void chuckKeyAddRjh(void) ;
 128#line 39
 129void rjhKeyChange(void) ;
 130#line 46
 131void chuckKeyAdd(void) ;
 132#line 50
 133void bobKeyChange(void) ;
 134#line 52
 135#line 59
 136void bobToRjh(void) ;
 137#line 1 "scenario.c"
 138void test(void) 
 139{ int op1 ;
 140  int op2 ;
 141  int op3 ;
 142  int op4 ;
 143  int op5 ;
 144  int op6 ;
 145  int op7 ;
 146  int op8 ;
 147  int op9 ;
 148  int op10 ;
 149  int op11 ;
 150  int splverifierCounter ;
 151  int tmp ;
 152  int tmp___0 ;
 153  int tmp___1 ;
 154  int tmp___2 ;
 155  int tmp___3 ;
 156  int tmp___4 ;
 157  int tmp___5 ;
 158  int tmp___6 ;
 159  int tmp___7 ;
 160  int tmp___8 ;
 161  int tmp___9 ;
 162
 163  {
 164#line 2
 165  op1 = 0;
 166#line 3
 167  op2 = 0;
 168#line 4
 169  op3 = 0;
 170#line 5
 171  op4 = 0;
 172#line 6
 173  op5 = 0;
 174#line 7
 175  op6 = 0;
 176#line 8
 177  op7 = 0;
 178#line 9
 179  op8 = 0;
 180#line 10
 181  op9 = 0;
 182#line 11
 183  op10 = 0;
 184#line 12
 185  op11 = 0;
 186#line 13
 187  splverifierCounter = 0;
 188  {
 189#line 14
 190  while (1) {
 191    while_0_continue: /* CIL Label */ ;
 192#line 14
 193    if (splverifierCounter < 4) {
 194
 195    } else {
 196      goto while_0_break;
 197    }
 198#line 15
 199    splverifierCounter = splverifierCounter + 1;
 200#line 16
 201    if (! op1) {
 202      {
 203#line 16
 204      tmp___9 = __VERIFIER_nondet_int();
 205      }
 206#line 16
 207      if (tmp___9) {
 208        {
 209#line 17
 210        bobKeyAdd();
 211#line 18
 212        op1 = 1;
 213        }
 214      } else {
 215        goto _L___8;
 216      }
 217    } else {
 218      _L___8: /* CIL Label */ 
 219#line 19
 220      if (! op2) {
 221        {
 222#line 19
 223        tmp___8 = __VERIFIER_nondet_int();
 224        }
 225#line 19
 226        if (tmp___8) {
 227#line 21
 228          op2 = 1;
 229        } else {
 230          goto _L___7;
 231        }
 232      } else {
 233        _L___7: /* CIL Label */ 
 234#line 22
 235        if (! op3) {
 236          {
 237#line 22
 238          tmp___7 = __VERIFIER_nondet_int();
 239          }
 240#line 22
 241          if (tmp___7) {
 242            {
 243#line 24
 244            rjhDeletePrivateKey();
 245#line 25
 246            op3 = 1;
 247            }
 248          } else {
 249            goto _L___6;
 250          }
 251        } else {
 252          _L___6: /* CIL Label */ 
 253#line 26
 254          if (! op4) {
 255            {
 256#line 26
 257            tmp___6 = __VERIFIER_nondet_int();
 258            }
 259#line 26
 260            if (tmp___6) {
 261              {
 262#line 28
 263              rjhKeyAdd();
 264#line 29
 265              op4 = 1;
 266              }
 267            } else {
 268              goto _L___5;
 269            }
 270          } else {
 271            _L___5: /* CIL Label */ 
 272#line 30
 273            if (! op5) {
 274              {
 275#line 30
 276              tmp___5 = __VERIFIER_nondet_int();
 277              }
 278#line 30
 279              if (tmp___5) {
 280                {
 281#line 32
 282                chuckKeyAddRjh();
 283#line 33
 284                op5 = 1;
 285                }
 286              } else {
 287                goto _L___4;
 288              }
 289            } else {
 290              _L___4: /* CIL Label */ 
 291#line 34
 292              if (! op6) {
 293                {
 294#line 34
 295                tmp___4 = __VERIFIER_nondet_int();
 296                }
 297#line 34
 298                if (tmp___4) {
 299#line 36
 300                  op6 = 1;
 301                } else {
 302                  goto _L___3;
 303                }
 304              } else {
 305                _L___3: /* CIL Label */ 
 306#line 37
 307                if (! op7) {
 308                  {
 309#line 37
 310                  tmp___3 = __VERIFIER_nondet_int();
 311                  }
 312#line 37
 313                  if (tmp___3) {
 314                    {
 315#line 39
 316                    rjhKeyChange();
 317#line 40
 318                    op7 = 1;
 319                    }
 320                  } else {
 321                    goto _L___2;
 322                  }
 323                } else {
 324                  _L___2: /* CIL Label */ 
 325#line 41
 326                  if (! op8) {
 327                    {
 328#line 41
 329                    tmp___2 = __VERIFIER_nondet_int();
 330                    }
 331#line 41
 332                    if (tmp___2) {
 333#line 43
 334                      op8 = 1;
 335                    } else {
 336                      goto _L___1;
 337                    }
 338                  } else {
 339                    _L___1: /* CIL Label */ 
 340#line 44
 341                    if (! op9) {
 342                      {
 343#line 44
 344                      tmp___1 = __VERIFIER_nondet_int();
 345                      }
 346#line 44
 347                      if (tmp___1) {
 348                        {
 349#line 46
 350                        chuckKeyAdd();
 351#line 47
 352                        op9 = 1;
 353                        }
 354                      } else {
 355                        goto _L___0;
 356                      }
 357                    } else {
 358                      _L___0: /* CIL Label */ 
 359#line 48
 360                      if (! op10) {
 361                        {
 362#line 48
 363                        tmp___0 = __VERIFIER_nondet_int();
 364                        }
 365#line 48
 366                        if (tmp___0) {
 367                          {
 368#line 50
 369                          bobKeyChange();
 370#line 51
 371                          op10 = 1;
 372                          }
 373                        } else {
 374                          goto _L;
 375                        }
 376                      } else {
 377                        _L: /* CIL Label */ 
 378#line 52
 379                        if (! op11) {
 380                          {
 381#line 52
 382                          tmp = __VERIFIER_nondet_int();
 383                          }
 384#line 52
 385                          if (tmp) {
 386                            {
 387#line 54
 388                            chuckKeyAdd();
 389#line 55
 390                            op11 = 1;
 391                            }
 392                          } else {
 393                            goto while_0_break;
 394                          }
 395                        } else {
 396                          goto while_0_break;
 397                        }
 398                      }
 399                    }
 400                  }
 401                }
 402              }
 403            }
 404          }
 405        }
 406      }
 407    }
 408  }
 409  while_0_break: /* CIL Label */ ;
 410  }
 411  {
 412#line 59
 413  bobToRjh();
 414  }
 415#line 165 "scenario.c"
 416  return;
 417}
 418}
 419#line 1 "Email.o"
 420#pragma merger(0,"Email.i","")
 421#line 359 "/usr/include/stdio.h"
 422extern int printf(char const   * __restrict  __format  , ...) ;
 423#line 6 "EmailLib.h"
 424int getEmailId(int handle ) ;
 425#line 10
 426int getEmailFrom(int handle ) ;
 427#line 12
 428void setEmailFrom(int handle , int value ) ;
 429#line 14
 430int getEmailTo(int handle ) ;
 431#line 16
 432void setEmailTo(int handle , int value ) ;
 433#line 26
 434int isEncrypted(int handle ) ;
 435#line 30
 436int getEmailEncryptionKey(int handle ) ;
 437#line 34
 438int isSigned(int handle ) ;
 439#line 38
 440int getEmailSignKey(int handle ) ;
 441#line 42
 442int isVerified(int handle ) ;
 443#line 6 "Email.h"
 444void printMail(int msg ) ;
 445#line 9
 446int isReadable(int msg ) ;
 447#line 12
 448int createEmail(int from , int to ) ;
 449#line 15
 450int cloneEmail(int msg ) ;
 451#line 9 "Email.c"
 452void printMail__wrappee__Keys(int msg ) 
 453{ int tmp ;
 454  int tmp___0 ;
 455  int tmp___1 ;
 456  int tmp___2 ;
 457  char const   * __restrict  __cil_tmp6 ;
 458  char const   * __restrict  __cil_tmp7 ;
 459  char const   * __restrict  __cil_tmp8 ;
 460  char const   * __restrict  __cil_tmp9 ;
 461
 462  {
 463  {
 464#line 10
 465  tmp = getEmailId(msg);
 466#line 10
 467  __cil_tmp6 = (char const   * __restrict  )"ID:\n  %i\n";
 468#line 10
 469  printf(__cil_tmp6, tmp);
 470#line 11
 471  tmp___0 = getEmailFrom(msg);
 472#line 11
 473  __cil_tmp7 = (char const   * __restrict  )"FROM:\n  %i\n";
 474#line 11
 475  printf(__cil_tmp7, tmp___0);
 476#line 12
 477  tmp___1 = getEmailTo(msg);
 478#line 12
 479  __cil_tmp8 = (char const   * __restrict  )"TO:\n  %i\n";
 480#line 12
 481  printf(__cil_tmp8, tmp___1);
 482#line 13
 483  tmp___2 = isReadable(msg);
 484#line 13
 485  __cil_tmp9 = (char const   * __restrict  )"IS_READABLE\n  %i\n";
 486#line 13
 487  printf(__cil_tmp9, tmp___2);
 488  }
 489#line 601 "Email.c"
 490  return;
 491}
 492}
 493#line 17 "Email.c"
 494void printMail__wrappee__Encrypt(int msg ) 
 495{ int tmp ;
 496  int tmp___0 ;
 497  char const   * __restrict  __cil_tmp4 ;
 498  char const   * __restrict  __cil_tmp5 ;
 499
 500  {
 501  {
 502#line 18
 503  printMail__wrappee__Keys(msg);
 504#line 19
 505  tmp = isEncrypted(msg);
 506#line 19
 507  __cil_tmp4 = (char const   * __restrict  )"ENCRYPTED\n  %d\n";
 508#line 19
 509  printf(__cil_tmp4, tmp);
 510#line 20
 511  tmp___0 = getEmailEncryptionKey(msg);
 512#line 20
 513  __cil_tmp5 = (char const   * __restrict  )"ENCRYPTION KEY\n  %d\n";
 514#line 20
 515  printf(__cil_tmp5, tmp___0);
 516  }
 517#line 625 "Email.c"
 518  return;
 519}
 520}
 521#line 26 "Email.c"
 522void printMail__wrappee__Sign(int msg ) 
 523{ int tmp ;
 524  int tmp___0 ;
 525  char const   * __restrict  __cil_tmp4 ;
 526  char const   * __restrict  __cil_tmp5 ;
 527
 528  {
 529  {
 530#line 27
 531  printMail__wrappee__Encrypt(msg);
 532#line 28
 533  tmp = isSigned(msg);
 534#line 28
 535  __cil_tmp4 = (char const   * __restrict  )"SIGNED\n  %i\n";
 536#line 28
 537  printf(__cil_tmp4, tmp);
 538#line 29
 539  tmp___0 = getEmailSignKey(msg);
 540#line 29
 541  __cil_tmp5 = (char const   * __restrict  )"SIGNATURE\n  %i\n";
 542#line 29
 543  printf(__cil_tmp5, tmp___0);
 544  }
 545#line 649 "Email.c"
 546  return;
 547}
 548}
 549#line 33 "Email.c"
 550void printMail(int msg ) 
 551{ int tmp ;
 552  char const   * __restrict  __cil_tmp3 ;
 553
 554  {
 555  {
 556#line 34
 557  printMail__wrappee__Sign(msg);
 558#line 35
 559  tmp = isVerified(msg);
 560#line 35
 561  __cil_tmp3 = (char const   * __restrict  )"SIGNATURE VERIFIED\n  %d\n";
 562#line 35
 563  printf(__cil_tmp3, tmp);
 564  }
 565#line 671 "Email.c"
 566  return;
 567}
 568}
 569#line 41 "Email.c"
 570int isReadable__wrappee__Keys(int msg ) 
 571{ int retValue_acc ;
 572
 573  {
 574#line 689 "Email.c"
 575  retValue_acc = 1;
 576#line 691
 577  return (retValue_acc);
 578#line 698
 579  return (retValue_acc);
 580}
 581}
 582#line 49 "Email.c"
 583int isReadable(int msg ) 
 584{ int retValue_acc ;
 585  int tmp ;
 586
 587  {
 588  {
 589#line 53
 590  tmp = isEncrypted(msg);
 591  }
 592#line 53 "Email.c"
 593  if (tmp) {
 594#line 727
 595    retValue_acc = 0;
 596#line 729
 597    return (retValue_acc);
 598  } else {
 599    {
 600#line 721 "Email.c"
 601    retValue_acc = isReadable__wrappee__Keys(msg);
 602    }
 603#line 723
 604    return (retValue_acc);
 605  }
 606#line 736 "Email.c"
 607  return (retValue_acc);
 608}
 609}
 610#line 57 "Email.c"
 611int cloneEmail(int msg ) 
 612{ int retValue_acc ;
 613
 614  {
 615#line 758 "Email.c"
 616  retValue_acc = msg;
 617#line 760
 618  return (retValue_acc);
 619#line 767
 620  return (retValue_acc);
 621}
 622}
 623#line 62 "Email.c"
 624int createEmail(int from , int to ) 
 625{ int retValue_acc ;
 626  int msg ;
 627
 628  {
 629  {
 630#line 63
 631  msg = 1;
 632#line 64
 633  setEmailFrom(msg, from);
 634#line 65
 635  setEmailTo(msg, to);
 636#line 797 "Email.c"
 637  retValue_acc = msg;
 638  }
 639#line 799
 640  return (retValue_acc);
 641#line 806
 642  return (retValue_acc);
 643}
 644}
 645#line 1 "Util.o"
 646#pragma merger(0,"Util.i","")
 647#line 1 "Util.h"
 648int prompt(char *msg ) ;
 649#line 9 "Util.c"
 650int prompt(char *msg ) 
 651{ int retValue_acc ;
 652  int retval ;
 653  char const   * __restrict  __cil_tmp4 ;
 654
 655  {
 656  {
 657#line 10
 658  __cil_tmp4 = (char const   * __restrict  )"%s\n";
 659#line 10
 660  printf(__cil_tmp4, msg);
 661#line 518 "Util.c"
 662  retValue_acc = retval;
 663  }
 664#line 520
 665  return (retValue_acc);
 666#line 527
 667  return (retValue_acc);
 668}
 669}
 670#line 1 "EncryptAutoResponder_spec.o"
 671#pragma merger(0,"EncryptAutoResponder_spec.i","")
 672#line 4 "wsllib.h"
 673void __automaton_fail(void) ;
 674#line 688 "/usr/include/stdio.h"
 675extern int puts(char const   *__s ) ;
 676#line 7 "EncryptAutoResponder_spec.c"
 677int in_encrypted  =    0;
 678#line 11 "EncryptAutoResponder_spec.c"
 679__inline void __utac_acc__EncryptAutoResponder_spec__1(int msg ) 
 680{ char const   * __restrict  __cil_tmp2 ;
 681
 682  {
 683  {
 684#line 13
 685  puts("before incoming\n");
 686#line 14
 687  in_encrypted = isEncrypted(msg);
 688#line 15
 689  __cil_tmp2 = (char const   * __restrict  )"in_encrypted=%d\n";
 690#line 15
 691  printf(__cil_tmp2, in_encrypted);
 692  }
 693#line 15
 694  return;
 695}
 696}
 697#line 19 "EncryptAutoResponder_spec.c"
 698__inline void __utac_acc__EncryptAutoResponder_spec__2(int msg ) 
 699{ int tmp ;
 700  char const   * __restrict  __cil_tmp3 ;
 701
 702  {
 703  {
 704#line 21
 705  puts("before mail\n");
 706#line 22
 707  __cil_tmp3 = (char const   * __restrict  )"in_encrypted=%d\n";
 708#line 22
 709  printf(__cil_tmp3, in_encrypted);
 710  }
 711#line 23
 712  if (in_encrypted) {
 713    {
 714#line 23
 715    tmp = isEncrypted(msg);
 716    }
 717#line 23
 718    if (tmp) {
 719
 720    } else {
 721      {
 722#line 24
 723      __automaton_fail();
 724      }
 725    }
 726  } else {
 727
 728  }
 729#line 24
 730  return;
 731}
 732}
 733#line 1 "EmailLib.o"
 734#pragma merger(0,"EmailLib.i","")
 735#line 4 "EmailLib.h"
 736int initEmail(void) ;
 737#line 8
 738void setEmailId(int handle , int value ) ;
 739#line 18
 740char *getEmailSubject(int handle ) ;
 741#line 20
 742void setEmailSubject(int handle , char *value ) ;
 743#line 22
 744char *getEmailBody(int handle ) ;
 745#line 24
 746void setEmailBody(int handle , char *value ) ;
 747#line 28
 748void setEmailIsEncrypted(int handle , int value ) ;
 749#line 32
 750void setEmailEncryptionKey(int handle , int value ) ;
 751#line 36
 752void setEmailIsSigned(int handle , int value ) ;
 753#line 40
 754void setEmailSignKey(int handle , int value ) ;
 755#line 44
 756void setEmailIsSignatureVerified(int handle , int value ) ;
 757#line 5 "EmailLib.c"
 758int __ste_Email_counter  =    0;
 759#line 7 "EmailLib.c"
 760int initEmail(void) 
 761{ int retValue_acc ;
 762
 763  {
 764#line 12 "EmailLib.c"
 765  if (__ste_Email_counter < 2) {
 766#line 670
 767    __ste_Email_counter = __ste_Email_counter + 1;
 768#line 670
 769    retValue_acc = __ste_Email_counter;
 770#line 672
 771    return (retValue_acc);
 772  } else {
 773#line 678 "EmailLib.c"
 774    retValue_acc = -1;
 775#line 680
 776    return (retValue_acc);
 777  }
 778#line 687 "EmailLib.c"
 779  return (retValue_acc);
 780}
 781}
 782#line 15 "EmailLib.c"
 783int __ste_email_id0  =    0;
 784#line 17 "EmailLib.c"
 785int __ste_email_id1  =    0;
 786#line 19 "EmailLib.c"
 787int getEmailId(int handle ) 
 788{ int retValue_acc ;
 789
 790  {
 791#line 26 "EmailLib.c"
 792  if (handle == 1) {
 793#line 716
 794    retValue_acc = __ste_email_id0;
 795#line 718
 796    return (retValue_acc);
 797  } else {
 798#line 720
 799    if (handle == 2) {
 800#line 725
 801      retValue_acc = __ste_email_id1;
 802#line 727
 803      return (retValue_acc);
 804    } else {
 805#line 733 "EmailLib.c"
 806      retValue_acc = 0;
 807#line 735
 808      return (retValue_acc);
 809    }
 810  }
 811#line 742 "EmailLib.c"
 812  return (retValue_acc);
 813}
 814}
 815#line 29 "EmailLib.c"
 816void setEmailId(int handle , int value ) 
 817{ 
 818
 819  {
 820#line 35
 821  if (handle == 1) {
 822#line 31
 823    __ste_email_id0 = value;
 824  } else {
 825#line 32
 826    if (handle == 2) {
 827#line 33
 828      __ste_email_id1 = value;
 829    } else {
 830
 831    }
 832  }
 833#line 773 "EmailLib.c"
 834  return;
 835}
 836}
 837#line 37 "EmailLib.c"
 838int __ste_email_from0  =    0;
 839#line 39 "EmailLib.c"
 840int __ste_email_from1  =    0;
 841#line 41 "EmailLib.c"
 842int getEmailFrom(int handle ) 
 843{ int retValue_acc ;
 844
 845  {
 846#line 48 "EmailLib.c"
 847  if (handle == 1) {
 848#line 798
 849    retValue_acc = __ste_email_from0;
 850#line 800
 851    return (retValue_acc);
 852  } else {
 853#line 802
 854    if (handle == 2) {
 855#line 807
 856      retValue_acc = __ste_email_from1;
 857#line 809
 858      return (retValue_acc);
 859    } else {
 860#line 815 "EmailLib.c"
 861      retValue_acc = 0;
 862#line 817
 863      return (retValue_acc);
 864    }
 865  }
 866#line 824 "EmailLib.c"
 867  return (retValue_acc);
 868}
 869}
 870#line 51 "EmailLib.c"
 871void setEmailFrom(int handle , int value ) 
 872{ 
 873
 874  {
 875#line 57
 876  if (handle == 1) {
 877#line 53
 878    __ste_email_from0 = value;
 879  } else {
 880#line 54
 881    if (handle == 2) {
 882#line 55
 883      __ste_email_from1 = value;
 884    } else {
 885
 886    }
 887  }
 888#line 855 "EmailLib.c"
 889  return;
 890}
 891}
 892#line 59 "EmailLib.c"
 893int __ste_email_to0  =    0;
 894#line 61 "EmailLib.c"
 895int __ste_email_to1  =    0;
 896#line 63 "EmailLib.c"
 897int getEmailTo(int handle ) 
 898{ int retValue_acc ;
 899
 900  {
 901#line 70 "EmailLib.c"
 902  if (handle == 1) {
 903#line 880
 904    retValue_acc = __ste_email_to0;
 905#line 882
 906    return (retValue_acc);
 907  } else {
 908#line 884
 909    if (handle == 2) {
 910#line 889
 911      retValue_acc = __ste_email_to1;
 912#line 891
 913      return (retValue_acc);
 914    } else {
 915#line 897 "EmailLib.c"
 916      retValue_acc = 0;
 917#line 899
 918      return (retValue_acc);
 919    }
 920  }
 921#line 906 "EmailLib.c"
 922  return (retValue_acc);
 923}
 924}
 925#line 73 "EmailLib.c"
 926void setEmailTo(int handle , int value ) 
 927{ 
 928
 929  {
 930#line 79
 931  if (handle == 1) {
 932#line 75
 933    __ste_email_to0 = value;
 934  } else {
 935#line 76
 936    if (handle == 2) {
 937#line 77
 938      __ste_email_to1 = value;
 939    } else {
 940
 941    }
 942  }
 943#line 937 "EmailLib.c"
 944  return;
 945}
 946}
 947#line 81 "EmailLib.c"
 948char *__ste_email_subject0  ;
 949#line 83 "EmailLib.c"
 950char *__ste_email_subject1  ;
 951#line 85 "EmailLib.c"
 952char *getEmailSubject(int handle ) 
 953{ char *retValue_acc ;
 954  void *__cil_tmp3 ;
 955
 956  {
 957#line 92 "EmailLib.c"
 958  if (handle == 1) {
 959#line 962
 960    retValue_acc = __ste_email_subject0;
 961#line 964
 962    return (retValue_acc);
 963  } else {
 964#line 966
 965    if (handle == 2) {
 966#line 971
 967      retValue_acc = __ste_email_subject1;
 968#line 973
 969      return (retValue_acc);
 970    } else {
 971#line 979 "EmailLib.c"
 972      __cil_tmp3 = (void *)0;
 973#line 979
 974      retValue_acc = (char *)__cil_tmp3;
 975#line 981
 976      return (retValue_acc);
 977    }
 978  }
 979#line 988 "EmailLib.c"
 980  return (retValue_acc);
 981}
 982}
 983#line 95 "EmailLib.c"
 984void setEmailSubject(int handle , char *value ) 
 985{ 
 986
 987  {
 988#line 101
 989  if (handle == 1) {
 990#line 97
 991    __ste_email_subject0 = value;
 992  } else {
 993#line 98
 994    if (handle == 2) {
 995#line 99
 996      __ste_email_subject1 = value;
 997    } else {
 998
 999    }
1000  }
1001#line 1019 "EmailLib.c"
1002  return;
1003}
1004}
1005#line 103 "EmailLib.c"
1006char *__ste_email_body0  =    (char *)0;
1007#line 105 "EmailLib.c"
1008char *__ste_email_body1  =    (char *)0;
1009#line 107 "EmailLib.c"
1010char *getEmailBody(int handle ) 
1011{ char *retValue_acc ;
1012  void *__cil_tmp3 ;
1013
1014  {
1015#line 114 "EmailLib.c"
1016  if (handle == 1) {
1017#line 1044
1018    retValue_acc = __ste_email_body0;
1019#line 1046
1020    return (retValue_acc);
1021  } else {
1022#line 1048
1023    if (handle == 2) {
1024#line 1053
1025      retValue_acc = __ste_email_body1;
1026#line 1055
1027      return (retValue_acc);
1028    } else {
1029#line 1061 "EmailLib.c"
1030      __cil_tmp3 = (void *)0;
1031#line 1061
1032      retValue_acc = (char *)__cil_tmp3;
1033#line 1063
1034      return (retValue_acc);
1035    }
1036  }
1037#line 1070 "EmailLib.c"
1038  return (retValue_acc);
1039}
1040}
1041#line 117 "EmailLib.c"
1042void setEmailBody(int handle , char *value ) 
1043{ 
1044
1045  {
1046#line 123
1047  if (handle == 1) {
1048#line 119
1049    __ste_email_body0 = value;
1050  } else {
1051#line 120
1052    if (handle == 2) {
1053#line 121
1054      __ste_email_body1 = value;
1055    } else {
1056
1057    }
1058  }
1059#line 1101 "EmailLib.c"
1060  return;
1061}
1062}
1063#line 125 "EmailLib.c"
1064int __ste_email_isEncrypted0  =    0;
1065#line 127 "EmailLib.c"
1066int __ste_email_isEncrypted1  =    0;
1067#line 129 "EmailLib.c"
1068int isEncrypted(int handle ) 
1069{ int retValue_acc ;
1070
1071  {
1072#line 136 "EmailLib.c"
1073  if (handle == 1) {
1074#line 1126
1075    retValue_acc = __ste_email_isEncrypted0;
1076#line 1128
1077    return (retValue_acc);
1078  } else {
1079#line 1130
1080    if (handle == 2) {
1081#line 1135
1082      retValue_acc = __ste_email_isEncrypted1;
1083#line 1137
1084      return (retValue_acc);
1085    } else {
1086#line 1143 "EmailLib.c"
1087      retValue_acc = 0;
1088#line 1145
1089      return (retValue_acc);
1090    }
1091  }
1092#line 1152 "EmailLib.c"
1093  return (retValue_acc);
1094}
1095}
1096#line 139 "EmailLib.c"
1097void setEmailIsEncrypted(int handle , int value ) 
1098{ 
1099
1100  {
1101#line 145
1102  if (handle == 1) {
1103#line 141
1104    __ste_email_isEncrypted0 = value;
1105  } else {
1106#line 142
1107    if (handle == 2) {
1108#line 143
1109      __ste_email_isEncrypted1 = value;
1110    } else {
1111
1112    }
1113  }
1114#line 1183 "EmailLib.c"
1115  return;
1116}
1117}
1118#line 147 "EmailLib.c"
1119int __ste_email_encryptionKey0  =    0;
1120#line 149 "EmailLib.c"
1121int __ste_email_encryptionKey1  =    0;
1122#line 151 "EmailLib.c"
1123int getEmailEncryptionKey(int handle ) 
1124{ int retValue_acc ;
1125
1126  {
1127#line 158 "EmailLib.c"
1128  if (handle == 1) {
1129#line 1208
1130    retValue_acc = __ste_email_encryptionKey0;
1131#line 1210
1132    return (retValue_acc);
1133  } else {
1134#line 1212
1135    if (handle == 2) {
1136#line 1217
1137      retValue_acc = __ste_email_encryptionKey1;
1138#line 1219
1139      return (retValue_acc);
1140    } else {
1141#line 1225 "EmailLib.c"
1142      retValue_acc = 0;
1143#line 1227
1144      return (retValue_acc);
1145    }
1146  }
1147#line 1234 "EmailLib.c"
1148  return (retValue_acc);
1149}
1150}
1151#line 161 "EmailLib.c"
1152void setEmailEncryptionKey(int handle , int value ) 
1153{ 
1154
1155  {
1156#line 167
1157  if (handle == 1) {
1158#line 163
1159    __ste_email_encryptionKey0 = value;
1160  } else {
1161#line 164
1162    if (handle == 2) {
1163#line 165
1164      __ste_email_encryptionKey1 = value;
1165    } else {
1166
1167    }
1168  }
1169#line 1265 "EmailLib.c"
1170  return;
1171}
1172}
1173#line 169 "EmailLib.c"
1174int __ste_email_isSigned0  =    0;
1175#line 171 "EmailLib.c"
1176int __ste_email_isSigned1  =    0;
1177#line 173 "EmailLib.c"
1178int isSigned(int handle ) 
1179{ int retValue_acc ;
1180
1181  {
1182#line 180 "EmailLib.c"
1183  if (handle == 1) {
1184#line 1290
1185    retValue_acc = __ste_email_isSigned0;
1186#line 1292
1187    return (retValue_acc);
1188  } else {
1189#line 1294
1190    if (handle == 2) {
1191#line 1299
1192      retValue_acc = __ste_email_isSigned1;
1193#line 1301
1194      return (retValue_acc);
1195    } else {
1196#line 1307 "EmailLib.c"
1197      retValue_acc = 0;
1198#line 1309
1199      return (retValue_acc);
1200    }
1201  }
1202#line 1316 "EmailLib.c"
1203  return (retValue_acc);
1204}
1205}
1206#line 183 "EmailLib.c"
1207void setEmailIsSigned(int handle , int value ) 
1208{ 
1209
1210  {
1211#line 189
1212  if (handle == 1) {
1213#line 185
1214    __ste_email_isSigned0 = value;
1215  } else {
1216#line 186
1217    if (handle == 2) {
1218#line 187
1219      __ste_email_isSigned1 = value;
1220    } else {
1221
1222    }
1223  }
1224#line 1347 "EmailLib.c"
1225  return;
1226}
1227}
1228#line 191 "EmailLib.c"
1229int __ste_email_signKey0  =    0;
1230#line 193 "EmailLib.c"
1231int __ste_email_signKey1  =    0;
1232#line 195 "EmailLib.c"
1233int getEmailSignKey(int handle ) 
1234{ int retValue_acc ;
1235
1236  {
1237#line 202 "EmailLib.c"
1238  if (handle == 1) {
1239#line 1372
1240    retValue_acc = __ste_email_signKey0;
1241#line 1374
1242    return (retValue_acc);
1243  } else {
1244#line 1376
1245    if (handle == 2) {
1246#line 1381
1247      retValue_acc = __ste_email_signKey1;
1248#line 1383
1249      return (retValue_acc);
1250    } else {
1251#line 1389 "EmailLib.c"
1252      retValue_acc = 0;
1253#line 1391
1254      return (retValue_acc);
1255    }
1256  }
1257#line 1398 "EmailLib.c"
1258  return (retValue_acc);
1259}
1260}
1261#line 205 "EmailLib.c"
1262void setEmailSignKey(int handle , int value ) 
1263{ 
1264
1265  {
1266#line 211
1267  if (handle == 1) {
1268#line 207
1269    __ste_email_signKey0 = value;
1270  } else {
1271#line 208
1272    if (handle == 2) {
1273#line 209
1274      __ste_email_signKey1 = value;
1275    } else {
1276
1277    }
1278  }
1279#line 1429 "EmailLib.c"
1280  return;
1281}
1282}
1283#line 213 "EmailLib.c"
1284int __ste_email_isSignatureVerified0  ;
1285#line 215 "EmailLib.c"
1286int __ste_email_isSignatureVerified1  ;
1287#line 217 "EmailLib.c"
1288int isVerified(int handle ) 
1289{ int retValue_acc ;
1290
1291  {
1292#line 224 "EmailLib.c"
1293  if (handle == 1) {
1294#line 1454
1295    retValue_acc = __ste_email_isSignatureVerified0;
1296#line 1456
1297    return (retValue_acc);
1298  } else {
1299#line 1458
1300    if (handle == 2) {
1301#line 1463
1302      retValue_acc = __ste_email_isSignatureVerified1;
1303#line 1465
1304      return (retValue_acc);
1305    } else {
1306#line 1471 "EmailLib.c"
1307      retValue_acc = 0;
1308#line 1473
1309      return (retValue_acc);
1310    }
1311  }
1312#line 1480 "EmailLib.c"
1313  return (retValue_acc);
1314}
1315}
1316#line 227 "EmailLib.c"
1317void setEmailIsSignatureVerified(int handle , int value ) 
1318{ 
1319
1320  {
1321#line 233
1322  if (handle == 1) {
1323#line 229
1324    __ste_email_isSignatureVerified0 = value;
1325  } else {
1326#line 230
1327    if (handle == 2) {
1328#line 231
1329      __ste_email_isSignatureVerified1 = value;
1330    } else {
1331
1332    }
1333  }
1334#line 1511 "EmailLib.c"
1335  return;
1336}
1337}
1338#line 1 "libacc.o"
1339#pragma merger(0,"libacc.i","")
1340#line 73 "/usr/include/assert.h"
1341extern  __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const   *__assertion ,
1342                                                                      char const   *__file ,
1343                                                                      unsigned int __line ,
1344                                                                      char const   *__function ) ;
1345#line 471 "/usr/include/stdlib.h"
1346extern  __attribute__((__nothrow__)) void *malloc(size_t __size )  __attribute__((__malloc__)) ;
1347#line 488
1348extern  __attribute__((__nothrow__)) void free(void *__ptr ) ;
1349#line 32 "libacc.c"
1350void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int  ,
1351                                                                           int  ) ,
1352                                       int val ) 
1353{ struct __UTAC__EXCEPTION *excep ;
1354  struct __UTAC__CFLOW_FUNC *cf ;
1355  void *tmp ;
1356  unsigned long __cil_tmp7 ;
1357  unsigned long __cil_tmp8 ;
1358  unsigned long __cil_tmp9 ;
1359  unsigned long __cil_tmp10 ;
1360  unsigned long __cil_tmp11 ;
1361  unsigned long __cil_tmp12 ;
1362  unsigned long __cil_tmp13 ;
1363  unsigned long __cil_tmp14 ;
1364  int (**mem_15)(int  , int  ) ;
1365  int *mem_16 ;
1366  struct __UTAC__CFLOW_FUNC **mem_17 ;
1367  struct __UTAC__CFLOW_FUNC **mem_18 ;
1368  struct __UTAC__CFLOW_FUNC **mem_19 ;
1369
1370  {
1371  {
1372#line 33
1373  excep = (struct __UTAC__EXCEPTION *)exception;
1374#line 34
1375  tmp = malloc(24UL);
1376#line 34
1377  cf = (struct __UTAC__CFLOW_FUNC *)tmp;
1378#line 36
1379  mem_15 = (int (**)(int  , int  ))cf;
1380#line 36
1381  *mem_15 = cflow_func;
1382#line 37
1383  __cil_tmp7 = (unsigned long )cf;
1384#line 37
1385  __cil_tmp8 = __cil_tmp7 + 8;
1386#line 37
1387  mem_16 = (int *)__cil_tmp8;
1388#line 37
1389  *mem_16 = val;
1390#line 38
1391  __cil_tmp9 = (unsigned long )cf;
1392#line 38
1393  __cil_tmp10 = __cil_tmp9 + 16;
1394#line 38
1395  __cil_tmp11 = (unsigned long )excep;
1396#line 38
1397  __cil_tmp12 = __cil_tmp11 + 24;
1398#line 38
1399  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10;
1400#line 38
1401  mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12;
1402#line 38
1403  *mem_17 = *mem_18;
1404#line 39
1405  __cil_tmp13 = (unsigned long )excep;
1406#line 39
1407  __cil_tmp14 = __cil_tmp13 + 24;
1408#line 39
1409  mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
1410#line 39
1411  *mem_19 = cf;
1412  }
1413#line 654 "libacc.c"
1414  return;
1415}
1416}
1417#line 44 "libacc.c"
1418void __utac__exception__cf_handler_free(void *exception ) 
1419{ struct __UTAC__EXCEPTION *excep ;
1420  struct __UTAC__CFLOW_FUNC *cf ;
1421  struct __UTAC__CFLOW_FUNC *tmp ;
1422  unsigned long __cil_tmp5 ;
1423  unsigned long __cil_tmp6 ;
1424  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
1425  unsigned long __cil_tmp8 ;
1426  unsigned long __cil_tmp9 ;
1427  unsigned long __cil_tmp10 ;
1428  unsigned long __cil_tmp11 ;
1429  void *__cil_tmp12 ;
1430  unsigned long __cil_tmp13 ;
1431  unsigned long __cil_tmp14 ;
1432  struct __UTAC__CFLOW_FUNC **mem_15 ;
1433  struct __UTAC__CFLOW_FUNC **mem_16 ;
1434  struct __UTAC__CFLOW_FUNC **mem_17 ;
1435
1436  {
1437#line 45
1438  excep = (struct __UTAC__EXCEPTION *)exception;
1439#line 46
1440  __cil_tmp5 = (unsigned long )excep;
1441#line 46
1442  __cil_tmp6 = __cil_tmp5 + 24;
1443#line 46
1444  mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
1445#line 46
1446  cf = *mem_15;
1447  {
1448#line 49
1449  while (1) {
1450    while_1_continue: /* CIL Label */ ;
1451    {
1452#line 49
1453    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
1454#line 49
1455    __cil_tmp8 = (unsigned long )__cil_tmp7;
1456#line 49
1457    __cil_tmp9 = (unsigned long )cf;
1458#line 49
1459    if (__cil_tmp9 != __cil_tmp8) {
1460
1461    } else {
1462      goto while_1_break;
1463    }
1464    }
1465    {
1466#line 50
1467    tmp = cf;
1468#line 51
1469    __cil_tmp10 = (unsigned long )cf;
1470#line 51
1471    __cil_tmp11 = __cil_tmp10 + 16;
1472#line 51
1473    mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11;
1474#line 51
1475    cf = *mem_16;
1476#line 52
1477    __cil_tmp12 = (void *)tmp;
1478#line 52
1479    free(__cil_tmp12);
1480    }
1481  }
1482  while_1_break: /* CIL Label */ ;
1483  }
1484#line 55
1485  __cil_tmp13 = (unsigned long )excep;
1486#line 55
1487  __cil_tmp14 = __cil_tmp13 + 24;
1488#line 55
1489  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
1490#line 55
1491  *mem_17 = (struct __UTAC__CFLOW_FUNC *)0;
1492#line 694 "libacc.c"
1493  return;
1494}
1495}
1496#line 59 "libacc.c"
1497void __utac__exception__cf_handler_reset(void *exception ) 
1498{ struct __UTAC__EXCEPTION *excep ;
1499  struct __UTAC__CFLOW_FUNC *cf ;
1500  unsigned long __cil_tmp5 ;
1501  unsigned long __cil_tmp6 ;
1502  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
1503  unsigned long __cil_tmp8 ;
1504  unsigned long __cil_tmp9 ;
1505  int (*__cil_tmp10)(int  , int  ) ;
1506  unsigned long __cil_tmp11 ;
1507  unsigned long __cil_tmp12 ;
1508  int __cil_tmp13 ;
1509  unsigned long __cil_tmp14 ;
1510  unsigned long __cil_tmp15 ;
1511  struct __UTAC__CFLOW_FUNC **mem_16 ;
1512  int (**mem_17)(int  , int  ) ;
1513  int *mem_18 ;
1514  struct __UTAC__CFLOW_FUNC **mem_19 ;
1515
1516  {
1517#line 60
1518  excep = (struct __UTAC__EXCEPTION *)exception;
1519#line 61
1520  __cil_tmp5 = (unsigned long )excep;
1521#line 61
1522  __cil_tmp6 = __cil_tmp5 + 24;
1523#line 61
1524  mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
1525#line 61
1526  cf = *mem_16;
1527  {
1528#line 64
1529  while (1) {
1530    while_2_continue: /* CIL Label */ ;
1531    {
1532#line 64
1533    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
1534#line 64
1535    __cil_tmp8 = (unsigned long )__cil_tmp7;
1536#line 64
1537    __cil_tmp9 = (unsigned long )cf;
1538#line 64
1539    if (__cil_tmp9 != __cil_tmp8) {
1540
1541    } else {
1542      goto while_2_break;
1543    }
1544    }
1545    {
1546#line 65
1547    mem_17 = (int (**)(int  , int  ))cf;
1548#line 65
1549    __cil_tmp10 = *mem_17;
1550#line 65
1551    __cil_tmp11 = (unsigned long )cf;
1552#line 65
1553    __cil_tmp12 = __cil_tmp11 + 8;
1554#line 65
1555    mem_18 = (int *)__cil_tmp12;
1556#line 65
1557    __cil_tmp13 = *mem_18;
1558#line 65
1559    (*__cil_tmp10)(4, __cil_tmp13);
1560#line 66
1561    __cil_tmp14 = (unsigned long )cf;
1562#line 66
1563    __cil_tmp15 = __cil_tmp14 + 16;
1564#line 66
1565    mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15;
1566#line 66
1567    cf = *mem_19;
1568    }
1569  }
1570  while_2_break: /* CIL Label */ ;
1571  }
1572  {
1573#line 69
1574  __utac__exception__cf_handler_free(exception);
1575  }
1576#line 732 "libacc.c"
1577  return;
1578}
1579}
1580#line 80 "libacc.c"
1581void *__utac__error_stack_mgt(void *env , int mode , int count ) ;
1582#line 80 "libacc.c"
1583static struct __ACC__ERR *head  =    (struct __ACC__ERR *)0;
1584#line 79 "libacc.c"
1585void *__utac__error_stack_mgt(void *env , int mode , int count ) 
1586{ void *retValue_acc ;
1587  struct __ACC__ERR *new ;
1588  void *tmp ;
1589  struct __ACC__ERR *temp ;
1590  struct __ACC__ERR *next ;
1591  void *excep ;
1592  unsigned long __cil_tmp10 ;
1593  unsigned long __cil_tmp11 ;
1594  unsigned long __cil_tmp12 ;
1595  unsigned long __cil_tmp13 ;
1596  void *__cil_tmp14 ;
1597  unsigned long __cil_tmp15 ;
1598  unsigned long __cil_tmp16 ;
1599  void *__cil_tmp17 ;
1600  void **mem_18 ;
1601  struct __ACC__ERR **mem_19 ;
1602  struct __ACC__ERR **mem_20 ;
1603  void **mem_21 ;
1604  struct __ACC__ERR **mem_22 ;
1605  void **mem_23 ;
1606  void **mem_24 ;
1607
1608  {
1609#line 82 "libacc.c"
1610  if (count == 0) {
1611#line 758 "libacc.c"
1612    return (retValue_acc);
1613  } else {
1614
1615  }
1616#line 86 "libacc.c"
1617  if (mode == 0) {
1618    {
1619#line 87
1620    tmp = malloc(16UL);
1621#line 87
1622    new = (struct __ACC__ERR *)tmp;
1623#line 88
1624    mem_18 = (void **)new;
1625#line 88
1626    *mem_18 = env;
1627#line 89
1628    __cil_tmp10 = (unsigned long )new;
1629#line 89
1630    __cil_tmp11 = __cil_tmp10 + 8;
1631#line 89
1632    mem_19 = (struct __ACC__ERR **)__cil_tmp11;
1633#line 89
1634    *mem_19 = head;
1635#line 90
1636    head = new;
1637#line 776 "libacc.c"
1638    retValue_acc = (void *)new;
1639    }
1640#line 778
1641    return (retValue_acc);
1642  } else {
1643
1644  }
1645#line 94 "libacc.c"
1646  if (mode == 1) {
1647#line 95
1648    temp = head;
1649    {
1650#line 98
1651    while (1) {
1652      while_3_continue: /* CIL Label */ ;
1653#line 98
1654      if (count > 1) {
1655
1656      } else {
1657        goto while_3_break;
1658      }
1659      {
1660#line 99
1661      __cil_tmp12 = (unsigned long )temp;
1662#line 99
1663      __cil_tmp13 = __cil_tmp12 + 8;
1664#line 99
1665      mem_20 = (struct __ACC__ERR **)__cil_tmp13;
1666#line 99
1667      next = *mem_20;
1668#line 100
1669      mem_21 = (void **)temp;
1670#line 100
1671      excep = *mem_21;
1672#line 101
1673      __cil_tmp14 = (void *)temp;
1674#line 101
1675      free(__cil_tmp14);
1676#line 102
1677      __utac__exception__cf_handler_reset(excep);
1678#line 103
1679      temp = next;
1680#line 104
1681      count = count - 1;
1682      }
1683    }
1684    while_3_break: /* CIL Label */ ;
1685    }
1686    {
1687#line 107
1688    __cil_tmp15 = (unsigned long )temp;
1689#line 107
1690    __cil_tmp16 = __cil_tmp15 + 8;
1691#line 107
1692    mem_22 = (struct __ACC__ERR **)__cil_tmp16;
1693#line 107
1694    head = *mem_22;
1695#line 108
1696    mem_23 = (void **)temp;
1697#line 108
1698    excep = *mem_23;
1699#line 109
1700    __cil_tmp17 = (void *)temp;
1701#line 109
1702    free(__cil_tmp17);
1703#line 110
1704    __utac__exception__cf_handler_reset(excep);
1705#line 820 "libacc.c"
1706    retValue_acc = excep;
1707    }
1708#line 822
1709    return (retValue_acc);
1710  } else {
1711
1712  }
1713#line 114
1714  if (mode == 2) {
1715#line 118 "libacc.c"
1716    if (head) {
1717#line 831
1718      mem_24 = (void **)head;
1719#line 831
1720      retValue_acc = *mem_24;
1721#line 833
1722      return (retValue_acc);
1723    } else {
1724#line 837 "libacc.c"
1725      retValue_acc = (void *)0;
1726#line 839
1727      return (retValue_acc);
1728    }
1729  } else {
1730
1731  }
1732#line 846 "libacc.c"
1733  return (retValue_acc);
1734}
1735}
1736#line 122 "libacc.c"
1737void *__utac__get_this_arg(int i , struct JoinPoint *this ) 
1738{ void *retValue_acc ;
1739  unsigned long __cil_tmp4 ;
1740  unsigned long __cil_tmp5 ;
1741  int __cil_tmp6 ;
1742  int __cil_tmp7 ;
1743  unsigned long __cil_tmp8 ;
1744  unsigned long __cil_tmp9 ;
1745  void **__cil_tmp10 ;
1746  void **__cil_tmp11 ;
1747  int *mem_12 ;
1748  void ***mem_13 ;
1749
1750  {
1751#line 123
1752  if (i > 0) {
1753    {
1754#line 123
1755    __cil_tmp4 = (unsigned long )this;
1756#line 123
1757    __cil_tmp5 = __cil_tmp4 + 16;
1758#line 123
1759    mem_12 = (int *)__cil_tmp5;
1760#line 123
1761    __cil_tmp6 = *mem_12;
1762#line 123
1763    if (i <= __cil_tmp6) {
1764
1765    } else {
1766      {
1767#line 123
1768      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1769                    123U, "__utac__get_this_arg");
1770      }
1771    }
1772    }
1773  } else {
1774    {
1775#line 123
1776    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1777                  123U, "__utac__get_this_arg");
1778    }
1779  }
1780#line 870 "libacc.c"
1781  __cil_tmp7 = i - 1;
1782#line 870
1783  __cil_tmp8 = (unsigned long )this;
1784#line 870
1785  __cil_tmp9 = __cil_tmp8 + 8;
1786#line 870
1787  mem_13 = (void ***)__cil_tmp9;
1788#line 870
1789  __cil_tmp10 = *mem_13;
1790#line 870
1791  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
1792#line 870
1793  retValue_acc = *__cil_tmp11;
1794#line 872
1795  return (retValue_acc);
1796#line 879
1797  return (retValue_acc);
1798}
1799}
1800#line 129 "libacc.c"
1801char const   *__utac__get_this_argtype(int i , struct JoinPoint *this ) 
1802{ char const   *retValue_acc ;
1803  unsigned long __cil_tmp4 ;
1804  unsigned long __cil_tmp5 ;
1805  int __cil_tmp6 ;
1806  int __cil_tmp7 ;
1807  unsigned long __cil_tmp8 ;
1808  unsigned long __cil_tmp9 ;
1809  char const   **__cil_tmp10 ;
1810  char const   **__cil_tmp11 ;
1811  int *mem_12 ;
1812  char const   ***mem_13 ;
1813
1814  {
1815#line 131
1816  if (i > 0) {
1817    {
1818#line 131
1819    __cil_tmp4 = (unsigned long )this;
1820#line 131
1821    __cil_tmp5 = __cil_tmp4 + 16;
1822#line 131
1823    mem_12 = (int *)__cil_tmp5;
1824#line 131
1825    __cil_tmp6 = *mem_12;
1826#line 131
1827    if (i <= __cil_tmp6) {
1828
1829    } else {
1830      {
1831#line 131
1832      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1833                    131U, "__utac__get_this_argtype");
1834      }
1835    }
1836    }
1837  } else {
1838    {
1839#line 131
1840    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
1841                  131U, "__utac__get_this_argtype");
1842    }
1843  }
1844#line 903 "libacc.c"
1845  __cil_tmp7 = i - 1;
1846#line 903
1847  __cil_tmp8 = (unsigned long )this;
1848#line 903
1849  __cil_tmp9 = __cil_tmp8 + 24;
1850#line 903
1851  mem_13 = (char const   ***)__cil_tmp9;
1852#line 903
1853  __cil_tmp10 = *mem_13;
1854#line 903
1855  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
1856#line 903
1857  retValue_acc = *__cil_tmp11;
1858#line 905
1859  return (retValue_acc);
1860#line 912
1861  return (retValue_acc);
1862}
1863}
1864#line 1 "wsllib_check.o"
1865#pragma merger(0,"wsllib_check.i","")
1866#line 3 "wsllib_check.c"
1867void __automaton_fail(void) 
1868{ 
1869
1870  {
1871  goto ERROR;
1872  ERROR: ;
1873#line 53 "wsllib_check.c"
1874  return;
1875}
1876}
1877#line 1 "Test.o"
1878#pragma merger(0,"Test.i","")
1879#line 35 "ClientLib.h"
1880void setClientPrivateKey(int handle , int value ) ;
1881#line 39
1882int createClientKeyringEntry(int handle ) ;
1883#line 41
1884int getClientKeyringUser(int handle , int index ) ;
1885#line 43
1886void setClientKeyringUser(int handle , int index , int value ) ;
1887#line 45
1888int getClientKeyringPublicKey(int handle , int index ) ;
1889#line 47
1890void setClientKeyringPublicKey(int handle , int index , int value ) ;
1891#line 55
1892void setClientId(int handle , int value ) ;
1893#line 17 "Client.h"
1894int is_queue_empty(void) ;
1895#line 19
1896int get_queued_client(void) ;
1897#line 21
1898int get_queued_email(void) ;
1899#line 26
1900void outgoing(int client , int msg ) ;
1901#line 35
1902void sendEmail(int sender , int receiver ) ;
1903#line 44
1904void generateKeyPair(int client , int seed ) ;
1905#line 2 "Test.h"
1906int bob  ;
1907#line 5 "Test.h"
1908int rjh  ;
1909#line 8 "Test.h"
1910int chuck  ;
1911#line 11
1912void setup_bob(int bob___0 ) ;
1913#line 14
1914void setup_rjh(int rjh___0 ) ;
1915#line 17
1916void setup_chuck(int chuck___0 ) ;
1917#line 26
1918void rjhToBob(void) ;
1919#line 32
1920void setup(void) ;
1921#line 35
1922int main(void) ;
1923#line 39
1924void bobKeyAddChuck(void) ;
1925#line 45
1926void rjhKeyAddChuck(void) ;
1927#line 18 "Test.c"
1928void setup_bob__wrappee__Base(int bob___0 ) 
1929{ 
1930
1931  {
1932  {
1933#line 19
1934  setClientId(bob___0, bob___0);
1935  }
1936#line 1326 "Test.c"
1937  return;
1938}
1939}
1940#line 23 "Test.c"
1941void setup_bob(int bob___0 ) 
1942{ 
1943
1944  {
1945  {
1946#line 24
1947  setup_bob__wrappee__Base(bob___0);
1948#line 25
1949  setClientPrivateKey(bob___0, 123);
1950  }
1951#line 1348 "Test.c"
1952  return;
1953}
1954}
1955#line 33 "Test.c"
1956void setup_rjh__wrappee__Base(int rjh___0 ) 
1957{ 
1958
1959  {
1960  {
1961#line 34
1962  setClientId(rjh___0, rjh___0);
1963  }
1964#line 1368 "Test.c"
1965  return;
1966}
1967}
1968#line 40 "Test.c"
1969void setup_rjh(int rjh___0 ) 
1970{ 
1971
1972  {
1973  {
1974#line 42
1975  setup_rjh__wrappee__Base(rjh___0);
1976#line 43
1977  setClientPrivateKey(rjh___0, 456);
1978  }
1979#line 1390 "Test.c"
1980  return;
1981}
1982}
1983#line 50 "Test.c"
1984void setup_chuck__wrappee__Base(int chuck___0 ) 
1985{ 
1986
1987  {
1988  {
1989#line 51
1990  setClientId(chuck___0, chuck___0);
1991  }
1992#line 1410 "Test.c"
1993  return;
1994}
1995}
1996#line 57 "Test.c"
1997void setup_chuck(int chuck___0 ) 
1998{ 
1999
2000  {
2001  {
2002#line 58
2003  setup_chuck__wrappee__Base(chuck___0);
2004#line 59
2005  setClientPrivateKey(chuck___0, 789);
2006  }
2007#line 1432 "Test.c"
2008  return;
2009}
2010}
2011#line 69 "Test.c"
2012void bobToRjh(void) 
2013{ int tmp ;
2014  int tmp___0 ;
2015  int tmp___1 ;
2016
2017  {
2018  {
2019#line 71
2020  puts("Please enter a subject and a message body.\n");
2021#line 72
2022  sendEmail(bob, rjh);
2023#line 73
2024  tmp___1 = is_queue_empty();
2025  }
2026#line 73
2027  if (tmp___1) {
2028
2029  } else {
2030    {
2031#line 74
2032    tmp = get_queued_email();
2033#line 74
2034    tmp___0 = get_queued_client();
2035#line 74
2036    outgoing(tmp___0, tmp);
2037    }
2038  }
2039#line 1459 "Test.c"
2040  return;
2041}
2042}
2043#line 81 "Test.c"
2044void rjhToBob(void) 
2045{ 
2046
2047  {
2048  {
2049#line 83
2050  puts("Please enter a subject and a message body.\n");
2051#line 84
2052  sendEmail(rjh, bob);
2053  }
2054#line 1481 "Test.c"
2055  return;
2056}
2057}
2058#line 88 "Test.c"
2059#line 95 "Test.c"
2060void setup(void) 
2061{ char const   * __restrict  __cil_tmp1 ;
2062  char const   * __restrict  __cil_tmp2 ;
2063  char const   * __restrict  __cil_tmp3 ;
2064
2065  {
2066  {
2067#line 96
2068  bob = 1;
2069#line 97
2070  setup_bob(bob);
2071#line 98
2072  __cil_tmp1 = (char const   * __restrict  )"bob: %d\n";
2073#line 98
2074  printf(__cil_tmp1, bob);
2075#line 100
2076  rjh = 2;
2077#line 101
2078  setup_rjh(rjh);
2079#line 102
2080  __cil_tmp2 = (char const   * __restrict  )"rjh: %d\n";
2081#line 102
2082  printf(__cil_tmp2, rjh);
2083#line 104
2084  chuck = 3;
2085#line 105
2086  setup_chuck(chuck);
2087#line 106
2088  __cil_tmp3 = (char const   * __restrict  )"chuck: %d\n";
2089#line 106
2090  printf(__cil_tmp3, chuck);
2091  }
2092#line 1552 "Test.c"
2093  return;
2094}
2095}
2096#line 112 "Test.c"
2097int main(void) 
2098{ int retValue_acc ;
2099  int tmp ;
2100
2101  {
2102  {
2103#line 113
2104  select_helpers();
2105#line 114
2106  select_features();
2107#line 115
2108  tmp = valid_product();
2109  }
2110#line 115
2111  if (tmp) {
2112    {
2113#line 116
2114    setup();
2115#line 117
2116    test();
2117    }
2118  } else {
2119
2120  }
2121#line 1583 "Test.c"
2122  return (retValue_acc);
2123}
2124}
2125#line 125 "Test.c"
2126void bobKeyAdd(void) 
2127{ int tmp ;
2128  int tmp___0 ;
2129  char const   * __restrict  __cil_tmp3 ;
2130  char const   * __restrict  __cil_tmp4 ;
2131
2132  {
2133  {
2134#line 126
2135  createClientKeyringEntry(bob);
2136#line 127
2137  setClientKeyringUser(bob, 0, 2);
2138#line 128
2139  setClientKeyringPublicKey(bob, 0, 456);
2140#line 129
2141  puts("bob added rjhs key");
2142#line 130
2143  tmp = getClientKeyringUser(bob, 0);
2144#line 130
2145  __cil_tmp3 = (char const   * __restrict  )"%d\n";
2146#line 130
2147  printf(__cil_tmp3, tmp);
2148#line 131
2149  tmp___0 = getClientKeyringPublicKey(bob, 0);
2150#line 131
2151  __cil_tmp4 = (char const   * __restrict  )"%d\n";
2152#line 131
2153  printf(__cil_tmp4, tmp___0);
2154  }
2155#line 1617 "Test.c"
2156  return;
2157}
2158}
2159#line 137 "Test.c"
2160void rjhKeyAdd(void) 
2161{ 
2162
2163  {
2164  {
2165#line 138
2166  createClientKeyringEntry(rjh);
2167#line 139
2168  setClientKeyringUser(rjh, 0, 1);
2169#line 140
2170  setClientKeyringPublicKey(rjh, 0, 123);
2171  }
2172#line 1641 "Test.c"
2173  return;
2174}
2175}
2176#line 146 "Test.c"
2177void rjhKeyAddChuck(void) 
2178{ 
2179
2180  {
2181  {
2182#line 147
2183  createClientKeyringEntry(rjh);
2184#line 148
2185  setClientKeyringUser(rjh, 0, 3);
2186#line 149
2187  setClientKeyringPublicKey(rjh, 0, 789);
2188  }
2189#line 1665 "Test.c"
2190  return;
2191}
2192}
2193#line 156 "Test.c"
2194void bobKeyAddChuck(void) 
2195{ 
2196
2197  {
2198  {
2199#line 157
2200  createClientKeyringEntry(bob);
2201#line 158
2202  setClientKeyringUser(bob, 1, 3);
2203#line 159
2204  setClientKeyringPublicKey(bob, 1, 789);
2205  }
2206#line 1689 "Test.c"
2207  return;
2208}
2209}
2210#line 165 "Test.c"
2211void chuckKeyAdd(void) 
2212{ 
2213
2214  {
2215  {
2216#line 166
2217  createClientKeyringEntry(chuck);
2218#line 167
2219  setClientKeyringUser(chuck, 0, 1);
2220#line 168
2221  setClientKeyringPublicKey(chuck, 0, 123);
2222  }
2223#line 1713 "Test.c"
2224  return;
2225}
2226}
2227#line 174 "Test.c"
2228void chuckKeyAddRjh(void) 
2229{ 
2230
2231  {
2232  {
2233#line 175
2234  createClientKeyringEntry(chuck);
2235#line 176
2236  setClientKeyringUser(chuck, 0, 2);
2237#line 177
2238  setClientKeyringPublicKey(chuck, 0, 456);
2239  }
2240#line 1737 "Test.c"
2241  return;
2242}
2243}
2244#line 183 "Test.c"
2245void rjhDeletePrivateKey(void) 
2246{ 
2247
2248  {
2249  {
2250#line 184
2251  setClientPrivateKey(rjh, 0);
2252  }
2253#line 1757 "Test.c"
2254  return;
2255}
2256}
2257#line 190 "Test.c"
2258void bobKeyChange(void) 
2259{ 
2260
2261  {
2262  {
2263#line 191
2264  generateKeyPair(bob, 777);
2265  }
2266#line 1777 "Test.c"
2267  return;
2268}
2269}
2270#line 197 "Test.c"
2271void rjhKeyChange(void) 
2272{ 
2273
2274  {
2275  {
2276#line 198
2277  generateKeyPair(rjh, 666);
2278  }
2279#line 1797 "Test.c"
2280  return;
2281}
2282}
2283#line 1 "Client.o"
2284#pragma merger(0,"Client.i","")
2285#line 4 "ClientLib.h"
2286int initClient(void) ;
2287#line 33
2288int getClientPrivateKey(int handle ) ;
2289#line 53
2290int getClientId(int handle ) ;
2291#line 57
2292int findPublicKey(int handle , int userid ) ;
2293#line 14 "Client.h"
2294void queue(int client , int msg ) ;
2295#line 24
2296void mail(int client , int msg ) ;
2297#line 28
2298void deliver(int client , int msg ) ;
2299#line 30
2300void incoming(int client , int msg ) ;
2301#line 32
2302int createClient(char *name ) ;
2303#line 40
2304int isKeyPairValid(int publicKey , int privateKey ) ;
2305#line 46
2306void sign(int client , int msg ) ;
2307#line 48
2308void verify(int client , int msg ) ;
2309#line 6 "Client.c"
2310int queue_empty  =    1;
2311#line 9 "Client.c"
2312int queued_message  ;
2313#line 12 "Client.c"
2314int queued_client  ;
2315#line 18 "Client.c"
2316void mail(int client , int msg ) 
2317{ int __utac__ad__arg1 ;
2318  int tmp ;
2319
2320  {
2321  {
2322#line 724 "Client.c"
2323  __utac__ad__arg1 = msg;
2324#line 725
2325  __utac_acc__EncryptAutoResponder_spec__2(__utac__ad__arg1);
2326#line 19 "Client.c"
2327  puts("mail sent");
2328#line 20
2329  tmp = getEmailTo(msg);
2330#line 20
2331  incoming(tmp, msg);
2332  }
2333#line 742 "Client.c"
2334  return;
2335}
2336}
2337#line 27 "Client.c"
2338void outgoing__wrappee__Keys(int client , int msg ) 
2339{ int tmp ;
2340
2341  {
2342  {
2343#line 28
2344  tmp = getClientId(client);
2345#line 28
2346  setEmailFrom(msg, tmp);
2347#line 29
2348  mail(client, msg);
2349  }
2350#line 764 "Client.c"
2351  return;
2352}
2353}
2354#line 33 "Client.c"
2355void outgoing__wrappee__Encrypt(int client , int msg ) 
2356{ int receiver ;
2357  int tmp ;
2358  int pubkey ;
2359  int tmp___0 ;
2360
2361  {
2362  {
2363#line 36
2364  tmp = getEmailTo(msg);
2365#line 36
2366  receiver = tmp;
2367#line 37
2368  tmp___0 = findPublicKey(client, receiver);
2369#line 37
2370  pubkey = tmp___0;
2371  }
2372#line 38
2373  if (pubkey) {
2374    {
2375#line 39
2376    setEmailEncryptionKey(msg, pubkey);
2377#line 40
2378    setEmailIsEncrypted(msg, 1);
2379    }
2380  } else {
2381
2382  }
2383  {
2384#line 45
2385  outgoing__wrappee__Keys(client, msg);
2386  }
2387#line 799 "Client.c"
2388  return;
2389}
2390}
2391#line 51 "Client.c"
2392void outgoing(int client , int msg ) 
2393{ 
2394
2395  {
2396  {
2397#line 52
2398  sign(client, msg);
2399#line 53
2400  outgoing__wrappee__Encrypt(client, msg);
2401  }
2402#line 821 "Client.c"
2403  return;
2404}
2405}
2406#line 60 "Client.c"
2407void deliver(int client , int msg ) 
2408{ 
2409
2410  {
2411  {
2412#line 61
2413  puts("mail delivered\n");
2414  }
2415#line 841 "Client.c"
2416  return;
2417}
2418}
2419#line 68 "Client.c"
2420void incoming__wrappee__Sign(int client , int msg ) 
2421{ 
2422
2423  {
2424  {
2425#line 69
2426  deliver(client, msg);
2427  }
2428#line 861 "Client.c"
2429  return;
2430}
2431}
2432#line 75 "Client.c"
2433void incoming__wrappee__Verify(int client , int msg ) 
2434{ 
2435
2436  {
2437  {
2438#line 76
2439  verify(client, msg);
2440#line 77
2441  incoming__wrappee__Sign(client, msg);
2442  }
2443#line 883 "Client.c"
2444  return;
2445}
2446}
2447#line 82 "Client.c"
2448void incoming(int client , int msg ) 
2449{ int __utac__ad__arg1 ;
2450  int privkey ;
2451  int tmp ;
2452  int tmp___0 ;
2453  int tmp___1 ;
2454  int tmp___2 ;
2455
2456  {
2457  {
2458#line 896 "Client.c"
2459  __utac__ad__arg1 = msg;
2460#line 897
2461  __utac_acc__EncryptAutoResponder_spec__1(__utac__ad__arg1);
2462#line 85 "Client.c"
2463  tmp = getClientPrivateKey(client);
2464#line 85
2465  privkey = tmp;
2466  }
2467#line 86
2468  if (privkey) {
2469    {
2470#line 94
2471    tmp___0 = isEncrypted(msg);
2472    }
2473#line 94
2474    if (tmp___0) {
2475      {
2476#line 94
2477      tmp___1 = getEmailEncryptionKey(msg);
2478#line 94
2479      tmp___2 = isKeyPairValid(tmp___1, privkey);
2480      }
2481#line 94
2482      if (tmp___2) {
2483        {
2484#line 91
2485        setEmailIsEncrypted(msg, 0);
2486#line 92
2487        setEmailEncryptionKey(msg, 0);
2488        }
2489      } else {
2490
2491      }
2492    } else {
2493
2494    }
2495  } else {
2496
2497  }
2498  {
2499#line 97
2500  incoming__wrappee__Verify(client, msg);
2501  }
2502#line 926 "Client.c"
2503  return;
2504}
2505}
2506#line 101 "Client.c"
2507int createClient(char *name ) 
2508{ int retValue_acc ;
2509  int client ;
2510  int tmp ;
2511
2512  {
2513  {
2514#line 102
2515  tmp = initClient();
2516#line 102
2517  client = tmp;
2518#line 948 "Client.c"
2519  retValue_acc = client;
2520  }
2521#line 950
2522  return (retValue_acc);
2523#line 957
2524  return (retValue_acc);
2525}
2526}
2527#line 109 "Client.c"
2528void sendEmail(int sender , int receiver ) 
2529{ int email ;
2530  int tmp ;
2531
2532  {
2533  {
2534#line 110
2535  tmp = createEmail(0, receiver);
2536#line 110
2537  email = tmp;
2538#line 111
2539  outgoing(sender, email);
2540  }
2541#line 985 "Client.c"
2542  return;
2543}
2544}
2545#line 119 "Client.c"
2546void queue(int client , int msg ) 
2547{ 
2548
2549  {
2550#line 120
2551  queue_empty = 0;
2552#line 121
2553  queued_message = msg;
2554#line 122
2555  queued_client = client;
2556#line 1009 "Client.c"
2557  return;
2558}
2559}
2560#line 128 "Client.c"
2561int is_queue_empty(void) 
2562{ int retValue_acc ;
2563
2564  {
2565#line 1027 "Client.c"
2566  retValue_acc = queue_empty;
2567#line 1029
2568  return (retValue_acc);
2569#line 1036
2570  return (retValue_acc);
2571}
2572}
2573#line 135 "Client.c"
2574int get_queued_client(void) 
2575{ int retValue_acc ;
2576
2577  {
2578#line 1058 "Client.c"
2579  retValue_acc = queued_client;
2580#line 1060
2581  return (retValue_acc);
2582#line 1067
2583  return (retValue_acc);
2584}
2585}
2586#line 142 "Client.c"
2587int get_queued_email(void) 
2588{ int retValue_acc ;
2589
2590  {
2591#line 1089 "Client.c"
2592  retValue_acc = queued_message;
2593#line 1091
2594  return (retValue_acc);
2595#line 1098
2596  return (retValue_acc);
2597}
2598}
2599#line 148 "Client.c"
2600int isKeyPairValid(int publicKey , int privateKey ) 
2601{ int retValue_acc ;
2602  char const   * __restrict  __cil_tmp4 ;
2603
2604  {
2605  {
2606#line 149
2607  __cil_tmp4 = (char const   * __restrict  )"keypair valid %d %d";
2608#line 149
2609  printf(__cil_tmp4, publicKey, privateKey);
2610  }
2611#line 150 "Client.c"
2612  if (! publicKey) {
2613#line 1123 "Client.c"
2614    retValue_acc = 0;
2615#line 1125
2616    return (retValue_acc);
2617  } else {
2618#line 150 "Client.c"
2619    if (! privateKey) {
2620#line 1123 "Client.c"
2621      retValue_acc = 0;
2622#line 1125
2623      return (retValue_acc);
2624    } else {
2625
2626    }
2627  }
2628#line 1130 "Client.c"
2629  retValue_acc = privateKey == publicKey;
2630#line 1132
2631  return (retValue_acc);
2632#line 1139
2633  return (retValue_acc);
2634}
2635}
2636#line 158 "Client.c"
2637void generateKeyPair(int client , int seed ) 
2638{ 
2639
2640  {
2641  {
2642#line 159
2643  setClientPrivateKey(client, seed);
2644  }
2645#line 1163 "Client.c"
2646  return;
2647}
2648}
2649#line 164 "Client.c"
2650void sign(int client , int msg ) 
2651{ int privkey ;
2652  int tmp ;
2653
2654  {
2655  {
2656#line 165
2657  tmp = getClientPrivateKey(client);
2658#line 165
2659  privkey = tmp;
2660  }
2661#line 166
2662  if (! privkey) {
2663#line 167
2664    return;
2665  } else {
2666
2667  }
2668  {
2669#line 168
2670  setEmailIsSigned(msg, 1);
2671#line 169
2672  setEmailSignKey(msg, privkey);
2673  }
2674#line 1193 "Client.c"
2675  return;
2676}
2677}
2678#line 174 "Client.c"
2679void verify(int client , int msg ) 
2680{ int tmp ;
2681  int tmp___0 ;
2682  int pubkey ;
2683  int tmp___1 ;
2684  int tmp___2 ;
2685  int tmp___3 ;
2686  int tmp___4 ;
2687
2688  {
2689  {
2690#line 179
2691  tmp = isReadable(msg);
2692  }
2693#line 179
2694  if (tmp) {
2695    {
2696#line 179
2697    tmp___0 = isSigned(msg);
2698    }
2699#line 179
2700    if (tmp___0) {
2701
2702    } else {
2703#line 180
2704      return;
2705    }
2706  } else {
2707#line 180
2708    return;
2709  }
2710  {
2711#line 179
2712  tmp___1 = getEmailFrom(msg);
2713#line 179
2714  tmp___2 = findPublicKey(client, tmp___1);
2715#line 179
2716  pubkey = tmp___2;
2717  }
2718#line 180
2719  if (pubkey) {
2720    {
2721#line 180
2722    tmp___3 = getEmailSignKey(msg);
2723#line 180
2724    tmp___4 = isKeyPairValid(tmp___3, pubkey);
2725    }
2726#line 180
2727    if (tmp___4) {
2728      {
2729#line 181
2730      setEmailIsSignatureVerified(msg, 1);
2731      }
2732    } else {
2733
2734    }
2735  } else {
2736
2737  }
2738#line 1224 "Client.c"
2739  return;
2740}
2741}
2742#line 1 "ClientLib.o"
2743#pragma merger(0,"ClientLib.i","")
2744#line 6 "ClientLib.h"
2745char *getClientName(int handle ) ;
2746#line 8
2747void setClientName(int handle , char *value ) ;
2748#line 10
2749int getClientOutbuffer(int handle ) ;
2750#line 12
2751void setClientOutbuffer(int handle , int value ) ;
2752#line 14
2753int getClientAddressBookSize(int handle ) ;
2754#line 16
2755void setClientAddressBookSize(int handle , int value ) ;
2756#line 18
2757int createClientAddressBookEntry(int handle ) ;
2758#line 20
2759int getClientAddressBookAlias(int handle , int index ) ;
2760#line 22
2761void setClientAddressBookAlias(int handle , int index , int value ) ;
2762#line 24
2763int getClientAddressBookAddress(int handle , int index ) ;
2764#line 26
2765void setClientAddressBookAddress(int handle , int index , int value ) ;
2766#line 29
2767int getClientAutoResponse(int handle ) ;
2768#line 31
2769void setClientAutoResponse(int handle , int value ) ;
2770#line 37
2771int getClientKeyringSize(int handle ) ;
2772#line 49
2773int getClientForwardReceiver(int handle ) ;
2774#line 51
2775void setClientForwardReceiver(int handle , int value ) ;
2776#line 59
2777int findClientAddressBookAlias(int handle , int userid ) ;
2778#line 5 "ClientLib.c"
2779int __ste_Client_counter  =    0;
2780#line 7 "ClientLib.c"
2781int initClient(void) 
2782{ int retValue_acc ;
2783
2784  {
2785#line 12 "ClientLib.c"
2786  if (__ste_Client_counter < 3) {
2787#line 684
2788    __ste_Client_counter = __ste_Client_counter + 1;
2789#line 684
2790    retValue_acc = __ste_Client_counter;
2791#line 686
2792    return (retValue_acc);
2793  } else {
2794#line 692 "ClientLib.c"
2795    retValue_acc = -1;
2796#line 694
2797    return (retValue_acc);
2798  }
2799#line 701 "ClientLib.c"
2800  return (retValue_acc);
2801}
2802}
2803#line 15 "ClientLib.c"
2804char *__ste_client_name0  =    (char *)0;
2805#line 17 "ClientLib.c"
2806char *__ste_client_name1  =    (char *)0;
2807#line 19 "ClientLib.c"
2808char *__ste_client_name2  =    (char *)0;
2809#line 22 "ClientLib.c"
2810char *getClientName(int handle ) 
2811{ char *retValue_acc ;
2812  void *__cil_tmp3 ;
2813
2814  {
2815#line 31 "ClientLib.c"
2816  if (handle == 1) {
2817#line 732
2818    retValue_acc = __ste_client_name0;
2819#line 734
2820    return (retValue_acc);
2821  } else {
2822#line 736
2823    if (handle == 2) {
2824#line 741
2825      retValue_acc = __ste_client_name1;
2826#line 743
2827      return (retValue_acc);
2828    } else {
2829#line 745
2830      if (handle == 3) {
2831#line 750
2832        retValue_acc = __ste_client_name2;
2833#line 752
2834        return (retValue_acc);
2835      } else {
2836#line 758 "ClientLib.c"
2837        __cil_tmp3 = (void *)0;
2838#line 758
2839        retValue_acc = (char *)__cil_tmp3;
2840#line 760
2841        return (retValue_acc);
2842      }
2843    }
2844  }
2845#line 767 "ClientLib.c"
2846  return (retValue_acc);
2847}
2848}
2849#line 34 "ClientLib.c"
2850void setClientName(int handle , char *value ) 
2851{ 
2852
2853  {
2854#line 42
2855  if (handle == 1) {
2856#line 36
2857    __ste_client_name0 = value;
2858  } else {
2859#line 37
2860    if (handle == 2) {
2861#line 38
2862      __ste_client_name1 = value;
2863    } else {
2864#line 39
2865      if (handle == 3) {
2866#line 40
2867        __ste_client_name2 = value;
2868      } else {
2869
2870      }
2871    }
2872  }
2873#line 802 "ClientLib.c"
2874  return;
2875}
2876}
2877#line 44 "ClientLib.c"
2878int __ste_client_outbuffer0  =    0;
2879#line 46 "ClientLib.c"
2880int __ste_client_outbuffer1  =    0;
2881#line 48 "ClientLib.c"
2882int __ste_client_outbuffer2  =    0;
2883#line 50 "ClientLib.c"
2884int __ste_client_outbuffer3  =    0;
2885#line 53 "ClientLib.c"
2886int getClientOutbuffer(int handle ) 
2887{ int retValue_acc ;
2888
2889  {
2890#line 62 "ClientLib.c"
2891  if (handle == 1) {
2892#line 831
2893    retValue_acc = __ste_client_outbuffer0;
2894#line 833
2895    return (retValue_acc);
2896  } else {
2897#line 835
2898    if (handle == 2) {
2899#line 840
2900      retValue_acc = __ste_client_outbuffer1;
2901#line 842
2902      return (retValue_acc);
2903    } else {
2904#line 844
2905      if (handle == 3) {
2906#line 849
2907        retValue_acc = __ste_client_outbuffer2;
2908#line 851
2909        return (retValue_acc);
2910      } else {
2911#line 857 "ClientLib.c"
2912        retValue_acc = 0;
2913#line 859
2914        return (retValue_acc);
2915      }
2916    }
2917  }
2918#line 866 "ClientLib.c"
2919  return (retValue_acc);
2920}
2921}
2922#line 65 "ClientLib.c"
2923void setClientOutbuffer(int handle , int value ) 
2924{ 
2925
2926  {
2927#line 73
2928  if (handle == 1) {
2929#line 67
2930    __ste_client_outbuffer0 = value;
2931  } else {
2932#line 68
2933    if (handle == 2) {
2934#line 69
2935      __ste_client_outbuffer1 = value;
2936    } else {
2937#line 70
2938      if (handle == 3) {
2939#line 71
2940        __ste_client_outbuffer2 = value;
2941      } else {
2942
2943      }
2944    }
2945  }
2946#line 901 "ClientLib.c"
2947  return;
2948}
2949}
2950#line 77 "ClientLib.c"
2951int __ste_ClientAddressBook_size0  =    0;
2952#line 79 "ClientLib.c"
2953int __ste_ClientAddressBook_size1  =    0;
2954#line 81 "ClientLib.c"
2955int __ste_ClientAddressBook_size2  =    0;
2956#line 84 "ClientLib.c"
2957int getClientAddressBookSize(int handle ) 
2958{ int retValue_acc ;
2959
2960  {
2961#line 93 "ClientLib.c"
2962  if (handle == 1) {
2963#line 928
2964    retValue_acc = __ste_ClientAddressBook_size0;
2965#line 930
2966    return (retValue_acc);
2967  } else {
2968#line 932
2969    if (handle == 2) {
2970#line 937
2971      retValue_acc = __ste_ClientAddressBook_size1;
2972#line 939
2973      return (retValue_acc);
2974    } else {
2975#line 941
2976      if (handle == 3) {
2977#line 946
2978        retValue_acc = __ste_ClientAddressBook_size2;
2979#line 948
2980        return (retValue_acc);
2981      } else {
2982#line 954 "ClientLib.c"
2983        retValue_acc = 0;
2984#line 956
2985        return (retValue_acc);
2986      }
2987    }
2988  }
2989#line 963 "ClientLib.c"
2990  return (retValue_acc);
2991}
2992}
2993#line 96 "ClientLib.c"
2994void setClientAddressBookSize(int handle , int value ) 
2995{ 
2996
2997  {
2998#line 104
2999  if (handle == 1) {
3000#line 98
3001    __ste_ClientAddressBook_size0 = value;
3002  } else {
3003#line 99
3004    if (handle == 2) {
3005#line 100
3006      __ste_ClientAddressBook_size1 = value;
3007    } else {
3008#line 101
3009      if (handle == 3) {
3010#line 102
3011        __ste_ClientAddressBook_size2 = value;
3012      } else {
3013
3014      }
3015    }
3016  }
3017#line 998 "ClientLib.c"
3018  return;
3019}
3020}
3021#line 106 "ClientLib.c"
3022int createClientAddressBookEntry(int handle ) 
3023{ int retValue_acc ;
3024  int size ;
3025  int tmp ;
3026  int __cil_tmp5 ;
3027
3028  {
3029  {
3030#line 107
3031  tmp = getClientAddressBookSize(handle);
3032#line 107
3033  size = tmp;
3034  }
3035#line 108 "ClientLib.c"
3036  if (size < 3) {
3037    {
3038#line 109 "ClientLib.c"
3039    __cil_tmp5 = size + 1;
3040#line 109
3041    setClientAddressBookSize(handle, __cil_tmp5);
3042#line 1025 "ClientLib.c"
3043    retValue_acc = size + 1;
3044    }
3045#line 1027
3046    return (retValue_acc);
3047  } else {
3048#line 1031 "ClientLib.c"
3049    retValue_acc = -1;
3050#line 1033
3051    return (retValue_acc);
3052  }
3053#line 1040 "ClientLib.c"
3054  return (retValue_acc);
3055}
3056}
3057#line 115 "ClientLib.c"
3058int __ste_Client_AddressBook0_Alias0  =    0;
3059#line 117 "ClientLib.c"
3060int __ste_Client_AddressBook0_Alias1  =    0;
3061#line 119 "ClientLib.c"
3062int __ste_Client_AddressBook0_Alias2  =    0;
3063#line 121 "ClientLib.c"
3064int __ste_Client_AddressBook1_Alias0  =    0;
3065#line 123 "ClientLib.c"
3066int __ste_Client_AddressBook1_Alias1  =    0;
3067#line 125 "ClientLib.c"
3068int __ste_Client_AddressBook1_Alias2  =    0;
3069#line 127 "ClientLib.c"
3070int __ste_Client_AddressBook2_Alias0  =    0;
3071#line 129 "ClientLib.c"
3072int __ste_Client_AddressBook2_Alias1  =    0;
3073#line 131 "ClientLib.c"
3074int __ste_Client_AddressBook2_Alias2  =    0;
3075#line 134 "ClientLib.c"
3076int getClientAddressBookAlias(int handle , int index ) 
3077{ int retValue_acc ;
3078
3079  {
3080#line 167
3081  if (handle == 1) {
3082#line 144 "ClientLib.c"
3083    if (index == 0) {
3084#line 1086
3085      retValue_acc = __ste_Client_AddressBook0_Alias0;
3086#line 1088
3087      return (retValue_acc);
3088    } else {
3089#line 1090
3090      if (index == 1) {
3091#line 1095
3092        retValue_acc = __ste_Client_AddressBook0_Alias1;
3093#line 1097
3094        return (retValue_acc);
3095      } else {
3096#line 1099
3097        if (index == 2) {
3098#line 1104
3099          retValue_acc = __ste_Client_AddressBook0_Alias2;
3100#line 1106
3101          return (retValue_acc);
3102        } else {
3103#line 1112
3104          retValue_acc = 0;
3105#line 1114
3106          return (retValue_acc);
3107        }
3108      }
3109    }
3110  } else {
3111#line 1116 "ClientLib.c"
3112    if (handle == 2) {
3113#line 154 "ClientLib.c"
3114      if (index == 0) {
3115#line 1124
3116        retValue_acc = __ste_Client_AddressBook1_Alias0;
3117#line 1126
3118        return (retValue_acc);
3119      } else {
3120#line 1128
3121        if (index == 1) {
3122#line 1133
3123          retValue_acc = __ste_Client_AddressBook1_Alias1;
3124#line 1135
3125          return (retValue_acc);
3126        } else {
3127#line 1137
3128          if (index == 2) {
3129#line 1142
3130            retValue_acc = __ste_Client_AddressBook1_Alias2;
3131#line 1144
3132            return (retValue_acc);
3133          } else {
3134#line 1150
3135            retValue_acc = 0;
3136#line 1152
3137            return (retValue_acc);
3138          }
3139        }
3140      }
3141    } else {
3142#line 1154 "ClientLib.c"
3143      if (handle == 3) {
3144#line 164 "ClientLib.c"
3145        if (index == 0) {
3146#line 1162
3147          retValue_acc = __ste_Client_AddressBook2_Alias0;
3148#line 1164
3149          return (retValue_acc);
3150        } else {
3151#line 1166
3152          if (index == 1) {
3153#line 1171
3154            retValue_acc = __ste_Client_AddressBook2_Alias1;
3155#line 1173
3156            return (retValue_acc);
3157          } else {
3158#line 1175
3159            if (index == 2) {
3160#line 1180
3161              retValue_acc = __ste_Client_AddressBook2_Alias2;
3162#line 1182
3163              return (retValue_acc);
3164            } else {
3165#line 1188
3166              retValue_acc = 0;
3167#line 1190
3168              return (retValue_acc);
3169            }
3170          }
3171        }
3172      } else {
3173#line 1196 "ClientLib.c"
3174        retValue_acc = 0;
3175#line 1198
3176        return (retValue_acc);
3177      }
3178    }
3179  }
3180#line 1205 "ClientLib.c"
3181  return (retValue_acc);
3182}
3183}
3184#line 171 "ClientLib.c"
3185int findClientAddressBookAlias(int handle , int userid ) 
3186{ int retValue_acc ;
3187
3188  {
3189#line 204
3190  if (handle == 1) {
3191#line 181 "ClientLib.c"
3192    if (userid == __ste_Client_AddressBook0_Alias0) {
3193#line 1233
3194      retValue_acc = 0;
3195#line 1235
3196      return (retValue_acc);
3197    } else {
3198#line 1237
3199      if (userid == __ste_Client_AddressBook0_Alias1) {
3200#line 1242
3201        retValue_acc = 1;
3202#line 1244
3203        return (retValue_acc);
3204      } else {
3205#line 1246
3206        if (userid == __ste_Client_AddressBook0_Alias2) {
3207#line 1251
3208          retValue_acc = 2;
3209#line 1253
3210          return (retValue_acc);
3211        } else {
3212#line 1259
3213          retValue_acc = -1;
3214#line 1261
3215          return (retValue_acc);
3216        }
3217      }
3218    }
3219  } else {
3220#line 1263 "ClientLib.c"
3221    if (handle == 2) {
3222#line 191 "ClientLib.c"
3223      if (userid == __ste_Client_AddressBook1_Alias0) {
3224#line 1271
3225        retValue_acc = 0;
3226#line 1273
3227        return (retValue_acc);
3228      } else {
3229#line 1275
3230        if (userid == __ste_Client_AddressBook1_Alias1) {
3231#line 1280
3232          retValue_acc = 1;
3233#line 1282
3234          return (retValue_acc);
3235        } else {
3236#line 1284
3237          if (userid == __ste_Client_AddressBook1_Alias2) {
3238#line 1289
3239            retValue_acc = 2;
3240#line 1291
3241            return (retValue_acc);
3242          } else {
3243#line 1297
3244            retValue_acc = -1;
3245#line 1299
3246            return (retValue_acc);
3247          }
3248        }
3249      }
3250    } else {
3251#line 1301 "ClientLib.c"
3252      if (handle == 3) {
3253#line 201 "ClientLib.c"
3254        if (userid == __ste_Client_AddressBook2_Alias0) {
3255#line 1309
3256          retValue_acc = 0;
3257#line 1311
3258          return (retValue_acc);
3259        } else {
3260#line 1313
3261          if (userid == __ste_Client_AddressBook2_Alias1) {
3262#line 1318
3263            retValue_acc = 1;
3264#line 1320
3265            return (retValue_acc);
3266          } else {
3267#line 1322
3268            if (userid == __ste_Client_AddressBook2_Alias2) {
3269#line 1327
3270              retValue_acc = 2;
3271#line 1329
3272              return (retValue_acc);
3273            } else {
3274#line 1335
3275              retValue_acc = -1;
3276#line 1337
3277              return (retValue_acc);
3278            }
3279          }
3280        }
3281      } else {
3282#line 1343 "ClientLib.c"
3283        retValue_acc = -1;
3284#line 1345
3285        return (retValue_acc);
3286      }
3287    }
3288  }
3289#line 1352 "ClientLib.c"
3290  return (retValue_acc);
3291}
3292}
3293#line 208 "ClientLib.c"
3294void setClientAddressBookAlias(int handle , int index , int value ) 
3295{ 
3296
3297  {
3298#line 234
3299  if (handle == 1) {
3300#line 217
3301    if (index == 0) {
3302#line 211
3303      __ste_Client_AddressBook0_Alias0 = value;
3304    } else {
3305#line 212
3306      if (index == 1) {
3307#line 213
3308        __ste_Client_AddressBook0_Alias1 = value;
3309      } else {
3310#line 214
3311        if (index == 2) {
3312#line 215
3313          __ste_Client_AddressBook0_Alias2 = value;
3314        } else {
3315
3316        }
3317      }
3318    }
3319  } else {
3320#line 216
3321    if (handle == 2) {
3322#line 225
3323      if (index == 0) {
3324#line 219
3325        __ste_Client_AddressBook1_Alias0 = value;
3326      } else {
3327#line 220
3328        if (index == 1) {
3329#line 221
3330          __ste_Client_AddressBook1_Alias1 = value;
3331        } else {
3332#line 222
3333          if (index == 2) {
3334#line 223
3335            __ste_Client_AddressBook1_Alias2 = value;
3336          } else {
3337
3338          }
3339        }
3340      }
3341    } else {
3342#line 224
3343      if (handle == 3) {
3344#line 233
3345        if (index == 0) {
3346#line 227
3347          __ste_Client_AddressBook2_Alias0 = value;
3348        } else {
3349#line 228
3350          if (index == 1) {
3351#line 229
3352            __ste_Client_AddressBook2_Alias1 = value;
3353          } else {
3354#line 230
3355            if (index == 2) {
3356#line 231
3357              __ste_Client_AddressBook2_Alias2 = value;
3358            } else {
3359
3360            }
3361          }
3362        }
3363      } else {
3364
3365      }
3366    }
3367  }
3368#line 1420 "ClientLib.c"
3369  return;
3370}
3371}
3372#line 236 "ClientLib.c"
3373int __ste_Client_AddressBook0_Address0  =    0;
3374#line 238 "ClientLib.c"
3375int __ste_Client_AddressBook0_Address1  =    0;
3376#line 240 "ClientLib.c"
3377int __ste_Client_AddressBook0_Address2  =    0;
3378#line 242 "ClientLib.c"
3379int __ste_Client_AddressBook1_Address0  =    0;
3380#line 244 "ClientLib.c"
3381int __ste_Client_AddressBook1_Address1  =    0;
3382#line 246 "ClientLib.c"
3383int __ste_Client_AddressBook1_Address2  =    0;
3384#line 248 "ClientLib.c"
3385int __ste_Client_AddressBook2_Address0  =    0;
3386#line 250 "ClientLib.c"
3387int __ste_Client_AddressBook2_Address1  =    0;
3388#line 252 "ClientLib.c"
3389int __ste_Client_AddressBook2_Address2  =    0;
3390#line 255 "ClientLib.c"
3391int getClientAddressBookAddress(int handle , int index ) 
3392{ int retValue_acc ;
3393
3394  {
3395#line 288
3396  if (handle == 1) {
3397#line 265 "ClientLib.c"
3398    if (index == 0) {
3399#line 1462
3400      retValue_acc = __ste_Client_AddressBook0_Address0;
3401#line 1464
3402      return (retValue_acc);
3403    } else {
3404#line 1466
3405      if (index == 1) {
3406#line 1471
3407        retValue_acc = __ste_Client_AddressBook0_Address1;
3408#line 1473
3409        return (retValue_acc);
3410      } else {
3411#line 1475
3412        if (index == 2) {
3413#line 1480
3414          retValue_acc = __ste_Client_AddressBook0_Address2;
3415#line 1482
3416          return (retValue_acc);
3417        } else {
3418#line 1488
3419          retValue_acc = 0;
3420#line 1490
3421          return (retValue_acc);
3422        }
3423      }
3424    }
3425  } else {
3426#line 1492 "ClientLib.c"
3427    if (handle == 2) {
3428#line 275 "ClientLib.c"
3429      if (index == 0) {
3430#line 1500
3431        retValue_acc = __ste_Client_AddressBook1_Address0;
3432#line 1502
3433        return (retValue_acc);
3434      } else {
3435#line 1504
3436        if (index == 1) {
3437#line 1509
3438          retValue_acc = __ste_Client_AddressBook1_Address1;
3439#line 1511
3440          return (retValue_acc);
3441        } else {
3442#line 1513
3443          if (index == 2) {
3444#line 1518
3445            retValue_acc = __ste_Client_AddressBook1_Address2;
3446#line 1520
3447            return (retValue_acc);
3448          } else {
3449#line 1526
3450            retValue_acc = 0;
3451#line 1528
3452            return (retValue_acc);
3453          }
3454        }
3455      }
3456    } else {
3457#line 1530 "ClientLib.c"
3458      if (handle == 3) {
3459#line 285 "ClientLib.c"
3460        if (index == 0) {
3461#line 1538
3462          retValue_acc = __ste_Client_AddressBook2_Address0;
3463#line 1540
3464          return (retValue_acc);
3465        } else {
3466#line 1542
3467          if (index == 1) {
3468#line 1547
3469            retValue_acc = __ste_Client_AddressBook2_Address1;
3470#line 1549
3471            return (retValue_acc);
3472          } else {
3473#line 1551
3474            if (index == 2) {
3475#line 1556
3476              retValue_acc = __ste_Client_AddressBook2_Address2;
3477#line 1558
3478              return (retValue_acc);
3479            } else {
3480#line 1564
3481              retValue_acc = 0;
3482#line 1566
3483              return (retValue_acc);
3484            }
3485          }
3486        }
3487      } else {
3488#line 1572 "ClientLib.c"
3489        retValue_acc = 0;
3490#line 1574
3491        return (retValue_acc);
3492      }
3493    }
3494  }
3495#line 1581 "ClientLib.c"
3496  return (retValue_acc);
3497}
3498}
3499#line 291 "ClientLib.c"
3500void setClientAddressBookAddress(int handle , int index , int value ) 
3501{ 
3502
3503  {
3504#line 317
3505  if (handle == 1) {
3506#line 300
3507    if (index == 0) {
3508#line 294
3509      __ste_Client_AddressBook0_Address0 = value;
3510    } else {
3511#line 295
3512      if (index == 1) {
3513#line 296
3514        __ste_Client_AddressBook0_Address1 = value;
3515      } else {
3516#line 297
3517        if (index == 2) {
3518#line 298
3519          __ste_Client_AddressBook0_Address2 = value;
3520        } else {
3521
3522        }
3523      }
3524    }
3525  } else {
3526#line 299
3527    if (handle == 2) {
3528#line 308
3529      if (index == 0) {
3530#line 302
3531        __ste_Client_AddressBook1_Address0 = value;
3532      } else {
3533#line 303
3534        if (index == 1) {
3535#line 304
3536          __ste_Client_AddressBook1_Address1 = value;
3537        } else {
3538#line 305
3539          if (index == 2) {
3540#line 306
3541            __ste_Client_AddressBook1_Address2 = value;
3542          } else {
3543
3544          }
3545        }
3546      }
3547    } else {
3548#line 307
3549      if (handle == 3) {
3550#line 316
3551        if (index == 0) {
3552#line 310
3553          __ste_Client_AddressBook2_Address0 = value;
3554        } else {
3555#line 311
3556          if (index == 1) {
3557#line 312
3558            __ste_Client_AddressBook2_Address1 = value;
3559          } else {
3560#line 313
3561            if (index == 2) {
3562#line 314
3563              __ste_Client_AddressBook2_Address2 = value;
3564            } else {
3565
3566            }
3567          }
3568        }
3569      } else {
3570
3571      }
3572    }
3573  }
3574#line 1649 "ClientLib.c"
3575  return;
3576}
3577}
3578#line 319 "ClientLib.c"
3579int __ste_client_autoResponse0  =    0;
3580#line 321 "ClientLib.c"
3581int __ste_client_autoResponse1  =    0;
3582#line 323 "ClientLib.c"
3583int __ste_client_autoResponse2  =    0;
3584#line 326 "ClientLib.c"
3585int getClientAutoResponse(int handle ) 
3586{ int retValue_acc ;
3587
3588  {
3589#line 335 "ClientLib.c"
3590  if (handle == 1) {
3591#line 1676
3592    retValue_acc = __ste_client_autoResponse0;
3593#line 1678
3594    return (retValue_acc);
3595  } else {
3596#line 1680
3597    if (handle == 2) {
3598#line 1685
3599      retValue_acc = __ste_client_autoResponse1;
3600#line 1687
3601      return (retValue_acc);
3602    } else {
3603#line 1689
3604      if (handle == 3) {
3605#line 1694
3606        retValue_acc = __ste_client_autoResponse2;
3607#line 1696
3608        return (retValue_acc);
3609      } else {
3610#line 1702 "ClientLib.c"
3611        retValue_acc = -1;
3612#line 1704
3613        return (retValue_acc);
3614      }
3615    }
3616  }
3617#line 1711 "ClientLib.c"
3618  return (retValue_acc);
3619}
3620}
3621#line 338 "ClientLib.c"
3622void setClientAutoResponse(int handle , int value ) 
3623{ 
3624
3625  {
3626#line 346
3627  if (handle == 1) {
3628#line 340
3629    __ste_client_autoResponse0 = value;
3630  } else {
3631#line 341
3632    if (handle == 2) {
3633#line 342
3634      __ste_client_autoResponse1 = value;
3635    } else {
3636#line 343
3637      if (handle == 3) {
3638#line 344
3639        __ste_client_autoResponse2 = value;
3640      } else {
3641
3642      }
3643    }
3644  }
3645#line 1746 "ClientLib.c"
3646  return;
3647}
3648}
3649#line 348 "ClientLib.c"
3650int __ste_client_privateKey0  =    0;
3651#line 350 "ClientLib.c"
3652int __ste_client_privateKey1  =    0;
3653#line 352 "ClientLib.c"
3654int __ste_client_privateKey2  =    0;
3655#line 355 "ClientLib.c"
3656int getClientPrivateKey(int handle ) 
3657{ int retValue_acc ;
3658
3659  {
3660#line 364 "ClientLib.c"
3661  if (handle == 1) {
3662#line 1773
3663    retValue_acc = __ste_client_privateKey0;
3664#line 1775
3665    return (retValue_acc);
3666  } else {
3667#line 1777
3668    if (handle == 2) {
3669#line 1782
3670      retValue_acc = __ste_client_privateKey1;
3671#line 1784
3672      return (retValue_acc);
3673    } else {
3674#line 1786
3675      if (handle == 3) {
3676#line 1791
3677        retValue_acc = __ste_client_privateKey2;
3678#line 1793
3679        return (retValue_acc);
3680      } else {
3681#line 1799 "ClientLib.c"
3682        retValue_acc = 0;
3683#line 1801
3684        return (retValue_acc);
3685      }
3686    }
3687  }
3688#line 1808 "ClientLib.c"
3689  return (retValue_acc);
3690}
3691}
3692#line 367 "ClientLib.c"
3693void setClientPrivateKey(int handle , int value ) 
3694{ 
3695
3696  {
3697#line 375
3698  if (handle == 1) {
3699#line 369
3700    __ste_client_privateKey0 = value;
3701  } else {
3702#line 370
3703    if (handle == 2) {
3704#line 371
3705      __ste_client_privateKey1 = value;
3706    } else {
3707#line 372
3708      if (handle == 3) {
3709#line 373
3710        __ste_client_privateKey2 = value;
3711      } else {
3712
3713      }
3714    }
3715  }
3716#line 1843 "ClientLib.c"
3717  return;
3718}
3719}
3720#line 377 "ClientLib.c"
3721int __ste_ClientKeyring_size0  =    0;
3722#line 379 "ClientLib.c"
3723int __ste_ClientKeyring_size1  =    0;
3724#line 381 "ClientLib.c"
3725int __ste_ClientKeyring_size2  =    0;
3726#line 384 "ClientLib.c"
3727int getClientKeyringSize(int handle ) 
3728{ int retValue_acc ;
3729
3730  {
3731#line 393 "ClientLib.c"
3732  if (handle == 1) {
3733#line 1870
3734    retValue_acc = __ste_ClientKeyring_size0;
3735#line 1872
3736    return (retValue_acc);
3737  } else {
3738#line 1874
3739    if (handle == 2) {
3740#line 1879
3741      retValue_acc = __ste_ClientKeyring_size1;
3742#line 1881
3743      return (retValue_acc);
3744    } else {
3745#line 1883
3746      if (handle == 3) {
3747#line 1888
3748        retValue_acc = __ste_ClientKeyring_size2;
3749#line 1890
3750        return (retValue_acc);
3751      } else {
3752#line 1896 "ClientLib.c"
3753        retValue_acc = 0;
3754#line 1898
3755        return (retValue_acc);
3756      }
3757    }
3758  }
3759#line 1905 "ClientLib.c"
3760  return (retValue_acc);
3761}
3762}
3763#line 396 "ClientLib.c"
3764void setClientKeyringSize(int handle , int value ) 
3765{ 
3766
3767  {
3768#line 404
3769  if (handle == 1) {
3770#line 398
3771    __ste_ClientKeyring_size0 = value;
3772  } else {
3773#line 399
3774    if (handle == 2) {
3775#line 400
3776      __ste_ClientKeyring_size1 = value;
3777    } else {
3778#line 401
3779      if (handle == 3) {
3780#line 402
3781        __ste_ClientKeyring_size2 = value;
3782      } else {
3783
3784      }
3785    }
3786  }
3787#line 1940 "ClientLib.c"
3788  return;
3789}
3790}
3791#line 406 "ClientLib.c"
3792int createClientKeyringEntry(int handle ) 
3793{ int retValue_acc ;
3794  int size ;
3795  int tmp ;
3796  int __cil_tmp5 ;
3797
3798  {
3799  {
3800#line 407
3801  tmp = getClientKeyringSize(handle);
3802#line 407
3803  size = tmp;
3804  }
3805#line 408 "ClientLib.c"
3806  if (size < 2) {
3807    {
3808#line 409 "ClientLib.c"
3809    __cil_tmp5 = size + 1;
3810#line 409
3811    setClientKeyringSize(handle, __cil_tmp5);
3812#line 1967 "ClientLib.c"
3813    retValue_acc = size + 1;
3814    }
3815#line 1969
3816    return (retValue_acc);
3817  } else {
3818#line 1973 "ClientLib.c"
3819    retValue_acc = -1;
3820#line 1975
3821    return (retValue_acc);
3822  }
3823#line 1982 "ClientLib.c"
3824  return (retValue_acc);
3825}
3826}
3827#line 414 "ClientLib.c"
3828int __ste_Client_Keyring0_User0  =    0;
3829#line 416 "ClientLib.c"
3830int __ste_Client_Keyring0_User1  =    0;
3831#line 418 "ClientLib.c"
3832int __ste_Client_Keyring0_User2  =    0;
3833#line 420 "ClientLib.c"
3834int __ste_Client_Keyring1_User0  =    0;
3835#line 422 "ClientLib.c"
3836int __ste_Client_Keyring1_User1  =    0;
3837#line 424 "ClientLib.c"
3838int __ste_Client_Keyring1_User2  =    0;
3839#line 426 "ClientLib.c"
3840int __ste_Client_Keyring2_User0  =    0;
3841#line 428 "ClientLib.c"
3842int __ste_Client_Keyring2_User1  =    0;
3843#line 430 "ClientLib.c"
3844int __ste_Client_Keyring2_User2  =    0;
3845#line 433 "ClientLib.c"
3846int getClientKeyringUser(int handle , int index ) 
3847{ int retValue_acc ;
3848
3849  {
3850#line 466
3851  if (handle == 1) {
3852#line 443 "ClientLib.c"
3853    if (index == 0) {
3854#line 2028
3855      retValue_acc = __ste_Client_Keyring0_User0;
3856#line 2030
3857      return (retValue_acc);
3858    } else {
3859#line 2032
3860      if (index == 1) {
3861#line 2037
3862        retValue_acc = __ste_Client_Keyring0_User1;
3863#line 2039
3864        return (retValue_acc);
3865      } else {
3866#line 2045
3867        retValue_acc = 0;
3868#line 2047
3869        return (retValue_acc);
3870      }
3871    }
3872  } else {
3873#line 2049 "ClientLib.c"
3874    if (handle == 2) {
3875#line 453 "ClientLib.c"
3876      if (index == 0) {
3877#line 2057
3878        retValue_acc = __ste_Client_Keyring1_User0;
3879#line 2059
3880        return (retValue_acc);
3881      } else {
3882#line 2061
3883        if (index == 1) {
3884#line 2066
3885          retValue_acc = __ste_Client_Keyring1_User1;
3886#line 2068
3887          return (retValue_acc);
3888        } else {
3889#line 2074
3890          retValue_acc = 0;
3891#line 2076
3892          return (retValue_acc);
3893        }
3894      }
3895    } else {
3896#line 2078 "ClientLib.c"
3897      if (handle == 3) {
3898#line 463 "ClientLib.c"
3899        if (index == 0) {
3900#line 2086
3901          retValue_acc = __ste_Client_Keyring2_User0;
3902#line 2088
3903          return (retValue_acc);
3904        } else {
3905#line 2090
3906          if (index == 1) {
3907#line 2095
3908            retValue_acc = __ste_Client_Keyring2_User1;
3909#line 2097
3910            return (retValue_acc);
3911          } else {
3912#line 2103
3913            retValue_acc = 0;
3914#line 2105
3915            return (retValue_acc);
3916          }
3917        }
3918      } else {
3919#line 2111 "ClientLib.c"
3920        retValue_acc = 0;
3921#line 2113
3922        return (retValue_acc);
3923      }
3924    }
3925  }
3926#line 2120 "ClientLib.c"
3927  return (retValue_acc);
3928}
3929}
3930#line 473 "ClientLib.c"
3931void setClientKeyringUser(int handle , int index , int value ) 
3932{ 
3933
3934  {
3935#line 499
3936  if (handle == 1) {
3937#line 482
3938    if (index == 0) {
3939#line 476
3940      __ste_Client_Keyring0_User0 = value;
3941    } else {
3942#line 477
3943      if (index == 1) {
3944#line 478
3945        __ste_Client_Keyring0_User1 = value;
3946      } else {
3947
3948      }
3949    }
3950  } else {
3951#line 479
3952    if (handle == 2) {
3953#line 490
3954      if (index == 0) {
3955#line 484
3956        __ste_Client_Keyring1_User0 = value;
3957      } else {
3958#line 485
3959        if (index == 1) {
3960#line 486
3961          __ste_Client_Keyring1_User1 = value;
3962        } else {
3963
3964        }
3965      }
3966    } else {
3967#line 487
3968      if (handle == 3) {
3969#line 498
3970        if (index == 0) {
3971#line 492
3972          __ste_Client_Keyring2_User0 = value;
3973        } else {
3974#line 493
3975          if (index == 1) {
3976#line 494
3977            __ste_Client_Keyring2_User1 = value;
3978          } else {
3979
3980          }
3981        }
3982      } else {
3983
3984      }
3985    }
3986  }
3987#line 2176 "ClientLib.c"
3988  return;
3989}
3990}
3991#line 501 "ClientLib.c"
3992int __ste_Client_Keyring0_PublicKey0  =    0;
3993#line 503 "ClientLib.c"
3994int __ste_Client_Keyring0_PublicKey1  =    0;
3995#line 505 "ClientLib.c"
3996int __ste_Client_Keyring0_PublicKey2  =    0;
3997#line 507 "ClientLib.c"
3998int __ste_Client_Keyring1_PublicKey0  =    0;
3999#line 509 "ClientLib.c"
4000int __ste_Client_Keyring1_PublicKey1  =    0;
4001#line 511 "ClientLib.c"
4002int __ste_Client_Keyring1_PublicKey2  =    0;
4003#line 513 "ClientLib.c"
4004int __ste_Client_Keyring2_PublicKey0  =    0;
4005#line 515 "ClientLib.c"
4006int __ste_Client_Keyring2_PublicKey1  =    0;
4007#line 517 "ClientLib.c"
4008int __ste_Client_Keyring2_PublicKey2  =    0;
4009#line 520 "ClientLib.c"
4010int getClientKeyringPublicKey(int handle , int index ) 
4011{ int retValue_acc ;
4012
4013  {
4014#line 553
4015  if (handle == 1) {
4016#line 530 "ClientLib.c"
4017    if (index == 0) {
4018#line 2218
4019      retValue_acc = __ste_Client_Keyring0_PublicKey0;
4020#line 2220
4021      return (retValue_acc);
4022    } else {
4023#line 2222
4024      if (index == 1) {
4025#line 2227
4026        retValue_acc = __ste_Client_Keyring0_PublicKey1;
4027#line 2229
4028        return (retValue_acc);
4029      } else {
4030#line 2235
4031        retValue_acc = 0;
4032#line 2237
4033        return (retValue_acc);
4034      }
4035    }
4036  } else {
4037#line 2239 "ClientLib.c"
4038    if (handle == 2) {
4039#line 540 "ClientLib.c"
4040      if (index == 0) {
4041#line 2247
4042        retValue_acc = __ste_Client_Keyring1_PublicKey0;
4043#line 2249
4044        return (retValue_acc);
4045      } else {
4046#line 2251
4047        if (index == 1) {
4048#line 2256
4049          retValue_acc = __ste_Client_Keyring1_PublicKey1;
4050#line 2258
4051          return (retValue_acc);
4052        } else {
4053#line 2264
4054          retValue_acc = 0;
4055#line 2266
4056          return (retValue_acc);
4057        }
4058      }
4059    } else {
4060#line 2268 "ClientLib.c"
4061      if (handle == 3) {
4062#line 550 "ClientLib.c"
4063        if (index == 0) {
4064#line 2276
4065          retValue_acc = __ste_Client_Keyring2_PublicKey0;
4066#line 2278
4067          return (retValue_acc);
4068        } else {
4069#line 2280
4070          if (index == 1) {
4071#line 2285
4072            retValue_acc = __ste_Client_Keyring2_PublicKey1;
4073#line 2287
4074            return (retValue_acc);
4075          } else {
4076#line 2293
4077            retValue_acc = 0;
4078#line 2295
4079            return (retValue_acc);
4080          }
4081        }
4082      } else {
4083#line 2301 "ClientLib.c"
4084        retValue_acc = 0;
4085#line 2303
4086        return (retValue_acc);
4087      }
4088    }
4089  }
4090#line 2310 "ClientLib.c"
4091  return (retValue_acc);
4092}
4093}
4094#line 557 "ClientLib.c"
4095int findPublicKey(int handle , int userid ) 
4096{ int retValue_acc ;
4097
4098  {
4099#line 591
4100  if (handle == 1) {
4101#line 568 "ClientLib.c"
4102    if (userid == __ste_Client_Keyring0_User0) {
4103#line 2338
4104      retValue_acc = __ste_Client_Keyring0_PublicKey0;
4105#line 2340
4106      return (retValue_acc);
4107    } else {
4108#line 2342
4109      if (userid == __ste_Client_Keyring0_User1) {
4110#line 2347
4111        retValue_acc = __ste_Client_Keyring0_PublicKey1;
4112#line 2349
4113        return (retValue_acc);
4114      } else {
4115#line 2355
4116        retValue_acc = 0;
4117#line 2357
4118        return (retValue_acc);
4119      }
4120    }
4121  } else {
4122#line 2359 "ClientLib.c"
4123    if (handle == 2) {
4124#line 578 "ClientLib.c"
4125      if (userid == __ste_Client_Keyring1_User0) {
4126#line 2367
4127        retValue_acc = __ste_Client_Keyring1_PublicKey0;
4128#line 2369
4129        return (retValue_acc);
4130      } else {
4131#line 2371
4132        if (userid == __ste_Client_Keyring1_User1) {
4133#line 2376
4134          retValue_acc = __ste_Client_Keyring1_PublicKey1;
4135#line 2378
4136          return (retValue_acc);
4137        } else {
4138#line 2384
4139          retValue_acc = 0;
4140#line 2386
4141          return (retValue_acc);
4142        }
4143      }
4144    } else {
4145#line 2388 "ClientLib.c"
4146      if (handle == 3) {
4147#line 588 "ClientLib.c"
4148        if (userid == __ste_Client_Keyring2_User0) {
4149#line 2396
4150          retValue_acc = __ste_Client_Keyring2_PublicKey0;
4151#line 2398
4152          return (retValue_acc);
4153        } else {
4154#line 2400
4155          if (userid == __ste_Client_Keyring2_User1) {
4156#line 2405
4157            retValue_acc = __ste_Client_Keyring2_PublicKey1;
4158#line 2407
4159            return (retValue_acc);
4160          } else {
4161#line 2413
4162            retValue_acc = 0;
4163#line 2415
4164            return (retValue_acc);
4165          }
4166        }
4167      } else {
4168#line 2421 "ClientLib.c"
4169        retValue_acc = 0;
4170#line 2423
4171        return (retValue_acc);
4172      }
4173    }
4174  }
4175#line 2430 "ClientLib.c"
4176  return (retValue_acc);
4177}
4178}
4179#line 595 "ClientLib.c"
4180void setClientKeyringPublicKey(int handle , int index , int value ) 
4181{ 
4182
4183  {
4184#line 621
4185  if (handle == 1) {
4186#line 604
4187    if (index == 0) {
4188#line 598
4189      __ste_Client_Keyring0_PublicKey0 = value;
4190    } else {
4191#line 599
4192      if (index == 1) {
4193#line 600
4194        __ste_Client_Keyring0_PublicKey1 = value;
4195      } else {
4196
4197      }
4198    }
4199  } else {
4200#line 601
4201    if (handle == 2) {
4202#line 612
4203      if (index == 0) {
4204#line 606
4205        __ste_Client_Keyring1_PublicKey0 = value;
4206      } else {
4207#line 607
4208        if (index == 1) {
4209#line 608
4210          __ste_Client_Keyring1_PublicKey1 = value;
4211        } else {
4212
4213        }
4214      }
4215    } else {
4216#line 609
4217      if (handle == 3) {
4218#line 620
4219        if (index == 0) {
4220#line 614
4221          __ste_Client_Keyring2_PublicKey0 = value;
4222        } else {
4223#line 615
4224          if (index == 1) {
4225#line 616
4226            __ste_Client_Keyring2_PublicKey1 = value;
4227          } else {
4228
4229          }
4230        }
4231      } else {
4232
4233      }
4234    }
4235  }
4236#line 2486 "ClientLib.c"
4237  return;
4238}
4239}
4240#line 623 "ClientLib.c"
4241int __ste_client_forwardReceiver0  =    0;
4242#line 625 "ClientLib.c"
4243int __ste_client_forwardReceiver1  =    0;
4244#line 627 "ClientLib.c"
4245int __ste_client_forwardReceiver2  =    0;
4246#line 629 "ClientLib.c"
4247int __ste_client_forwardReceiver3  =    0;
4248#line 631 "ClientLib.c"
4249int getClientForwardReceiver(int handle ) 
4250{ int retValue_acc ;
4251
4252  {
4253#line 640 "ClientLib.c"
4254  if (handle == 1) {
4255#line 2515
4256    retValue_acc = __ste_client_forwardReceiver0;
4257#line 2517
4258    return (retValue_acc);
4259  } else {
4260#line 2519
4261    if (handle == 2) {
4262#line 2524
4263      retValue_acc = __ste_client_forwardReceiver1;
4264#line 2526
4265      return (retValue_acc);
4266    } else {
4267#line 2528
4268      if (handle == 3) {
4269#line 2533
4270        retValue_acc = __ste_client_forwardReceiver2;
4271#line 2535
4272        return (retValue_acc);
4273      } else {
4274#line 2541 "ClientLib.c"
4275        retValue_acc = 0;
4276#line 2543
4277        return (retValue_acc);
4278      }
4279    }
4280  }
4281#line 2550 "ClientLib.c"
4282  return (retValue_acc);
4283}
4284}
4285#line 643 "ClientLib.c"
4286void setClientForwardReceiver(int handle , int value ) 
4287{ 
4288
4289  {
4290#line 651
4291  if (handle == 1) {
4292#line 645
4293    __ste_client_forwardReceiver0 = value;
4294  } else {
4295#line 646
4296    if (handle == 2) {
4297#line 647
4298      __ste_client_forwardReceiver1 = value;
4299    } else {
4300#line 648
4301      if (handle == 3) {
4302#line 649
4303        __ste_client_forwardReceiver2 = value;
4304      } else {
4305
4306      }
4307    }
4308  }
4309#line 2585 "ClientLib.c"
4310  return;
4311}
4312}
4313#line 653 "ClientLib.c"
4314int __ste_client_idCounter0  =    0;
4315#line 655 "ClientLib.c"
4316int __ste_client_idCounter1  =    0;
4317#line 657 "ClientLib.c"
4318int __ste_client_idCounter2  =    0;
4319#line 660 "ClientLib.c"
4320int getClientId(int handle ) 
4321{ int retValue_acc ;
4322
4323  {
4324#line 669 "ClientLib.c"
4325  if (handle == 1) {
4326#line 2612
4327    retValue_acc = __ste_client_idCounter0;
4328#line 2614
4329    return (retValue_acc);
4330  } else {
4331#line 2616
4332    if (handle == 2) {
4333#line 2621
4334      retValue_acc = __ste_client_idCounter1;
4335#line 2623
4336      return (retValue_acc);
4337    } else {
4338#line 2625
4339      if (handle == 3) {
4340#line 2630
4341        retValue_acc = __ste_client_idCounter2;
4342#line 2632
4343        return (retValue_acc);
4344      } else {
4345#line 2638 "ClientLib.c"
4346        retValue_acc = 0;
4347#line 2640
4348        return (retValue_acc);
4349      }
4350    }
4351  }
4352#line 2647 "ClientLib.c"
4353  return (retValue_acc);
4354}
4355}
4356#line 672 "ClientLib.c"
4357void setClientId(int handle , int value ) 
4358{ 
4359
4360  {
4361#line 680
4362  if (handle == 1) {
4363#line 674
4364    __ste_client_idCounter0 = value;
4365  } else {
4366#line 675
4367    if (handle == 2) {
4368#line 676
4369      __ste_client_idCounter1 = value;
4370    } else {
4371#line 677
4372      if (handle == 3) {
4373#line 678
4374        __ste_client_idCounter2 = value;
4375      } else {
4376
4377      }
4378    }
4379  }
4380#line 2682 "ClientLib.c"
4381  return;
4382}
4383}