
-- 1: --  with Interfaces.C;            use Interfaces.C;
-- 2: --  with Interfaces.C.Strings;    use Interfaces.C.Strings;

-- 3:
-- 4: --  with System;                  use System;
-- 5: --  with System.Storage_Pools;    use System.Storage_Pools;
-- 6: --  with System.Storage_Elements; use System.Storage_Elements;

-- 7:
-- 8: -- O_Strings, native targets implementation

-- 9:

-- 10: with Ada.Unchecked_Deallocation;

-- 11:

-- 12: with Ada.Strings;

-- 13: with Ada.Strings.Fixed;
with ada;
with ada.ada__strings;
with ada;
with ada;
with ada.unchecked_deallocation;
with ada.ada__strings;
with ada.ada__strings.ada__strings__fixed;
with interfaces;
with ada.ada__tags;
with system.system__finalization_root;
with system.system__finalization_implementation;
with system.system__soft_links;
with system.system__standard_library;
with system.system__secondary_stack;
with system;
with system.system__storage_elements;
with ada.ada__exceptions;
with ada.ada__finalization.ada__finalization__list_controller;
with system.system__compare_array_unsigned_8;

-- 14:

-- 15:

-- 16: package body Jwa.Strings is
package body jwa.jwa__strings is

-- 17:

-- 18:    procedure Free is new Ada.Unchecked_Deallocation
   package jwa__strings__freeGP448Xn is
      subtype jwa__strings__freeGP448__objectXn is
        jwa__strings__string_8_internal;
      subtype jwa__strings__freeGP448__nameXn is
        jwa__strings__string_8_internal_ptr;
      procedure jwa__strings__free (x : in out
        jwa__strings__freeGP448__nameXn);
   end jwa__strings__freeGP448Xn;
   procedure free is new ada.unchecked_deallocation (object =>
     jwa__strings__string_8_internal, name =>
     jwa__strings__string_8_internal_ptr);

-- 19:      (Object => String_8_Internal,

-- 20:       Name => String_8_Internal_Ptr);

-- 21:
-- 22:    --------------
-- 23:    -- Capacity --
-- 24:    --------------

-- 25:

-- 26:    function Capacity (Length : Natural) return Natural is
   function jwa__strings__capacity (length : natural) return natural is

-- 27:    begin
   begin

-- 28:       if Length <= 256 then
      [constraint_error when
        not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
        "invalid data"]
      if length <= 256 then

-- 29:          return Length / 8 * 8 + 8 + 4;
         [constraint_error when
           not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (length / 8 {*} 8 {+} 8 {+} 4 in 0 .. 16#7FFF_FFFF#)
           "range check failed"]
         return natural(length / 8 {*} 8 {+} 8 {+} 4);
      else

-- 30:       elsif Length <= 512 then
         [constraint_error when
           not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
           "invalid data"]
         if length <= 512 then

-- 31:          return Length / 32 * 32 + 32 + 4;
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (length / 32 {*} 32 {+} 32 {+} 4 in 0 ..
                16#7FFF_FFFF#)
              "range check failed"]
            return natural(length / 32 {*} 32 {+} 32 {+} 4);
         else

-- 32:       elsif Length <= 1024 then
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            if length <= 1024 then

-- 33:          return Length / 128 * 128 + 128 + 4;
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (length / 128 {*} 128 {+} 128 {+} 4 in 0 ..
                   16#7FFF_FFFF#)
                 "range check failed"]
               return natural(length / 128 {*} 128 {+} 128 {+} 4);
            else

-- 34:       elsif Length <= 2048 then
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               if length <= 2048 then

-- 35:          return Length / 256 * 256 + 256 + 4;
                  [constraint_error when
                    not (interfaces__unsigned_32!(length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (length / 256 {*} 256 {+} 256 {+} 4 in 0 ..
                      16#7FFF_FFFF#)
                    "range check failed"]
                  return natural(length / 256 {*} 256 {+} 256 {+} 4);

-- 36:       else
               else

-- 37:          return Length / 1024 * 1024 + 1024 + 4;
                  [constraint_error when
                    not (interfaces__unsigned_32!(length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (length / 1024 {*} 1024 {+} 1024 {+} 4 in 0 ..
                      16#7FFF_FFFF#)
                    "range check failed"]
                  return natural(length / 1024 {*} 1024 {+} 1024 {+}
                    4);

-- 38:       end if;
               end if;
            end if;
         end if;
      end if;

-- 39:    end Capacity;
   end jwa__strings__capacity;

-- 40:
-- 41:    -------------------
-- 42:    -- Good_Capacity --
-- 43:    -------------------

-- 44:

-- 45:    function Good_Capacity (Old_Capacity, New_Length : Natural) return Boolean is
   function jwa__strings__good_capacity (old_capacity : natural;
     new_length : natural) return boolean is

-- 46:    begin
   begin

-- 47:       return Capacity (New_Length) = Old_Capacity; -- stub implementation
      [constraint_error when
        not (interfaces__unsigned_32!(new_length) <= 16#7FFF_FFFF#)
        "invalid data"]
      R7b : constant natural := jwa__strings__capacity (new_length);
      [constraint_error when
        not (interfaces__unsigned_32!(R7b) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(old_capacity) <= 16#7FFF_FFFF#)
        "invalid data"]
      return R7b = old_capacity;

-- 48:    end Good_Capacity;
   end jwa__strings__good_capacity;

-- 49:
-- 50:    ---------------------
-- 51:    -- String_8.Adjust --
-- 52:    ---------------------

-- 53:

-- 54:    procedure Adjust (Object : in out String_8) is
   procedure jwa__strings__adjust (object : in out
     jwa__strings__string_8) is
      B_1 : label

-- 55:    begin
   begin

-- 56:       if Object.Ptr /= null then
      if object.ptr /= null then

-- 57:          declare
         B_1 : declare

-- 58:             RC : Reference_Counter_Type renames Object.Ptr.Counter;
            R8b : jwa__strings__string_8_internal_ptr renames object.
              ptr;
            [constraint_error when
              R8b = null
              "access check failed"]
            R9b : constant jwa__strings__string_8_internal_ptr := R8b;
            rc___XR_R9b___XEXAXRcounter : _renaming_type;
            rc : jwa__strings__reference_counter_type renames R9b.all.
              counter;
         begin
            [constraint_error when
              R9b = null
              "access check failed"]
            null;

-- 59:          begin

-- 60:             RC.rc := RC.rc + 1;
            R9b.all.counter.rc := R9b.all.counter.rc {+} 1;

-- 61:          end;
         end B_1;

-- 62:       end if;
      end if;

-- 63:    end Adjust;
      return;
   end jwa__strings__adjust;

-- 64:
-- 65:    -----------------------
-- 66:    -- String_8.Finalize --
-- 67:    -----------------------

-- 68:

-- 69:    procedure Finalize (Object : in out String_8) is
   procedure jwa__strings__finalize (object : in out
     jwa__strings__string_8) is
      delete : boolean := false;
      B_2 : label
   begin

-- 70:       Delete : Boolean := False;

-- 71:    begin

-- 72:       if Object.Ptr /= null then
      if object.ptr /= null then

-- 73:          declare
         B_2 : declare

-- 74:             RC : Reference_Counter_Type renames Object.Ptr.Counter;
            R10b : jwa__strings__string_8_internal_ptr renames object.
              ptr;
            [constraint_error when
              R10b = null
              "access check failed"]
            R11b : constant jwa__strings__string_8_internal_ptr := R10b;
            rc___XR_R11b___XEXAXRcounter : _renaming_type;
            rc : jwa__strings__reference_counter_type renames R11b.all.
              counter;
         begin
            [constraint_error when
              R11b = null
              "access check failed"]
            null;

-- 75:          begin

-- 76:             RC.rc := RC.rc - 1;
            R11b.all.counter.rc := R11b.all.counter.rc {-} 1;
            [constraint_error when
              R11b = null
              "access check failed"]

-- 77:             Delete := RC.rc <= 0;
            delete := R11b.all.counter.rc <= 0;

-- 78:          end;
         end B_2;

-- 79:          if Delete then
         if delete then

-- 80:             Free (Object.Ptr);
            if object.ptr /= null then
               free object.ptr;
               object.ptr := null;

-- 81:          end if;
            end if;

-- 82:       end if;
         end if;
      end if;

-- 83:       Object.Ptr := null;
      object.ptr := null;

-- 84:    end Finalize;
      return;
   end jwa__strings__finalize;

-- 85:
-- 86:    ---------------------------------------
-- 87:    -- String_8.Create ( : String_8_Ptr) --
-- 88:    ---------------------------------------

-- 89:

-- 90:    function Create (Ptr : String_8_Ptr) return String_8 is
   function jwa__strings__create (ptr : jwa__strings__string_8_ptr)
     return jwa__strings__string_8 is
      length : natural;
   begin

-- 91:       Length : Natural;

-- 92:    begin

-- 93:       return Result : String_8 do
      R12b : declare
         F13b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__create__R12b___clean is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F13b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__create__R12b___clean;
      begin
         result : jwa__strings__string_8;
         jwa__strings__string_8IP (result, P20s => true);
         B14b : begin
            system__soft_links__abort_defer.all;
            $ada__finalization__initialize (result);
            $system__finalization_implementation__attach_to_final_list
              (F13b, system__finalization_root__finalizable?(result),
              1);
         at end
            system__standard_library__abort_undefer_direct;
         end B14b;
         B47b : declare
         begin
            C15b : boolean;

-- 94:          if Ptr /= null and then Ptr.Length > 0 then
            if ptr /= null then
               [constraint_error when
                 not (interfaces__unsigned_32!(ptr.all.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C15b := ptr.all.length > 0;
            else
               C15b := false;
            end if;
            if C15b then

-- 95:             Length := Ptr.Length;
               [constraint_error when
                 ptr = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(ptr.all.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               length := ptr.all.length;

-- 96:             Result.Ptr := new String_8_Internal (Capacity (Length));
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               R17b : constant natural := jwa__strings__capacity (
                 length);
               subtype jwa__strings__create__R12b__S16b is
                 jwa__strings__string_8_internal (R17b);
               P21b : constant jwa__strings__string_8_internal_ptr :=
                 new jwa__strings__create__R12b__S16b;
               jwa__strings__string_8_internalIP (P21b.all, R17b);
               result.ptr := P21b;

-- 97:             Result.Ptr.Data.Length := Length;
               R23b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R23b = null
                 "access check failed"]
               R24b : constant natural := R23b.all.capacity;
               subtype jwa__strings__create__R12b__S22b is
                 jwa__strings__string_8_data (R24b);
               R26b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R26b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               R26b.all.data.length := length;

-- 98:             Result.Ptr.Data.chr (Length + 1) := NUL_8;
               R28b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R28b = null
                 "access check failed"]
               R29b : constant natural := R28b.all.capacity;
               subtype jwa__strings__create__R12b__S27b is
                 jwa__strings__string_8_data (R29b);
               R31b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R31b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               R32b : constant integer := length {+} 1;
               [constraint_error when
                 not (R32b in 1 .. R31b.all.data.chr'last)
                 "index check failed"]
               R31b.all.data.chr (R32b) := jwa__nul_8;

-- 99:             Result.Ptr.Data.chr (1 .. Length) := Ptr.chr (1 .. Length);
               [constraint_error when
                 ptr = null
                 "access check failed"]
               subtype jwa__strings__create__R12b__S33b is string (
                 1 .. ptr.all.capacity);
               null;
               R35b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R35b = null
                 "access check failed"]
               R36b : constant natural := R35b.all.capacity;
               subtype jwa__strings__create__R12b__S34b is
                 jwa__strings__string_8_data (R36b);
               R38b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R38b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C39b : boolean;
               if length >= 1 then
                  [constraint_error when
                    not (interfaces__unsigned_32!(length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C39b := (integer(length) > integer(R36b));
               else
                  C39b := false;

-- 100:          end if;
               end if;
               [constraint_error when C39b "range check failed"]
               R40b : constant natural := length;
               [constraint_error when
                 ptr = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C43b : boolean;
               if length >= 1 then
                  [constraint_error when
                    not (interfaces__unsigned_32!(length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C43b := (integer(length) > integer(ptr.all.capacity));
               else
                  C43b := false;
               end if;
               [constraint_error when C43b "range check failed"]
               R44b : constant natural := length;
               [constraint_error when
                 [subtype jwa__strings__create__R12b__T41b is integer range
                   1 .. R40b]
                 [subtype jwa__strings__create__R12b__T42b is string (
                   jwa__strings__create__R12b__T41b)]
                 [subtype jwa__strings__create__R12b__T45b is integer range
                   1 .. R44b]
                 [subtype jwa__strings__create__R12b__T46b is string (
                   jwa__strings__create__R12b__T45b)]
                 jwa__strings__create__R12b__T42b'length /=
                   jwa__strings__create__R12b__T46b'length
                 "length check failed"]
               R38b.all.data.chr (1 .. R40b) := ptr.all.chr (1 .. R44b);
            end if;

-- 101:       end return;
         end B47b;
         type jwa__strings__create__R12b__A50b is access
           jwa__strings__string_8;
         freeze jwa__strings__create__R12b__A50b []
         P52b : constant jwa__strings__create__R12b__A50b := new
           jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P52b.all._tag := jwa__strings__string_8P;
         F53b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P52b.all);
         $system__finalization_implementation__attach_to_final_list (
           F53b, system__finalization_root__finalizable?(P52b.all),
           1);
         R49b : jwa__strings__create__R12b__A50b := P52b;
         return R49b.all;
      at end
         jwa__strings__create__R12b___clean;

-- 102:    end Create;
      end R12b;
   end jwa__strings__create;

-- 103:
-- 104:    ---------------------------------
-- 105:    -- String_8.Create ( : String) --
-- 106:    ---------------------------------

-- 107:

-- 108:    function Create (Source : String) return String_8 is
   function jwa__strings__create (source : string) return
     jwa__strings__string_8 is
      subtype jwa__strings__create__S54b__2 is string (source'first(
        1) .. source'last(1));
      length : constant natural := natural(source'length);
   begin

-- 109:       Length : constant Natural := Source'Length;

-- 110:    begin

-- 111:       return Result : String_8 do
      R55b : declare
         F56b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__create__R55b___clean__2 is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F56b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__create__R55b___clean__2;
      begin
         result : jwa__strings__string_8;
         jwa__strings__string_8IP (result, P20s => true);
         B57b : begin
            system__soft_links__abort_defer.all;
            $ada__finalization__initialize (result);
            $system__finalization_implementation__attach_to_final_list
              (F56b, system__finalization_root__finalizable?(result),
              1);
         at end
            system__standard_library__abort_undefer_direct;
         end B57b;
         B81b : declare
         begin

-- 112:          if Length > 0 then
            if length > 0 then
               R59b : constant natural := jwa__strings__capacity (
                 length);

-- 113:             Result.Ptr := new String_8_Internal (Capacity (Length));
               subtype jwa__strings__create__R55b__S58b__2 is
                 jwa__strings__string_8_internal (R59b);
               P63b : constant jwa__strings__string_8_internal_ptr :=
                 new jwa__strings__create__R55b__S58b__2;
               jwa__strings__string_8_internalIP (P63b.all, R59b);
               result.ptr := P63b;

-- 114:             Result.Ptr.Data.Length := Length;
               R65b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R65b = null
                 "access check failed"]
               R66b : constant natural := R65b.all.capacity;
               subtype jwa__strings__create__R55b__S64b__2 is
                 jwa__strings__string_8_data (R66b);
               R68b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R68b = null
                 "access check failed"]
               R68b.all.data.length := length;

-- 115:             Result.Ptr.Data.chr (Length + 1) := NUL_8;
               R70b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R70b = null
                 "access check failed"]
               R71b : constant natural := R70b.all.capacity;
               subtype jwa__strings__create__R55b__S69b__2 is
                 jwa__strings__string_8_data (R71b);
               R73b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R73b = null
                 "access check failed"]
               [constraint_error when
                 not (length {+} 1 in 1 .. R73b.all.data.chr'last)
                 "index check failed"]
               R73b.all.data.chr (length + 1) := jwa__nul_8;

-- 116:             Result.Ptr.Data.chr (1 .. Length) := Source;
               R75b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R75b = null
                 "access check failed"]
               R76b : constant natural := R75b.all.capacity;
               subtype jwa__strings__create__R55b__S74b__2 is
                 jwa__strings__string_8_data (R76b);
               R78b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R78b = null
                 "access check failed"]
               [constraint_error when
                 length >= 1 and then (integer(length) > integer(R76b))
                 "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__create__R55b__T79b__2 is
                   integer range 1 .. length]
                 [subtype jwa__strings__create__R55b__T80b__2 is string (
                   jwa__strings__create__R55b__T79b__2)]
                 jwa__strings__create__R55b__T80b__2'length /=
                   jwa__strings__create__S54b__2'length
                 "length check failed"]
               R78b.all.data.chr (1 .. length) := source;

-- 117:          end if;
            end if;

-- 118:       end return;
         end B81b;
         type jwa__strings__create__R55b__A84b__2 is access
           jwa__strings__string_8;
         freeze jwa__strings__create__R55b__A84b__2 []
         P86b : constant jwa__strings__create__R55b__A84b__2 := new
           jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P86b.all._tag := jwa__strings__string_8P;
         F87b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P86b.all);
         $system__finalization_implementation__attach_to_final_list (
           F87b, system__finalization_root__finalizable?(P86b.all),
           1);
         R83b : jwa__strings__create__R55b__A84b__2 := P86b;
         return R83b.all;
      at end
         jwa__strings__create__R55b___clean__2;

-- 119:    end Create;
      end R55b;
   end jwa__strings__create;

-- 120:
-- 121:    ----------------------------------
-- 122:    -- String_8.Create ( : Natural) --
-- 123:    ----------------------------------

-- 124:

-- 125:    function Create (Length : Natural) return String_8 is
   function jwa__strings__create (length : natural) return
     jwa__strings__string_8 is

-- 126:    begin
   begin

-- 127:       return Result : String_8 do
      R88b : declare
         F89b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__create__R88b___clean__3 is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F89b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__create__R88b___clean__3;
      begin
         result : jwa__strings__string_8;
         jwa__strings__string_8IP (result, P20s => true);
         B90b : begin
            system__soft_links__abort_defer.all;
            $ada__finalization__initialize (result);
            $system__finalization_implementation__attach_to_final_list
              (F89b, system__finalization_root__finalizable?(result),
              1);
         at end
            system__standard_library__abort_undefer_direct;
         end B90b;
         B107b : declare
         begin

-- 128:          if Length > 0 then
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            if length > 0 then

-- 129:             Result.Ptr := new String_8_Internal (Capacity (Length));
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               R92b : constant natural := jwa__strings__capacity (
                 length);
               subtype jwa__strings__create__R88b__S91b__3 is
                 jwa__strings__string_8_internal (R92b);
               P96b : constant jwa__strings__string_8_internal_ptr :=
                 new jwa__strings__create__R88b__S91b__3;
               jwa__strings__string_8_internalIP (P96b.all, R92b);
               result.ptr := P96b;

-- 130:             Result.Ptr.Data.Length := Length;
               R98b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R98b = null
                 "access check failed"]
               R99b : constant natural := R98b.all.capacity;
               subtype jwa__strings__create__R88b__S97b__3 is
                 jwa__strings__string_8_data (R99b);
               R101b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R101b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               R101b.all.data.length := length;

-- 131:             Result.Ptr.Data.chr (Length + 1) := NUL_8;
               R103b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R103b = null
                 "access check failed"]
               R104b : constant natural := R103b.all.capacity;
               subtype jwa__strings__create__R88b__S102b__3 is
                 jwa__strings__string_8_data (R104b);
               R106b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R106b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (length {+} 1 in 1 .. R106b.all.data.chr'last)
                 "index check failed"]
               R106b.all.data.chr (length + 1) := jwa__nul_8;

-- 132:          end if;
            end if;

-- 133:       end return;
         end B107b;
         type jwa__strings__create__R88b__A110b__3 is access
           jwa__strings__string_8;
         freeze jwa__strings__create__R88b__A110b__3 []
         P112b : constant jwa__strings__create__R88b__A110b__3 := new
           jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P112b.all._tag := jwa__strings__string_8P;
         F113b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P112b.all);
         $system__finalization_implementation__attach_to_final_list (
           F113b, system__finalization_root__finalizable?(P112b.all),
           1);
         R109b : jwa__strings__create__R88b__A110b__3 := P112b;
         return R109b.all;
      at end
         jwa__strings__create__R88b___clean__3;

-- 134:    end Create;
      end R88b;
   end jwa__strings__create;

-- 135:
-- 136:    --------------------------
-- 137:    -- String_8.Make_Buffer --
-- 138:    --------------------------

-- 139:

-- 140:    procedure Make_Buffer (Target : in out String_8; Length : Natural) is
   procedure jwa__strings__make_buffer (target : in out
     jwa__strings__string_8; length : natural) is

-- 141:    begin
   begin

-- 142:       if Length <= 0 then
      [constraint_error when
        not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
        "invalid data"]
      if length <= 0 then

-- 143:          Target.Set_Empty;
         jwa__strings__set_empty (target);

-- 144:          return;
         return;

-- 145:       end if;
      end if;

-- 146:

-- 147:       if Target.Ptr /= null then
      if target.ptr /= null then
-- 148:          -- Reusing allocated memory is desired
-- 149:          -- What can prevent it?

-- 150:          if Target.Ptr.Counter.rc > 1 then
         R115b : jwa__strings__string_8_internal_ptr renames target.ptr;
         [constraint_error when
           R115b = null
           "access check failed"]
         if R115b.all.counter.rc > 1 then

-- 151:             Target.Set_Empty;
            jwa__strings__set_empty (target);
         else

-- 152:          elsif not Good_Capacity (Target.Ptr.Capacity, Length) then
            R116b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R116b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R116b.all.capacity) <=
                16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            R117b : constant boolean := jwa__strings__good_capacity (
              R116b.all.capacity, length);
            [constraint_error when
              not (interfaces__unsigned_32!(R117b) >=
                interfaces__unsigned_32!(false) and then
                interfaces__unsigned_32!(R117b) <=
                interfaces__unsigned_32!(true))
              "invalid data"]
            if not R117b then

-- 153:             Target.Set_Empty;
               jwa__strings__set_empty (target);

-- 154:          end if;
            end if;

-- 155:       end if;
         end if;
      end if;

-- 156:

-- 157:       if Target.Ptr = null then
      if target.ptr = null then

-- 158:          Target.Ptr := new String_8_Internal (Capacity (Length));
         [constraint_error when
           not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
           "invalid data"]
         R119b : constant natural := jwa__strings__capacity (length);
         subtype jwa__strings__make_buffer__S118b is
           jwa__strings__string_8_internal (R119b);
         P123b : constant jwa__strings__string_8_internal_ptr := new
           jwa__strings__make_buffer__S118b;
         jwa__strings__string_8_internalIP (P123b.all, R119b);
         target.ptr := P123b;

-- 159:       end if;
      end if;

-- 160:

-- 161:       Target.Ptr.Data.Length := Length;
      R125b : jwa__strings__string_8_internal_ptr renames target.ptr;
      [constraint_error when
        R125b = null
        "access check failed"]
      R126b : constant natural := R125b.all.capacity;
      subtype jwa__strings__make_buffer__S124b is
        jwa__strings__string_8_data (R126b);
      R128b : jwa__strings__string_8_internal_ptr renames target.ptr;
      [constraint_error when
        R128b = null
        "access check failed"]
      [constraint_error when
        not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
        "invalid data"]
      R128b.all.data.length := length;

-- 162:       Target.Ptr.Data.chr (Length + 1) := NUL_8;
      R130b : jwa__strings__string_8_internal_ptr renames target.ptr;
      [constraint_error when
        R130b = null
        "access check failed"]
      R131b : constant natural := R130b.all.capacity;
      subtype jwa__strings__make_buffer__S129b is
        jwa__strings__string_8_data (R131b);
      R133b : jwa__strings__string_8_internal_ptr renames target.ptr;
      [constraint_error when
        R133b = null
        "access check failed"]
      [constraint_error when
        not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (length {+} 1 in 1 .. R133b.all.data.chr'last)
        "index check failed"]
      R133b.all.data.chr (length + 1) := jwa__nul_8;

-- 163:    end Make_Buffer;
      return;
   end jwa__strings__make_buffer;

-- 164:
-- 165:    ------------------------------------
-- 166:    -- String_8.Set ( : String_8_Ptr) --
-- 167:    ------------------------------------

-- 168:

-- 169:    procedure Set (Target : in out String_8; Ptr : String_8_Ptr) is
   procedure jwa__strings__set (target : in out jwa__strings__string_8;
     ptr : jwa__strings__string_8_ptr) is
      length : natural;
   begin
      C134b : boolean;

-- 170:       Length : Natural;

-- 171:    begin

-- 172:       if Ptr = null or else Ptr.Length <= 0 then
      if ptr = null then
         C134b := true;
      else
         [constraint_error when
           not (interfaces__unsigned_32!(ptr.all.length) <=
             16#7FFF_FFFF#)
           "invalid data"]
         C134b := ptr.all.length <= 0;
      end if;
      if C134b then

-- 173:          Target.Set_Empty;
         jwa__strings__set_empty (target);

-- 174:       end if;
      end if;

-- 175:

-- 176:       Length := Ptr.Length;
      [constraint_error when
        ptr = null
        "access check failed"]
      [constraint_error when
        not (interfaces__unsigned_32!(ptr.all.length) <=
          16#7FFF_FFFF#)
        "invalid data"]
      length := ptr.all.length;

-- 177:

-- 178:       Target.Make_Buffer (Length);
      jwa__strings__make_buffer (target, length);

-- 179:       Target.Ptr.Data.chr (1 .. Length) := Ptr.chr (1 .. Length);
      [constraint_error when
        ptr = null
        "access check failed"]
      subtype jwa__strings__set__S135b is string (1 .. ptr.all.capacity);
      null;
      R137b : jwa__strings__string_8_internal_ptr renames target.ptr;
      [constraint_error when
        R137b = null
        "access check failed"]
      R138b : constant natural := R137b.all.capacity;
      subtype jwa__strings__set__S136b is jwa__strings__string_8_data (
        R138b);
      R140b : jwa__strings__string_8_internal_ptr renames target.ptr;
      [constraint_error when
        R140b = null
        "access check failed"]
      [constraint_error when
        length >= 1 and then (integer(length) > integer(R138b))
        "range check failed"]
      R141b : constant natural := length;
      [constraint_error when
        ptr = null
        "access check failed"]
      [constraint_error when
        length >= 1 and then (integer(length) > integer(ptr.all.
          capacity))
        "range check failed"]
      R144b : constant natural := length;
      [constraint_error when
        [subtype jwa__strings__set__T142b is integer range 1 .. R141b]
        [subtype jwa__strings__set__T143b is string (
          jwa__strings__set__T142b)]
        [subtype jwa__strings__set__T145b is integer range 1 .. R144b]
        [subtype jwa__strings__set__T146b is string (
          jwa__strings__set__T145b)]
        jwa__strings__set__T143b'length /= jwa__strings__set__T146b'
          length
        "length check failed"]
      R140b.all.data.chr (1 .. R141b) := ptr.all.chr (1 .. R144b);

-- 180:    end Set;
      return;
   end jwa__strings__set;

-- 181:
-- 182:    -------------------------------
-- 183:    -- String_8.Set ( : String) --
-- 184:    -------------------------------

-- 185:

-- 186:    procedure Set (Target : in out String_8; Source : String) is
   procedure jwa__strings__set (target : in out jwa__strings__string_8;
     source : string) is
      subtype jwa__strings__set__S147b__2 is string (source'first(1) ..
        source'last(1));

-- 187:    begin
   begin

-- 188:       if Source'Length > 0 then
      if source'length > 0 then

-- 189:          Target.Make_Buffer (Source'Length);
         jwa__strings__make_buffer (target, natural(source'length));

-- 190:          Target.Ptr.Data.chr (1 .. Source'Length) := Source;
         R149b : jwa__strings__string_8_internal_ptr renames target.ptr;
         [constraint_error when
           R149b = null
           "access check failed"]
         R150b : constant natural := R149b.all.capacity;
         subtype jwa__strings__set__S148b__2 is
           jwa__strings__string_8_data (R150b);
         R152b : jwa__strings__string_8_internal_ptr renames target.ptr;
         [constraint_error when
           R152b = null
           "access check failed"]
         [constraint_error when
           integer(source'length) >= 1 and then (integer(source'length) >
             integer(R150b))
           "range check failed"]
         [constraint_error when
           [subtype jwa__strings__set__T153b__2 is integer range 1 ..
             integer(source'length)]
           [subtype jwa__strings__set__T154b__2 is string (
             jwa__strings__set__T153b__2)]
           jwa__strings__set__T154b__2'length /=
             jwa__strings__set__S147b__2'length
           "length check failed"]
         R152b.all.data.chr (1 .. integer(source'length)) := source;

-- 191:       else
      else

-- 192:          Target.Set_Empty;
         jwa__strings__set_empty (target);

-- 193:       end if;
      end if;

-- 194:    end Set;
      return;
   end jwa__strings__set;

-- 195:
-- 196:    -------------------------
-- 197:    -- String_8.Set_Length --
-- 198:    -------------------------

-- 199:

-- 200:    procedure Set_Length (Target : in out String_8; Length : Natural) is
   procedure jwa__strings__set_length (target : in out
     jwa__strings__string_8; length : natural) is
      R155b : constant natural := jwa__strings__length (target);

-- 201:       Target_Length : constant Natural := Target.Length;
      [constraint_error when
        not (interfaces__unsigned_32!(R155b) <= 16#7FFF_FFFF#)
        "invalid data"]
      target_length : constant natural := R155b;
      B_3 : label

-- 202:    begin
   begin

-- 203:       if Length = Target_Length then
      [constraint_error when
        not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
        "invalid data"]
      if length = target_length then

-- 204:          return;
         return;
      else

-- 205:       elsif Length <= 0 then
         [constraint_error when
           not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
           "invalid data"]
         if length <= 0 then

-- 206:          Target.Set_Empty;
            jwa__strings__set_empty (target);

-- 207:          return;
            return;

-- 208:       elsif Target.Ptr = null then
         elsif target.ptr = null then

-- 209:          Target.Ptr := new String_8_Internal (Capacity (Length));
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            R159b : constant natural := jwa__strings__capacity (length);
            subtype jwa__strings__set_length__S158b is
              jwa__strings__string_8_internal (R159b);
            P163b : constant jwa__strings__string_8_internal_ptr :=
              new jwa__strings__set_length__S158b;
            jwa__strings__string_8_internalIP (P163b.all, R159b);
            target.ptr := P163b;

-- 210:          Target.Ptr.Data.Length := Length;
            R165b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R165b = null
              "access check failed"]
            R166b : constant natural := R165b.all.capacity;
            subtype jwa__strings__set_length__S164b is
              jwa__strings__string_8_data (R166b);
            R168b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R168b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            R168b.all.data.length := length;

-- 211:          Target.Ptr.Data.chr (Length + 1) := NUL_8;
            R170b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R170b = null
              "access check failed"]
            R171b : constant natural := R170b.all.capacity;
            subtype jwa__strings__set_length__S169b is
              jwa__strings__string_8_data (R171b);
            R173b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R173b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (length {+} 1 in 1 .. R173b.all.data.chr'last)
              "index check failed"]
            R173b.all.data.chr (length + 1) := jwa__nul_8;

-- 212:          return;
            return;

-- 213:       end if;
         end if;
      end if;

-- 214:

-- 215:       declare
      B_3 : declare
         F179b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__set_length__B_3___clean is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F179b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__set_length__B_3___clean;
      begin
         target_ptr : jwa__strings__string_8_internal_ptr := target.ptr;

-- 216:          Target_Ptr : String_8_Internal_Ptr := Target.Ptr;

-- 217:          Target_Data : String_8_Ptr := Target_Ptr.Data'Access;
         [constraint_error when
           target_ptr = null
           "access check failed"]
         R176b : constant natural := target_ptr.all.capacity;
         subtype jwa__strings__set_length__B_3__S175b is
           jwa__strings__string_8_data (R176b);
         [constraint_error when
           target_ptr = null
           "access check failed"]
         target_data : jwa__strings__string_8_ptr := target_ptr.all.
           data'access;
         target_copy : jwa__strings__string_8;

-- 218:          Target_Copy : String_8;
         jwa__strings__string_8IP (target_copy, P20s => true);
         B180b : begin
            system__soft_links__abort_defer.all;
            $ada__finalization__initialize (target_copy);
            $system__finalization_implementation__attach_to_final_list
              (F179b, system__finalization_root__finalizable?(
              target_copy), 1);
         at end
            system__standard_library__abort_undefer_direct;
         end B180b;

-- 219:          Copy_Length : Natural := Natural'Min (Target_Length, Length);
         [constraint_error when
           not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (natural'min(target_length, length) >= 0)
           "range check failed"]
         copy_length : natural := natural'min(target_length, length);
         reuse : boolean := true;

-- 220:          Reuse : Boolean := True;

-- 221:       begin
-- 222:          -- Reusing allocated memory is desired
-- 223:          -- What can prevent it?

-- 224:          if Target_Ptr.Counter.rc > 1 or else
         [constraint_error when
           target_ptr = null
           "access check failed"]
         C182b : boolean;
         if target_ptr.all.counter.rc > 1 then
            C182b := true;
         else

-- 225:            not Good_Capacity (Target_Data.Capacity, Length) then
            [constraint_error when
              target_data = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(target_data.all.capacity) <=
                16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            R181b : constant boolean := jwa__strings__good_capacity (
              target_data.all.capacity, length);
            [constraint_error when
              not (interfaces__unsigned_32!(R181b) >=
                interfaces__unsigned_32!(false) and then
                interfaces__unsigned_32!(R181b) <=
                interfaces__unsigned_32!(true))
              "invalid data"]
            C182b := not R181b;
         end if;
         if C182b then
-- 226:             -- Target_Copy := Target;
-- 227:             -- Target.Set_Empty;

-- 228:
-- 229:             -- don't touch reference counter

-- 230:

-- 231:             Target_Copy.Ptr := Target_Ptr;
            target_copy.ptr := target_ptr;

-- 232:             Target.Ptr := null;
            target.ptr := null;

-- 233:             Reuse := False;
            reuse := false;

-- 234:          end if;
         end if;

-- 235:

-- 236:          if Target.Ptr = null then
         if target.ptr = null then

-- 237:             Target.Ptr := new String_8_Internal (Capacity (Length));
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            R184b : constant natural := jwa__strings__capacity (length);
            subtype jwa__strings__set_length__B_3__S183b is
              jwa__strings__string_8_internal (R184b);
            P188b : constant jwa__strings__string_8_internal_ptr :=
              new jwa__strings__set_length__B_3__S183b;
            jwa__strings__string_8_internalIP (P188b.all, R184b);
            target.ptr := P188b;

-- 238:          end if;
         end if;

-- 239:

-- 240:          Target.Ptr.Data.Length := Length;
         R190b : jwa__strings__string_8_internal_ptr renames target.ptr;
         [constraint_error when
           R190b = null
           "access check failed"]
         R191b : constant natural := R190b.all.capacity;
         subtype jwa__strings__set_length__B_3__S189b is
           jwa__strings__string_8_data (R191b);
         R193b : jwa__strings__string_8_internal_ptr renames target.ptr;
         [constraint_error when
           R193b = null
           "access check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
           "invalid data"]
         R193b.all.data.length := length;

-- 241:          Target.Ptr.Data.chr (Length + 1) := NUL_8;
         R195b : jwa__strings__string_8_internal_ptr renames target.ptr;
         [constraint_error when
           R195b = null
           "access check failed"]
         R196b : constant natural := R195b.all.capacity;
         subtype jwa__strings__set_length__B_3__S194b is
           jwa__strings__string_8_data (R196b);
         R198b : jwa__strings__string_8_internal_ptr renames target.ptr;
         [constraint_error when
           R198b = null
           "access check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (length {+} 1 in 1 .. R198b.all.data.chr'last)
           "index check failed"]
         R198b.all.data.chr (length + 1) := jwa__nul_8;

-- 242:

-- 243:          if not Reuse then
         if not reuse then

-- 244:             Target.Ptr.Data.chr (1 .. Copy_Length) :=

-- 245:               Target_Data.chr (1 .. Copy_Length);
            [constraint_error when
              target_data = null
              "access check failed"]
            R200b : constant natural := target_data.all.capacity;
            subtype jwa__strings__set_length__B_3__S199b is string (
              1 .. R200b);
            null;
            R202b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R202b = null
              "access check failed"]
            R203b : constant natural := R202b.all.capacity;
            subtype jwa__strings__set_length__B_3__S201b is
              jwa__strings__string_8_data (R203b);
            R205b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R205b = null
              "access check failed"]
            [constraint_error when
              copy_length >= 1 and then (integer(copy_length) > integer
                (R203b))
              "range check failed"]
            R206b : constant natural := copy_length;
            [constraint_error when
              target_data = null
              "access check failed"]
            [constraint_error when
              copy_length >= 1 and then (integer(copy_length) > integer
                (R200b))
              "range check failed"]
            R209b : constant natural := copy_length;
            [constraint_error when
              [subtype jwa__strings__set_length__B_3__T207b is integer range
                1 .. R206b]
              [subtype jwa__strings__set_length__B_3__T208b is string (
                jwa__strings__set_length__B_3__T207b)]
              [subtype jwa__strings__set_length__B_3__T210b is integer range
                1 .. R209b]
              [subtype jwa__strings__set_length__B_3__T211b is string (
                jwa__strings__set_length__B_3__T210b)]
              jwa__strings__set_length__B_3__T208b'length /=
                jwa__strings__set_length__B_3__T211b'length
              "length check failed"]
            R205b.all.data.chr (1 .. R206b) := target_data.all.chr (
              1 .. R209b);

-- 246:          end if;
         end if;
      at end
         jwa__strings__set_length__B_3___clean;

-- 247:       end;
      end B_3;

-- 248:    end Set_Length;
      return;
   end jwa__strings__set_length;

-- 249:
-- 250:    ---------------------
-- 251:    -- String_8.To_Ada --
-- 252:    ---------------------

-- 253:

-- 254:    function To_Ada (Source : String_8) return String is
   function jwa__strings__to_ada (source : jwa__strings__string_8)
     return string is
      B_4 : label

-- 255:    begin
   begin

-- 256:       if Source.Ptr = null then
      if source.ptr = null then

-- 257:          return (1 .. 0 => <>);
         null;
         [subtype jwa__strings__to_ada__T214b is string (1 .. 0)]
         A215b : jwa__strings__to_ada__T214b;
         null;
         return A215b;

-- 258:       else
      else

-- 259:          declare
         B_4 : declare

-- 260:             Data : String_8_Data renames Source.Ptr.Data;
            R217b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R217b = null
              "access check failed"]
            subtype jwa__strings__to_ada__B_4__S216b is
              jwa__strings__string_8_data (R217b.all.capacity);
            R219b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R219b = null
              "access check failed"]
            data___XR_R219b___XEXAXRdata : _renaming_type;
            data : jwa__strings__string_8_data renames R219b.all.data;
         begin
            [constraint_error when
              R219b = null
              "access check failed"]
            null;

-- 261:          begin

-- 262:             return Data.chr (1 .. Data.Length);
            R221b : natural renames R219b.all.data.length;
            [constraint_error when
              not (interfaces__unsigned_32!(R219b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C222b : boolean;
            if R219b.all.data.length >= 1 then
               [constraint_error when
                 not (interfaces__unsigned_32!(R219b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C222b := (integer(R219b.all.data.length) > integer(R217b.all.
                 capacity));
            else
               C222b := false;
            end if;
            [constraint_error when C222b "range check failed"]
            return R219b.all.data.chr (1 .. R219b.all.data.length);

-- 263:          end;
         end B_4;

-- 264:       end if;
      end if;

-- 265:    end To_Ada;
   end jwa__strings__to_ada;

-- 266:
-- 267:    ---------------------
-- 268:    -- String_8.Unique --
-- 269:    ---------------------

-- 270:

-- 271:    procedure Unique (Object : in out String_8) is
   procedure jwa__strings__unique (object : in out
     jwa__strings__string_8) is
      F225b : system__finalization_root__finalizable_ptr := null;
      procedure jwa__strings__unique___clean is
      begin
         system__soft_links__abort_defer.all;
         $system__finalization_implementation__finalize_list (F225b);
         system__soft_links__abort_undefer.all;
         return;
      end jwa__strings__unique___clean;
   begin
      is_shared : boolean := true;
      object_copy : jwa__strings__string_8;

-- 272:       Is_Shared : Boolean := True;

-- 273:       Object_Copy : String_8; -- don't remove
      jwa__strings__string_8IP (object_copy, P20s => true);
      B226b : begin
         system__soft_links__abort_defer.all;
         $ada__finalization__initialize (object_copy);
         $system__finalization_implementation__attach_to_final_list (
           F225b, system__finalization_root__finalizable?(object_copy),
           1);
      at end
         system__standard_library__abort_undefer_direct;
      end B226b;
      B_5 : label

-- 274:    begin

-- 275:       if Object.Ptr /= null then
      if object.ptr /= null then

-- 276:          declare
         B_5 : declare

-- 277:             RC : Reference_Counter_Type renames Object.Ptr.Counter;
            R227b : jwa__strings__string_8_internal_ptr renames object.
              ptr;
            [constraint_error when
              R227b = null
              "access check failed"]
            R228b : constant jwa__strings__string_8_internal_ptr :=
              R227b;
            rc___XR_R228b___XEXAXRcounter : _renaming_type;
            rc : jwa__strings__reference_counter_type renames R228b.all.
              counter;
         begin
            [constraint_error when
              R228b = null
              "access check failed"]

-- 278:          begin

-- 279:             Is_Shared := RC.rc > 1;
            is_shared := R228b.all.counter.rc > 1;

-- 280:          end;
         end B_5;

-- 281:          if Is_Shared then
         if is_shared then

-- 282:             Object_Copy := String_8 (Object);
            B229b : begin
               system__soft_links__abort_defer.all;
               jwa__strings___assign__2 (object_copy, object);
            at end
               system__standard_library__abort_undefer_direct;
            end B229b;

-- 283:             Object.Set (Object_Copy.Ptr.Data'Access);
            R231b : jwa__strings__string_8_internal_ptr renames
              object_copy.ptr;
            [constraint_error when
              R231b = null
              "access check failed"]
            R232b : constant natural := R231b.all.capacity;
            subtype jwa__strings__unique__S230b is
              jwa__strings__string_8_data (R232b);
            R236b : jwa__strings__string_8_internal_ptr renames
              object_copy.ptr;
            [constraint_error when
              R236b = null
              "access check failed"]
            jwa__strings__set (object, R236b.all.data'access);

-- 284:          end if;
         end if;

-- 285:       end if;
      end if;

-- 286:    end Unique;
      return;
   at end
      jwa__strings__unique___clean;
   end jwa__strings__unique;

-- 287:
-- 288:    ----------------
-- 289:    -- String_8.p --
-- 290:    ----------------

-- 291:

-- 292:    function p (Item : String_8) return String_8_Ptr is
   function jwa__strings__p (item : jwa__strings__string_8) return
     jwa__strings__string_8_ptr is

-- 293:    begin
   begin

-- 294:       if Item.Ptr /= null then
      if item.ptr /= null then

-- 295:          return Item.Ptr.Data'Access;
         R244b : jwa__strings__string_8_internal_ptr renames item.ptr;
         [constraint_error when
           R244b = null
           "access check failed"]
         subtype jwa__strings__p__S243b is jwa__strings__string_8_data
           (R244b.all.capacity);
         R247b : jwa__strings__string_8_internal_ptr renames item.ptr;
         [constraint_error when
           R247b = null
           "access check failed"]
         return R247b.all.data'access;

-- 296:       else
      else

-- 297:          return Null_String_8_Ptr;
         return jwa__strings__null_string_8_ptr;

-- 298:       end if;
      end if;

-- 299:    end p;
   end jwa__strings__p;

-- 300:
-- 301:    ----------------
-- 302:    -- String_8.a --
-- 303:    ----------------

-- 304:

-- 305:    function a (Item : String_8) return Char_8_Ptr is
   function jwa__strings__a (item : jwa__strings__string_8) return
     jwa__char_8_ptr is

-- 306:    begin
   begin

-- 307:       if Item.Ptr /= null then
      if item.ptr /= null then

-- 308:          return Char_8_Ptr (Item.Ptr.Data.chr'Address);
         R255b : jwa__strings__string_8_internal_ptr renames item.ptr;
         [constraint_error when
           R255b = null
           "access check failed"]
         subtype jwa__strings__a__S254b is jwa__strings__string_8_data
           (R255b.all.capacity);
         R257b : jwa__strings__string_8_internal_ptr renames item.ptr;
         [constraint_error when
           R257b = null
           "access check failed"]
         return jwa__char_8_ptr(R257b.all.data.chr'address);

-- 309:       else
      else

-- 310:          return Null_String_8_Address;
         return jwa__strings__null_string_8_address;

-- 311:       end if;
      end if;

-- 312:    end a;
   end jwa__strings__a;

-- 313:
-- 314:    ---------------------------------------------
-- 315:    -- String_8.Create ( : Char_8_Ptr, Length) --
-- 316:    ---------------------------------------------

-- 317:

-- 318:    function Create
   function jwa__strings__create (ptr : jwa__char_8_ptr; length :
     natural) return jwa__strings__string_8 is
      B_6 : label
   begin

-- 319:      (Ptr : Char_8_Ptr;

-- 320:       Length : Natural) return String_8 is

-- 321:    begin

-- 322:       if Length > 0 then
      [constraint_error when
        not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
        "invalid data"]
      if length > 0 then

-- 323:          return Result : String_8 do
         R259b : declare
            F260b : system__finalization_root__finalizable_ptr := null;
            procedure jwa__strings__create__R259b___clean__4 is
            begin
               system__soft_links__abort_defer.all;
               $system__finalization_implementation__finalize_list (
                 F260b);
               system__soft_links__abort_undefer.all;
               return;
            end jwa__strings__create__R259b___clean__4;
         begin
            result : jwa__strings__string_8;
            jwa__strings__string_8IP (result, P20s => true);
            B261b : begin
               system__soft_links__abort_defer.all;
               $ada__finalization__initialize (result);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F260b, system__finalization_root__finalizable?(result),
                 1);
            at end
               system__standard_library__abort_undefer_direct;
            end B261b;
            B270b : declare
            begin

-- 324:             declare
               B_6 : declare

-- 325:                Src : String (1 .. Length);
                  [constraint_error when
                    not (interfaces__unsigned_32!(length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  subtype jwa__strings__create__B_6__TsrcS__4 is string
                    (1 .. length);
                  [constraint_error when
                    not (interfaces__unsigned_32!(length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  null;
                  src : string (1 .. length);

-- 326:                pragma Import (C, Src);
                  pragma import (c, src);

-- 327:                for Src'Address use Address (Ptr);
                  for src'address use system__address(ptr);
                  freeze src []
                  [program_error when
                    system__storage_elements__integer_address!(
                      system__address(ptr)) rem src'alignment /= 0
                    "misaligned address value"]
               begin

-- 328:             begin

-- 329:                Result.Make_Buffer (Length);
                  [constraint_error when
                    not (interfaces__unsigned_32!(length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  jwa__strings__make_buffer (result, length);

-- 330:                Result.Ptr.Data.chr (1 .. Length) := Src;
                  R263b : jwa__strings__string_8_internal_ptr renames
                    result.ptr;
                  [constraint_error when
                    R263b = null
                    "access check failed"]
                  R264b : constant natural := R263b.all.capacity;
                  subtype jwa__strings__create__B_6__S262b__4 is
                    jwa__strings__string_8_data (R264b);
                  R266b : jwa__strings__string_8_internal_ptr renames
                    result.ptr;
                  [constraint_error when
                    R266b = null
                    "access check failed"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C267b : boolean;
                  if length >= 1 then
                     [constraint_error when
                       not (interfaces__unsigned_32!(length) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C267b := (integer(length) > integer(R264b));
                  else
                     C267b := false;
                  end if;
                  [constraint_error when C267b "range check failed"]
                  [constraint_error when
                    [subtype jwa__strings__create__B_6__T269b__4 is
                    [subtype jwa__strings__create__B_6__T268b__4 is
                      integer range 1 .. length]
                      string (jwa__strings__create__B_6__T268b__4)]
                    jwa__strings__create__B_6__T269b__4'length /=
                      jwa__strings__create__B_6__TsrcS__4'length
                    "length check failed"]
                  R266b.all.data.chr (1 .. length) := src;

-- 331:             end;
               end B_6;

-- 332:          end return;
            end B270b;
            type jwa__strings__create__R259b__A273b__4 is access
              jwa__strings__string_8;
            freeze jwa__strings__create__R259b__A273b__4 []
            P275b : constant jwa__strings__create__R259b__A273b__4 :=
              new jwa__strings__string_8'(result)[storage_pool =
              system__secondary_stack__ss_pool];
            P275b.all._tag := jwa__strings__string_8P;
            F276b : system__finalization_root__finalizable_ptr := null;
            jwa__strings__adjust__2 (P275b.all);
            $system__finalization_implementation__attach_to_final_list
              (F276b, system__finalization_root__finalizable?(P275b.all),
              1);
            R272b : jwa__strings__create__R259b__A273b__4 := P275b;
            return R272b.all;
         at end
            jwa__strings__create__R259b___clean__4;
         end R259b;

-- 333:       else
      else

-- 334:          return Null_String_8;
         type jwa__strings__create__A279b__4 is access
           jwa__strings__string_8;
         freeze jwa__strings__create__A279b__4 []
         P281b : constant jwa__strings__create__A279b__4 := new
           jwa__strings__string_8'(jwa__strings__null_string_8)
           [storage_pool = system__secondary_stack__ss_pool];
         P281b.all._tag := jwa__strings__string_8P;
         F282b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P281b.all);
         $system__finalization_implementation__attach_to_final_list (
           F282b, system__finalization_root__finalizable?(P281b.all),
           1);
         R278b : jwa__strings__create__A279b__4 := P281b;
         return R278b.all;

-- 335:       end if;
      end if;

-- 336:    end Create;
   end jwa__strings__create;

-- 337:
-- 338:    ---------------------------------------------------
-- 339:    -- String_8.Create_Z ( : Char_8_Ptr, Max_Length) --
-- 340:    ---------------------------------------------------

-- 341:

-- 342:    function Create_Z
   function jwa__strings__create_z (ptr : jwa__char_8_ptr; max_length :
     natural := 16#7FFF_FFFF#) return jwa__strings__string_8 is
      addr : constant system__address := system__address(ptr);
      B_8 : label
      L_7 : label
   begin

-- 343:      (Ptr : Char_8_Ptr;

-- 344:       Max_Length : Natural := Natural'Last) return String_8

-- 345:    is

-- 346:       Addr : constant Address := Address (Ptr);

-- 347:    begin

-- 348:       for i in 1 .. Max_Length loop
      [constraint_error when
        not (interfaces__unsigned_32!(max_length) <= 16#7FFF_FFFF#)
        "invalid data"]
      L_7 : for i in 1 .. max_length loop

-- 349:          declare
         B_8 : declare

-- 350:             S : String (1 .. i);
            subtype jwa__strings__create_z__B_8__TsS is string (1 .. i);
            null;
            s : string (1 .. i);

-- 351:             pragma Import (C, S);
            pragma import (c, s);

-- 352:             for S'Address use Addr;
            for s'address use addr;
            freeze s []
            [program_error when
              system__storage_elements__integer_address!(addr) rem s'
                alignment /= 0
              "misaligned address value"]
         begin

-- 353:          begin

-- 354:             if S (i) = NUL_8 then
            [constraint_error when
              not (integer(i) <= s'last)
              "index check failed"]
            if s (i) = jwa__nul_8 then

-- 355:                return Create (Ptr, i - 1);
               type jwa__strings__create_z__B_8__A285b is access all
                 jwa__strings__string_8;
               freeze jwa__strings__create_z__B_8__A285b []
               R286b : jwa__strings__create_z__B_8__A285b :=
                 jwa__strings__create__4 (ptr, i - 1)'reference;
               return R286b.all;

-- 356:             end if;
            end if;

-- 357:          end;
         end B_8;

-- 358:       end loop;
      end loop L_7;

-- 359:       return Create (Ptr, Max_Length);
      [constraint_error when
        not (interfaces__unsigned_32!(max_length) <= 16#7FFF_FFFF#)
        "invalid data"]
      type jwa__strings__create_z__A289b is access all
        jwa__strings__string_8;
      freeze jwa__strings__create_z__A289b []
      R290b : jwa__strings__create_z__A289b := jwa__strings__create__4
        (ptr, max_length)'reference;
      return R290b.all;

-- 360:    end Create_Z;
   end jwa__strings__create_z;

-- 361:
-- 362:    --------------------------------------------
-- 363:    -- String_8.Create_Z ( : String_8_Buffer) --
-- 364:    --------------------------------------------

-- 365:

-- 366:    function Create_Z (Buffer : String_8_Buffer) return String_8 is
   function jwa__strings__create_z (buffer : jwa__string_8_buffer)
     return jwa__strings__string_8 is
      subtype jwa__strings__create_z__S292b__2 is jwa__string_8_buffer
        (buffer'first(1) .. buffer'last(1));
      ptr : constant jwa__char_8_ptr := jwa__char_8_ptr(buffer'address);
      L_9 : label
   begin

-- 367:       Ptr : constant Char_8_Ptr := Char_8_Ptr (Buffer'Address);

-- 368:    begin

-- 369:       for i in Buffer'Range loop
      L_9 : for i in buffer'first .. buffer'last loop

-- 370:          if Buffer (i) = NUL_8 then
         if buffer (i) = jwa__nul_8 then

-- 371:             return Create (Ptr, i - Buffer'First);
            [constraint_error when
              not (i {-} buffer'first in 0 .. 16#7FFF_FFFF#)
              "range check failed"]
            type A295b is access all jwa__strings__string_8;
            freeze A295b []
            R296b : A295b := jwa__strings__create__4 (ptr, i {-} buffer'
              first)'reference;
            return R296b.all;

-- 372:          end if;
         end if;

-- 373:       end loop;
      end loop L_9;

-- 374:       return Create (Ptr, Buffer'Length);
      type jwa__strings__create_z__A299b__2 is access all
        jwa__strings__string_8;
      freeze jwa__strings__create_z__A299b__2 []
      R300b : jwa__strings__create_z__A299b__2 :=
        jwa__strings__create__4 (ptr, natural(buffer'length))'reference;
      return R300b.all;

-- 375:    end Create_Z;
   end jwa__strings__create_z;

-- 376:
-- 377:    ------------------------------------------
-- 378:    -- String_8.Set ( : Char_8_Ptr, Length) --
-- 379:    ------------------------------------------

-- 380:

-- 381:    procedure Set
   procedure jwa__strings__set (target : in out jwa__strings__string_8;
     ptr : jwa__char_8_ptr; length : natural) is
      B_10 : label
   begin

-- 382:      (Target : in out String_8;

-- 383:       Ptr : Char_8_Ptr;

-- 384:       Length : Natural) is

-- 385:    begin

-- 386:       if Length > 0 then
      [constraint_error when
        not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
        "invalid data"]
      if length > 0 then

-- 387:          declare
         B_10 : declare

-- 388:             Src : String (1 .. Length);
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            subtype jwa__strings__set__B_10__TsrcS__3 is string (1 ..
              length);
            null;
            src : string (1 .. length);

-- 389:             pragma Import (C, Src);
            pragma import (c, src);

-- 390:             for Src'Address use Address (Ptr);
            for src'address use system__address(ptr);
            freeze src []
            [program_error when
              system__storage_elements__integer_address!(
                system__address(ptr)) rem src'alignment /= 0
              "misaligned address value"]
         begin

-- 391:          begin

-- 392:             Target.Make_Buffer (Length);
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            jwa__strings__make_buffer (target, length);

-- 393:             Target.Ptr.Data.chr (1 .. Length) := Src;
            R303b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R303b = null
              "access check failed"]
            R304b : constant natural := R303b.all.capacity;
            subtype jwa__strings__set__B_10__S302b__3 is
              jwa__strings__string_8_data (R304b);
            R306b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R306b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(length) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              integer(length) > integer(R304b)
              "range check failed"]
            [constraint_error when
              [subtype jwa__strings__set__B_10__T307b__3 is integer range
                1 .. length]
              [subtype jwa__strings__set__B_10__T308b__3 is string (
                jwa__strings__set__B_10__T307b__3)]
              jwa__strings__set__B_10__T308b__3'length /=
                jwa__strings__set__B_10__TsrcS__3'length
              "length check failed"]
            R306b.all.data.chr (1 .. length) := src;

-- 394:          end;
         end B_10;

-- 395:       else
      else

-- 396:          Target.Set_Empty;
         jwa__strings__set_empty (target);

-- 397:       end if;
      end if;

-- 398:    end Set;
      return;
   end jwa__strings__set;

-- 399:
-- 400:    ------------------------------------------------
-- 401:    -- String_8.Set_Z ( : Char_8_Ptr, Max_Length) --
-- 402:    ------------------------------------------------

-- 403:

-- 404:    procedure Set_Z
   procedure jwa__strings__set_z (target : in out
     jwa__strings__string_8; ptr : jwa__char_8_ptr; max_length :
     natural := 16#7FFF_FFFF#) is
      addr : constant system__address := system__address(ptr);
      B_12 : label
      L_11 : label
   begin

-- 405:      (Target : in out String_8;

-- 406:       Ptr : Char_8_Ptr;

-- 407:       Max_Length : Natural := Natural'Last)

-- 408:    is

-- 409:       Addr : constant Address :=

-- 410:         Address (Ptr);

-- 411:    begin

-- 412:       for i in 1 .. Max_Length loop
      [constraint_error when
        not (interfaces__unsigned_32!(max_length) <= 16#7FFF_FFFF#)
        "invalid data"]
      L_11 : for i in 1 .. max_length loop

-- 413:          declare
         B_12 : declare

-- 414:             S : String (1 .. i);
            subtype jwa__strings__set_z__B_12__TsS is string (1 .. i);
            null;
            s : string (1 .. i);

-- 415:             pragma Import (C, S);
            pragma import (c, s);

-- 416:             for S'Address use Addr;
            for s'address use addr;
            freeze s []
            [program_error when
              system__storage_elements__integer_address!(addr) rem s'
                alignment /= 0
              "misaligned address value"]
         begin

-- 417:          begin

-- 418:             if S (i) = NUL_8 then
            [constraint_error when
              not (integer(i) <= s'last)
              "index check failed"]
            if s (i) = jwa__nul_8 then

-- 419:                Target.Set (Ptr, i - 1);
               jwa__strings__set__3 (target, ptr, i - 1);

-- 420:             end if;
            end if;

-- 421:          end;
         end B_12;

-- 422:       end loop;
      end loop L_11;

-- 423:       Target.Set (Ptr, Max_Length);
      [constraint_error when
        not (interfaces__unsigned_32!(max_length) <= 16#7FFF_FFFF#)
        "invalid data"]
      jwa__strings__set__3 (target, ptr, max_length);

-- 424:    end Set_Z;
      return;
   end jwa__strings__set_z;

-- 425:
-- 426:    ---------------------------------------
-- 427:    -- String_8.Set_Z ( : String_8_Data) --
-- 428:    ---------------------------------------

-- 429:

-- 430:    procedure Set_Z
   procedure jwa__strings__set_z (target : in out
     jwa__strings__string_8; buffer : jwa__string_8_buffer) is
      subtype jwa__strings__set_z__S310b__2 is jwa__string_8_buffer (
        buffer'first(1) .. buffer'last(1));
      ptr : constant jwa__char_8_ptr := jwa__char_8_ptr(buffer'address);
      L_13 : label
   begin

-- 431:      (Target : in out String_8;

-- 432:       Buffer : String_8_Buffer)

-- 433:    is

-- 434:       Ptr : constant Char_8_Ptr :=

-- 435:         Char_8_Ptr (Buffer'Address);

-- 436:    begin

-- 437:       for i in Buffer'Range loop
      L_13 : for i in buffer'first .. buffer'last loop

-- 438:          if Buffer (i) = NUL_8 then
         if buffer (i) = jwa__nul_8 then

-- 439:             Target.Set (Ptr, i - Buffer'First);
            [constraint_error when
              not (i {-} buffer'first in 0 .. 16#7FFF_FFFF#)
              "range check failed"]
            jwa__strings__set__3 (target, ptr, i {-} buffer'first);

-- 440:          end if;
         end if;

-- 441:       end loop;
      end loop L_13;

-- 442:       Target.Set (Ptr, Buffer'Length);
      jwa__strings__set__3 (target, ptr, natural(buffer'length));

-- 443:    end Set_Z;
      return;
   end jwa__strings__set_z;

-- 444:
-- 445:    --------------------------------------
-- 446:    --                                  --
-- 447:    --      Mere string facilities      --
-- 448:    --                                  --
-- 449:    --------------------------------------

-- 450:
-- 451:    ---------------------
-- 452:    -- String_8.Length --
-- 453:    ---------------------

-- 454:

-- 455:    function Length (Source : String_8) return Natural is
   function jwa__strings__length (source : jwa__strings__string_8)
     return natural is

-- 456:    begin
   begin

-- 457:       if Source.Ptr = null then
      if source.ptr = null then

-- 458:          return 0;
         return 0;

-- 459:       else
      else

-- 460:          return Source.Ptr.Data.Length;
         R319b : jwa__strings__string_8_internal_ptr renames source.ptr;
         [constraint_error when
           R319b = null
           "access check failed"]
         subtype jwa__strings__length__S318b is
           jwa__strings__string_8_data (R319b.all.capacity);
         R321b : jwa__strings__string_8_internal_ptr renames source.ptr;
         [constraint_error when
           R321b = null
           "access check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(R321b.all.data.length) <=
             16#7FFF_FFFF#)
           "invalid data"]
         return R321b.all.data.length;

-- 461:       end if;
      end if;

-- 462:    end Length;
   end jwa__strings__length;

-- 463:
-- 464:    -----------------------
-- 465:    -- String_8.Is_Empty --
-- 466:    -----------------------

-- 467:

-- 468:    function Is_Empty (Source : String_8) return Boolean is
   function jwa__strings__is_empty (source : jwa__strings__string_8)
     return boolean is

-- 469:    begin
   begin

-- 470:       return Source.Ptr = null;
      return source.ptr = null;

-- 471:    end Is_Empty;
   end jwa__strings__is_empty;

-- 472:
-- 473:    -----------------------------------
-- 474:    -- String_8.Append ( : String_8) --
-- 475:    -----------------------------------

-- 476:

-- 477:    procedure Append (Source : in out String_8; New_Item : String_8) is
   procedure jwa__strings__append (source : in out
     jwa__strings__string_8; new_item : jwa__strings__string_8) is
      C324b : natural;

-- 478:       Length_1 : constant Natural := Source.Length;
      B326b : declare
         L325b : label
      begin
         if source.ptr = null then
            C324b := 0;
            goto L325b;
         else
            R328b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R328b = null
              "access check failed"]
            R329b : constant natural := R328b.all.capacity;
            subtype jwa__strings__append__B326b__S327b is
              jwa__strings__string_8_data (R329b);
            R331b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R331b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R331b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C324b := R331b.all.data.length;
            goto L325b;
         end if;
         <<L325b>>
      end B326b;
      length_1 : constant natural := C324b;
      C332b : natural;

-- 479:       Length_2 : constant Natural := New_Item.Length;
      B334b : declare
         L333b : label
      begin
         if new_item.ptr = null then
            C332b := 0;
            goto L333b;
         else
            R336b : jwa__strings__string_8_internal_ptr renames
              new_item.ptr;
            [constraint_error when
              R336b = null
              "access check failed"]
            subtype jwa__strings__append__B334b__S335b is
              jwa__strings__string_8_data (R336b.all.capacity);
            R338b : jwa__strings__string_8_internal_ptr renames
              new_item.ptr;
            [constraint_error when
              R338b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R338b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C332b := R338b.all.data.length;
            goto L333b;
         end if;
         <<L333b>>
      end B334b;
      length_2 : constant natural := C332b;

-- 480:    begin
   begin

-- 481:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 482:          return;
         return;

-- 483:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 484:          Source := New_Item;
         B340b : begin
            system__soft_links__abort_defer.all;
            jwa__strings___assign__2 (source, new_item);
         at end
            system__standard_library__abort_undefer_direct;
         end B340b;

-- 485:          return;
         return;

-- 486:       end if;
      end if;

-- 487:

-- 488:       Source.Set_Length (Length_1 + Length_2);
      jwa__strings__set_length (source, length_1 {+} length_2);

-- 489:       Source.Ptr.Data.chr (Length_1 + 1 .. Length_1 + Length_2) :=

-- 490:         New_Item.Ptr.Data.chr (1 .. Length_2);
      R343b : jwa__strings__string_8_internal_ptr renames new_item.ptr;
      [constraint_error when
        R343b = null
        "access check failed"]
      subtype jwa__strings__append__S342b is
        jwa__strings__string_8_data (R343b.all.capacity);
      R345b : jwa__strings__string_8_internal_ptr renames new_item.ptr;
      [constraint_error when
        R345b = null
        "access check failed"]
      R347b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R347b = null
        "access check failed"]
      R348b : constant natural := R347b.all.capacity;
      subtype jwa__strings__append__S346b is
        jwa__strings__string_8_data (R348b);
      R350b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R350b = null
        "access check failed"]
      [constraint_error when
        length_1 + length_2 >= length_1 + 1 and then (length_1 +
          length_2 > integer(R348b))
        "range check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R343b.all.
          capacity))
        "range check failed"]
      [constraint_error when
        [subtype jwa__strings__append__T351b is integer range length_1 {+}
          1 .. length_1 {+} length_2]
        [subtype jwa__strings__append__T352b is string (
          jwa__strings__append__T351b)]
        [subtype jwa__strings__append__T353b is integer range 1 ..
          length_2]
        [subtype jwa__strings__append__T354b is string (
          jwa__strings__append__T353b)]
        jwa__strings__append__T352b'length /=
          jwa__strings__append__T354b'length
        "length check failed"]
      R350b.all.data.chr (length_1 {+} 1 .. length_1 {+} length_2) :=
        R345b.all.data.chr (1 .. length_2);

-- 491:    end Append;
      return;
   end jwa__strings__append;

-- 492:
-- 493:    ---------------------------------
-- 494:    -- String_8.Append ( : String) --
-- 495:    ---------------------------------

-- 496:

-- 497:    procedure Append (Source : in out String_8; New_Item : String) is
   procedure jwa__strings__append (source : in out
     jwa__strings__string_8; new_item : string) is
      subtype jwa__strings__append__S355b__2 is string (new_item'first(
        1) .. new_item'last(1));
      C356b : natural;

-- 498:       Length_1 : constant Natural := Source.Length;
      B358b : declare
         L357b : label
      begin
         if source.ptr = null then
            C356b := 0;
            goto L357b;
         else
            R360b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R360b = null
              "access check failed"]
            R361b : constant natural := R360b.all.capacity;
            subtype jwa__strings__append__B358b__S359b__2 is
              jwa__strings__string_8_data (R361b);
            R363b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R363b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R363b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C356b := R363b.all.data.length;
            goto L357b;
         end if;
         <<L357b>>
      end B358b;
      length_1 : constant natural := C356b;
      length_2 : constant natural := natural(new_item'length);
   begin

-- 499:       Length_2 : constant Natural := New_Item'Length;

-- 500:    begin

-- 501:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 502:          return;
         return;

-- 503:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 504:          Source.Set (New_Item);
         jwa__strings__set__2 (source, new_item);

-- 505:          return;
         return;

-- 506:       end if;
      end if;

-- 507:

-- 508:       Source.Set_Length (Length_1 + Length_2);
      jwa__strings__set_length (source, length_1 {+} length_2);

-- 509:       Source.Ptr.Data.chr (Length_1 + 1 .. Length_1 + Length_2) := New_Item;
      R367b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R367b = null
        "access check failed"]
      R368b : constant natural := R367b.all.capacity;
      subtype jwa__strings__append__S366b__2 is
        jwa__strings__string_8_data (R368b);
      R370b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R370b = null
        "access check failed"]
      [constraint_error when
        length_1 + length_2 >= length_1 + 1 and then (length_1 +
          length_2 > integer(R368b))
        "range check failed"]
      [constraint_error when
        [subtype jwa__strings__append__T371b__2 is integer range
          length_1 {+} 1 .. length_1 {+} length_2]
        [subtype jwa__strings__append__T372b__2 is string (
          jwa__strings__append__T371b__2)]
        jwa__strings__append__T372b__2'length /=
          jwa__strings__append__S355b__2'length
        "length check failed"]
      R370b.all.data.chr (length_1 {+} 1 .. length_1 {+} length_2) :=
        new_item;

-- 510:    end Append;
      return;
   end jwa__strings__append;

-- 511:
-- 512:    ---------------------------------
-- 513:    -- String_8.Append ( : Char_8) --
-- 514:    ---------------------------------

-- 515:

-- 516:    procedure Append (Source : in out String_8; New_Item : Char_8) is
   procedure jwa__strings__append (source : in out
     jwa__strings__string_8; new_item : jwa__char_8) is
      C373b : natural;

-- 517:       Length : constant Natural := Source.Length;
      B375b : declare
         L374b : label
      begin
         if source.ptr = null then
            C373b := 0;
            goto L374b;
         else
            R377b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R377b = null
              "access check failed"]
            R378b : constant natural := R377b.all.capacity;
            subtype jwa__strings__append__B375b__S376b__3 is
              jwa__strings__string_8_data (R378b);
            R380b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R380b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R380b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C373b := R380b.all.data.length;
            goto L374b;
         end if;
         <<L374b>>
      end B375b;
      length : constant natural := C373b;

-- 518:    begin
   begin

-- 519:       if Length <= 0 then
      if length <= 0 then

-- 520:          Source.Set ((1 => New_Item));
         null;
         null;
         jwa__strings__set__2 (source, (character(new_item)));

-- 521:          return;
         return;

-- 522:       end if;
      end if;

-- 523:

-- 524:       Source.Set_Length (Length + 1);
      jwa__strings__set_length (source, length {+} 1);

-- 525:       Source.Ptr.Data.chr (Length + 1) := New_Item;
      R387b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R387b = null
        "access check failed"]
      R388b : constant natural := R387b.all.capacity;
      subtype jwa__strings__append__S386b__3 is
        jwa__strings__string_8_data (R388b);
      R390b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R390b = null
        "access check failed"]
      [constraint_error when
        not (length {+} 1 in 1 .. R390b.all.data.chr'last)
        "index check failed"]
      R390b.all.data.chr (length + 1) := new_item;

-- 526:    end Append;
      return;
   end jwa__strings__append;

-- 527:
-- 528:    ------------------
-- 529:    -- String_8.Get --
-- 530:    ------------------

-- 531:

-- 532:    function Get (Source : String_8; Index : Positive) return Char_8 is
   function jwa__strings__get (source : jwa__strings__string_8; index :
     positive) return jwa__char_8 is
      C391b : natural;

-- 533:       Length : constant Natural := Source.Length;
      B393b : declare
         L392b : label
      begin
         if source.ptr = null then
            C391b := 0;
            goto L392b;
         else
            R395b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R395b = null
              "access check failed"]
            subtype jwa__strings__get__B393b__S394b is
              jwa__strings__string_8_data (R395b.all.capacity);
            R397b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R397b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R397b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C391b := R397b.all.data.length;
            goto L392b;
         end if;
         <<L392b>>
      end B393b;
      length : constant natural := C391b;

-- 534:    begin
   begin

-- 535:       if Index > Length then
      [constraint_error when
        not (interfaces__unsigned_32!(index) >= 1 and then
          interfaces__unsigned_32!(index) <= 16#7FFF_FFFF#)
        "invalid data"]
      if index > length then

-- 536:          raise Ada.Strings.Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__index_error'reference),
           "jwa.strings.adb:536");

-- 537:       end if;
      end if;

-- 538:

-- 539:       return Source.Ptr.Data.chr (Index);
      R402b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R402b = null
        "access check failed"]
      subtype jwa__strings__get__S401b is jwa__strings__string_8_data (
        R402b.all.capacity);
      R404b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R404b = null
        "access check failed"]
      [constraint_error when
        not (interfaces__unsigned_32!(index) >= 1 and then
          interfaces__unsigned_32!(index) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (integer(index) in 1 .. R404b.all.data.chr'last)
        "index check failed"]
      [constraint_error when
        not (interfaces__unsigned_32!(index) >= 1 and then
          interfaces__unsigned_32!(index) <= 16#7FFF_FFFF#)
        "invalid data"]
      return jwa__char_8(R404b.all.data.chr (index));

-- 540:    end Get;
   end jwa__strings__get;

-- 541:
-- 542:    ---------------------------------------
-- 543:    -- String_8.Set ( : Index, : Char_8) --
-- 544:    ---------------------------------------

-- 545:

-- 546:    procedure Set (Source : in out String_8; Index : Positive; By : Char_8) is
   procedure jwa__strings__set (source : in out jwa__strings__string_8;
     index : positive; by : jwa__char_8) is
      C405b : natural;

-- 547:       Length : constant Natural := Source.Length;
      B407b : declare
         L406b : label
      begin
         if source.ptr = null then
            C405b := 0;
            goto L406b;
         else
            R409b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R409b = null
              "access check failed"]
            R410b : constant natural := R409b.all.capacity;
            subtype jwa__strings__set__B407b__S408b__4 is
              jwa__strings__string_8_data (R410b);
            R412b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R412b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R412b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C405b := R412b.all.data.length;
            goto L406b;
         end if;
         <<L406b>>
      end B407b;
      length : constant natural := C405b;

-- 548:    begin
   begin

-- 549:       if Index > Length then
      [constraint_error when
        not (interfaces__unsigned_32!(index) >= 1 and then
          interfaces__unsigned_32!(index) <= 16#7FFF_FFFF#)
        "invalid data"]
      if index > length then

-- 550:          raise Ada.Strings.Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__index_error'reference),
           "jwa.strings.adb:550");

-- 551:       end if;
      end if;

-- 552:

-- 553:       if Source.Ptr.Data.chr (Index) /= By then
      R416b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R416b = null
        "access check failed"]
      R417b : constant natural := R416b.all.capacity;
      subtype jwa__strings__set__S415b__4 is
        jwa__strings__string_8_data (R417b);
      R419b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R419b = null
        "access check failed"]
      [constraint_error when
        not (interfaces__unsigned_32!(index) >= 1 and then
          interfaces__unsigned_32!(index) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (integer(index) in 1 .. R419b.all.data.chr'last)
        "index check failed"]
      [constraint_error when
        not (interfaces__unsigned_32!(index) >= 1 and then
          interfaces__unsigned_32!(index) <= 16#7FFF_FFFF#)
        "invalid data"]
      if R419b.all.data.chr (index) /= by then

-- 554:          Source.Unique;
         jwa__strings__unique (source);

-- 555:          Source.Ptr.Data.chr (Index) := By;
         R421b : jwa__strings__string_8_internal_ptr renames source.ptr;
         [constraint_error when
           R421b = null
           "access check failed"]
         R422b : constant natural := R421b.all.capacity;
         subtype jwa__strings__set__S420b__4 is
           jwa__strings__string_8_data (R422b);
         R424b : jwa__strings__string_8_internal_ptr renames source.ptr;
         [constraint_error when
           R424b = null
           "access check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(index) >= 1 and then
             interfaces__unsigned_32!(index) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (integer(index) in 1 .. R424b.all.data.chr'last)
           "index check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(index) >= 1 and then
             interfaces__unsigned_32!(index) <= 16#7FFF_FFFF#)
           "invalid data"]
         R424b.all.data.chr (index) := by;

-- 556:       end if;
      end if;

-- 557:    end Set;
      return;
   end jwa__strings__set;

-- 558:
-- 559:    --------------------
-- 560:    -- String_8.Slice --
-- 561:    --------------------

-- 562:

-- 563:    function Slice (Source : String_8; Low : Positive; High : Natural)
   function jwa__strings__slice (source : jwa__strings__string_8; low :
     positive; high : natural) return string is
      C425b : natural;

-- 564:                    return String

-- 565:    is

-- 566:       Length : constant Natural := Source.Length;
      B427b : declare
         L426b : label
      begin
         if source.ptr = null then
            C425b := 0;
            goto L426b;
         else
            R429b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R429b = null
              "access check failed"]
            subtype jwa__strings__slice__B427b__S428b is
              jwa__strings__string_8_data (R429b.all.capacity);
            R431b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R431b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R431b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C425b := R431b.all.data.length;
            goto L426b;
         end if;
         <<L426b>>
      end B427b;
      length : constant natural := C425b;

-- 567:    begin
   begin

-- 568:       if Low > Length + 1 or High > Length then
      [constraint_error when
        not (interfaces__unsigned_32!(low) >= 1 and then
          interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
        "invalid data"]
      if low > length {+} 1 or high > length then

-- 569:          raise Ada.Strings.Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__index_error'reference),
           "jwa.strings.adb:569");

-- 570:       end if;
      end if;

-- 571:

-- 572:       if High < Low then
      [constraint_error when
        not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(low) >= 1 and then
          interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
        "invalid data"]
      if high < low then

-- 573:          return (Low .. High => <>);
         [constraint_error when
           not (interfaces__unsigned_32!(low) >= 1 and then
             interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
           "invalid data"]
         C437b : boolean;
         if low <= high then
            [constraint_error when
              not (interfaces__unsigned_32!(low) >= 1 and then
                interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
              "invalid data"]
            C437b := low < 1;

-- 574:       else
         else
            C437b := false;
         end if;
         [constraint_error when C437b "length check failed"]
         [subtype jwa__strings__slice__T436b is string (low .. high)]
         A438b : jwa__strings__slice__T436b;
         null;

-- 575:          return Source.Ptr.Data.chr (Low .. High);
         return A438b;
      else
         R442b : jwa__strings__string_8_internal_ptr renames source.ptr;
         [constraint_error when
           R442b = null
           "access check failed"]
         subtype jwa__strings__slice__S441b is
           jwa__strings__string_8_data (R442b.all.capacity);
         R444b : jwa__strings__string_8_internal_ptr renames source.ptr;
         [constraint_error when
           R444b = null
           "access check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (interfaces__unsigned_32!(low) >= 1 and then
             interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
           "invalid data"]
         C446b : boolean;
         if high >= low then
            [constraint_error when
              not (interfaces__unsigned_32!(low) >= 1 and then
                interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
              "invalid data"]
            C445b : boolean;
            if integer(low) < 1 then
               C445b := true;
            else
               [constraint_error when
                 not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C445b := integer(high) > integer(R442b.all.capacity);

-- 576:       end if;
            end if;
            C446b := (C445b);
         else
            C446b := false;
         end if;
         [constraint_error when C446b "range check failed"]
         return R444b.all.data.chr (low .. high);
      end if;

-- 577:    end Slice;
   end jwa__strings__slice;

-- 578:
-- 579:    ----------------------
-- 580:    -- String_8.Slice_8 --
-- 581:    ----------------------

-- 582:

-- 583:    function Slice_8 (Source : String_8; Low : Positive; High : Natural)
   function jwa__strings__slice_8 (source : jwa__strings__string_8; low :
     positive; high : natural) return jwa__strings__string_8 is
      C449b : natural;

-- 584:                      return String_8

-- 585:    is

-- 586:       Length : constant Natural := Source.Length;
      B451b : declare
         L450b : label
      begin
         if source.ptr = null then
            C449b := 0;
            goto L450b;
         else
            R453b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R453b = null
              "access check failed"]
            subtype jwa__strings__slice_8__B451b__S452b is
              jwa__strings__string_8_data (R453b.all.capacity);
            R455b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R455b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R455b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C449b := R455b.all.data.length;
            goto L450b;
         end if;
         <<L450b>>
      end B451b;
      length : constant natural := C449b;

-- 587:    begin
   begin

-- 588:       if Low > Length + 1 or High > Length then
      [constraint_error when
        not (interfaces__unsigned_32!(low) >= 1 and then
          interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
        "invalid data"]
      if low > length {+} 1 or high > length then

-- 589:          raise Ada.Strings.Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__index_error'reference),
           "jwa.strings.adb:589");

-- 590:       end if;
      end if;

-- 591:

-- 592:       if High < Low then
      [constraint_error when
        not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(low) >= 1 and then
          interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
        "invalid data"]
      if high < low then

-- 593:          return Null_String_8;
         type jwa__strings__slice_8__A460b is access
           jwa__strings__string_8;
         freeze jwa__strings__slice_8__A460b []
         P462b : constant jwa__strings__slice_8__A460b := new
           jwa__strings__string_8'(jwa__strings__null_string_8)
           [storage_pool = system__secondary_stack__ss_pool];
         P462b.all._tag := jwa__strings__string_8P;
         F463b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P462b.all);
         $system__finalization_implementation__attach_to_final_list (
           F463b, system__finalization_root__finalizable?(P462b.all),
           1);
         R459b : jwa__strings__slice_8__A460b := P462b;
         return R459b.all;
      else

-- 594:       elsif Low = 1 and High = Length then
         [constraint_error when
           not (interfaces__unsigned_32!(low) >= 1 and then
             interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
           "invalid data"]
         if low = 1 and high = length then

-- 595:          return Source;
            type jwa__strings__slice_8__A466b is access
              jwa__strings__string_8;
            freeze jwa__strings__slice_8__A466b []
            P468b : constant jwa__strings__slice_8__A466b := new
              jwa__strings__string_8'(source)[storage_pool =
              system__secondary_stack__ss_pool];
            P468b.all._tag := jwa__strings__string_8P;
            F469b : system__finalization_root__finalizable_ptr := null;
            jwa__strings__adjust__2 (P468b.all);
            $system__finalization_implementation__attach_to_final_list
              (F469b, system__finalization_root__finalizable?(P468b.all),
              1);
            R465b : jwa__strings__slice_8__A466b := P468b;
            return R465b.all;

-- 596:       else
         else

-- 597:          return Result : String_8 := String_8'(Create (High - Low + 1)) do
            R470b : declare
               F476b : system__finalization_root__finalizable_ptr :=
                 null;
               procedure jwa__strings__slice_8__R470b___clean is
               begin
                  system__soft_links__abort_defer.all;
                  $system__finalization_implementation__finalize_list (
                    F476b);
                  system__soft_links__abort_undefer.all;
                  return;
               end jwa__strings__slice_8__R470b___clean;
            begin
               L477b :
                 ada__finalization__list_controller__simple_list_controller;

                 $
                 ada__finalization__list_controller__simple_list_controllerIP
                 (L477b, P6s => true);
               $ada__finalization__initialize__2 (L477b);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F476b, system__finalization_root__finalizable?(L477b),
                 1);
               F475b___XR_L477b___XEXRf : _renaming_type;
               F475b : system__finalization_root__finalizable_ptr
                 renames L477b.f;
               [constraint_error when
                 not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (interfaces__unsigned_32!(low) >= 1 and then
                   interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (high - low {+} 1 in 0 .. 16#7FFF_FFFF#)
                 "range check failed"]
               type jwa__strings__slice_8__R470b__A472b is access all
                 jwa__strings__string_8;
               freeze jwa__strings__slice_8__R470b__A472b []
               R473b : jwa__strings__slice_8__R470b__A472b := (
                 jwa__strings__create__3 (high - low {+} 1))'reference;
               $system__finalization_implementation__deep_tag_attach (
                 F475b, (R473b.all)'address, 1);
               result : jwa__strings__string_8 :=
                 jwa__strings__string_8'(R473b.all);
               jwa__strings__adjust__2 (result);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F476b, system__finalization_root__finalizable?(result),
                 1);
               $ada__finalization__list_controller__finalize (L477b);
               result._tag := jwa__strings__string_8P;
               B493b : declare
               begin

-- 598:             Result.Ptr.Data.chr (1 .. High - Low + 1) :=

-- 599:               Source.Ptr.Data.chr (Low .. High);
                  R479b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R479b = null
                    "access check failed"]
                  subtype jwa__strings__slice_8__R470b__S478b is
                    jwa__strings__string_8_data (R479b.all.capacity);
                  R481b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R481b = null
                    "access check failed"]
                  R483b : jwa__strings__string_8_internal_ptr renames
                    result.ptr;
                  [constraint_error when
                    R483b = null
                    "access check failed"]
                  R484b : constant natural := R483b.all.capacity;
                  subtype jwa__strings__slice_8__R470b__S482b is
                    jwa__strings__string_8_data (R484b);
                  R486b : jwa__strings__string_8_internal_ptr renames
                    result.ptr;
                  [constraint_error when
                    R486b = null
                    "access check failed"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(high) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    high - low + 1 >= 1 and then (high - low + 1 >
                      integer(R484b))
                    "range check failed"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(high) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C490b : boolean;
                  if high >= low then
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C489b : boolean;
                     if integer(low) < 1 then
                        C489b := true;
                     else
                        [constraint_error when
                          not (interfaces__unsigned_32!(high) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C489b := integer(high) > integer(R479b.all.
                          capacity);
                     end if;
                     C490b := (C489b);
                  else
                     C490b := false;
                  end if;
                  [constraint_error when C490b "range check failed"]
                  [constraint_error when
                    [subtype jwa__strings__slice_8__R470b__T488b is
                    [subtype jwa__strings__slice_8__R470b__T487b is
                      integer range 1 .. high - low {+} 1]
                      string (jwa__strings__slice_8__R470b__T487b)]
                    [subtype jwa__strings__slice_8__R470b__T492b is
                    [subtype jwa__strings__slice_8__R470b__T491b is
                      integer range low .. high]
                      string (jwa__strings__slice_8__R470b__T491b)]
                    jwa__strings__slice_8__R470b__T488b'length /=
                      jwa__strings__slice_8__R470b__T492b'length
                    "length check failed"]
                  R486b.all.data.chr (1 .. high - low {+} 1) := R481b.all.
                    data.chr (low .. high);

-- 600:          end return;
               end B493b;
               type jwa__strings__slice_8__R470b__A496b is access
                 jwa__strings__string_8;
               freeze jwa__strings__slice_8__R470b__A496b []
               P498b : constant jwa__strings__slice_8__R470b__A496b :=
                 new jwa__strings__string_8'(result)[storage_pool =
                 system__secondary_stack__ss_pool];
               P498b.all._tag := jwa__strings__string_8P;
               F499b : system__finalization_root__finalizable_ptr :=
                 null;
               jwa__strings__adjust__2 (P498b.all);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F499b, system__finalization_root__finalizable?(P498b.all),
                 1);
               R495b : jwa__strings__slice_8__R470b__A496b := P498b;
               return R495b.all;
            at end
               jwa__strings__slice_8__R470b___clean;

-- 601:       end if;
            end R470b;
         end if;
      end if;

-- 602:    end Slice_8;
   end jwa__strings__slice_8;

-- 603:
-- 604:    ----------------------
-- 605:    -- String_8.Slice_8 --
-- 606:    ----------------------

-- 607:

-- 608:    procedure Slice_8 (Source : String_8; Target : in out String_8;
   procedure jwa__strings__slice_8 (source : jwa__strings__string_8;
     target : in out jwa__strings__string_8; low : positive; high :
     natural) is
      C500b : natural;

-- 609:                       Low : Positive; High : Natural)

-- 610:    is

-- 611:       Length : constant Natural := Source.Length;
      B502b : declare
         L501b : label
      begin
         if source.ptr = null then
            C500b := 0;
            goto L501b;
         else
            R504b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R504b = null
              "access check failed"]
            subtype jwa__strings__slice_8__B502b__S503b__2 is
              jwa__strings__string_8_data (R504b.all.capacity);
            R506b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R506b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R506b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C500b := R506b.all.data.length;
            goto L501b;
         end if;
         <<L501b>>
      end B502b;
      length : constant natural := C500b;

-- 612:    begin
   begin

-- 613:       if Low > Length + 1 or High > Length then
      [constraint_error when
        not (interfaces__unsigned_32!(low) >= 1 and then
          interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
        "invalid data"]
      if low > length {+} 1 or high > length then

-- 614:          raise Ada.Strings.Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__index_error'reference),
           "jwa.strings.adb:614");

-- 615:       end if;
      end if;

-- 616:

-- 617:       if High < Low then
      [constraint_error when
        not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(low) >= 1 and then
          interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
        "invalid data"]
      if high < low then

-- 618:          Target.Set_Empty;
         jwa__strings__set_empty (target);
      else

-- 619:       elsif Low = 1 and High = Length then
         [constraint_error when
           not (interfaces__unsigned_32!(low) >= 1 and then
             interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
           "invalid data"]
         if low = 1 and high = length then

-- 620:          Target := Source;
            B509b : begin
               system__soft_links__abort_defer.all;
               jwa__strings___assign__2 (target, source);
            at end
               system__standard_library__abort_undefer_direct;
            end B509b;

-- 621:       else
         else

-- 622:          Target.Make_Buffer (High - Low + 1);
            [constraint_error when
              not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (interfaces__unsigned_32!(low) >= 1 and then
                interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (high - low {+} 1 in 0 .. 16#7FFF_FFFF#)
              "range check failed"]
            jwa__strings__make_buffer (target, high - low {+} 1);

-- 623:          Target.Ptr.Data.chr (1 .. High - Low + 1) :=

-- 624:            Source.Ptr.Data.chr (Low .. High);
            R511b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R511b = null
              "access check failed"]
            subtype jwa__strings__slice_8__S510b__2 is
              jwa__strings__string_8_data (R511b.all.capacity);
            R513b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R513b = null
              "access check failed"]
            R515b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R515b = null
              "access check failed"]
            R516b : constant natural := R515b.all.capacity;
            subtype jwa__strings__slice_8__S514b__2 is
              jwa__strings__string_8_data (R516b);
            R518b : jwa__strings__string_8_internal_ptr renames target.
              ptr;
            [constraint_error when
              R518b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (interfaces__unsigned_32!(low) >= 1 and then
                interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              high - low + 1 >= 1 and then (high - low + 1 > integer
                (R516b))
              "range check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (interfaces__unsigned_32!(low) >= 1 and then
                interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
              "invalid data"]
            C522b : boolean;
            if high >= low then
               [constraint_error when
                 not (interfaces__unsigned_32!(low) >= 1 and then
                   interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C521b : boolean;
               if integer(low) < 1 then
                  C521b := true;
               else
                  [constraint_error when
                    not (interfaces__unsigned_32!(high) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C521b := integer(high) > integer(R511b.all.capacity);

-- 625:       end if;
               end if;
               C522b := (C521b);
            else
               C522b := false;
            end if;
            [constraint_error when C522b "range check failed"]
            [constraint_error when
              [subtype jwa__strings__slice_8__T519b__2 is integer range
                1 .. high - low {+} 1]
              [subtype jwa__strings__slice_8__T520b__2 is string (
                jwa__strings__slice_8__T519b__2)]
              [subtype jwa__strings__slice_8__T523b__2 is integer range
                low .. high]
              [subtype jwa__strings__slice_8__T524b__2 is string (
                jwa__strings__slice_8__T523b__2)]
              jwa__strings__slice_8__T520b__2'length /=
                jwa__strings__slice_8__T524b__2'length
              "length check failed"]
            R518b.all.data.chr (1 .. high - low {+} 1) := R513b.all.
              data.chr (low .. high);
         end if;
      end if;

-- 626:

-- 627:    end Slice_8;
      return;
   end jwa__strings__slice_8;

-- 628:
-- 629:    -----------------------------------
-- 630:    -- "&" ( : String_8, : String_8) --
-- 631:    -----------------------------------

-- 632:

-- 633:    function "&" (Left : String_8; Right : String_8) return String_8 is
   function jwa__strings__Oconcat (left : jwa__strings__string_8; right :
     jwa__strings__string_8) return jwa__strings__string_8 is
      C525b : natural;

-- 634:       Length_1 : constant Natural := Left.Length;
      B527b : declare
         L526b : label
      begin
         if left.ptr = null then
            C525b := 0;
            goto L526b;
         else
            R529b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R529b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__B527b__S528b is
              jwa__strings__string_8_data (R529b.all.capacity);
            R531b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R531b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R531b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C525b := R531b.all.data.length;
            goto L526b;
         end if;
         <<L526b>>
      end B527b;
      length_1 : constant natural := C525b;
      C532b : natural;

-- 635:       Length_2 : constant Natural := Right.Length;
      B534b : declare
         L533b : label
      begin
         if right.ptr = null then
            C532b := 0;
            goto L533b;
         else
            R536b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R536b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__B534b__S535b is
              jwa__strings__string_8_data (R536b.all.capacity);
            R538b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R538b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R538b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C532b := R538b.all.data.length;
            goto L533b;
         end if;
         <<L533b>>
      end B534b;
      length_2 : constant natural := C532b;

-- 636:    begin
   begin

-- 637:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 638:          return Left;
         type jwa__strings__Oconcat__A541b is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A541b []
         P543b : constant jwa__strings__Oconcat__A541b := new
           jwa__strings__string_8'(left)[storage_pool =
           system__secondary_stack__ss_pool];
         P543b.all._tag := jwa__strings__string_8P;
         F544b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P543b.all);
         $system__finalization_implementation__attach_to_final_list (
           F544b, system__finalization_root__finalizable?(P543b.all),
           1);
         R540b : jwa__strings__Oconcat__A541b := P543b;
         return R540b.all;

-- 639:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 640:          return Right;
         type jwa__strings__Oconcat__A547b is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A547b []
         P549b : constant jwa__strings__Oconcat__A547b := new
           jwa__strings__string_8'(right)[storage_pool =
           system__secondary_stack__ss_pool];
         P549b.all._tag := jwa__strings__string_8P;
         F550b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P549b.all);
         $system__finalization_implementation__attach_to_final_list (
           F550b, system__finalization_root__finalizable?(P549b.all),
           1);
         R546b : jwa__strings__Oconcat__A547b := P549b;
         return R546b.all;

-- 641:       end if;
      end if;

-- 642:

-- 643:       return Result : String_8 := String_8'(Create (Length_1 + Length_2)) do
      R551b : declare
         F557b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__Oconcat__R551b___clean is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F557b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__Oconcat__R551b___clean;
      begin
         L558b :
           ada__finalization__list_controller__simple_list_controller;
         $ada__finalization__list_controller__simple_list_controllerIP
           (L558b, P6s => true);
         $ada__finalization__initialize__2 (L558b);
         $system__finalization_implementation__attach_to_final_list (
           F557b, system__finalization_root__finalizable?(L558b), 1);
         F556b___XR_L558b___XEXRf : _renaming_type;
         F556b : system__finalization_root__finalizable_ptr renames
           L558b.f;
         type jwa__strings__Oconcat__R551b__A553b is access all
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R551b__A553b []
         R554b : jwa__strings__Oconcat__R551b__A553b := (
           jwa__strings__create__3 (length_1 {+} length_2))'reference;
         $system__finalization_implementation__deep_tag_attach (F556b,
           (R554b.all)'address, 1);
         result : jwa__strings__string_8 := jwa__strings__string_8'(
           R554b.all);
         jwa__strings__adjust__2 (result);
         $system__finalization_implementation__attach_to_final_list (
           F557b, system__finalization_root__finalizable?(result),
           1);
         $ada__finalization__list_controller__finalize (L558b);
         result._tag := jwa__strings__string_8P;
         B585b : declare
         begin

-- 644:          Result.Ptr.Data.chr (1 .. Length_1) :=

-- 645:            Left.Ptr.Data.chr (1 .. Length_1);
            R560b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R560b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__R551b__S559b is
              jwa__strings__string_8_data (R560b.all.capacity);
            R562b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R562b = null
              "access check failed"]
            R564b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R564b = null
              "access check failed"]
            R565b : constant natural := R564b.all.capacity;
            subtype jwa__strings__Oconcat__R551b__S563b is
              jwa__strings__string_8_data (R565b);
            R567b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R567b = null
              "access check failed"]
            [constraint_error when
              length_1 >= 1 and then (integer(length_1) > integer(R565b))
              "range check failed"]
            [constraint_error when
              length_1 >= 1 and then (integer(length_1) > integer(R560b.all.
                capacity))
              "range check failed"]
            R567b.all.data.chr (1 .. length_1) := R562b.all.data.chr (
              1 .. length_1);

-- 646:          Result.Ptr.Data.chr (Length_1 + 1 .. Length_1 + Length_2) :=

-- 647:            Right.Ptr.Data.chr (1 .. Length_2);
            R573b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R573b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__R551b__S572b is
              jwa__strings__string_8_data (R573b.all.capacity);
            R575b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R575b = null
              "access check failed"]
            R577b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R577b = null
              "access check failed"]
            R578b : constant natural := R577b.all.capacity;
            subtype jwa__strings__Oconcat__R551b__S576b is
              jwa__strings__string_8_data (R578b);
            R580b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R580b = null
              "access check failed"]
            [constraint_error when
              length_1 + length_2 >= length_1 + 1 and then (length_1 +
                length_2 > integer(R578b))
              "range check failed"]
            [constraint_error when
              length_2 >= 1 and then (integer(length_2) > integer(R573b.all.
                capacity))
              "range check failed"]
            [constraint_error when
              [subtype jwa__strings__Oconcat__R551b__T581b is integer range
                length_1 {+} 1 .. length_1 {+} length_2]
              [subtype jwa__strings__Oconcat__R551b__T582b is string (
                jwa__strings__Oconcat__R551b__T581b)]
              [subtype jwa__strings__Oconcat__R551b__T583b is integer range
                1 .. length_2]
              [subtype jwa__strings__Oconcat__R551b__T584b is string (
                jwa__strings__Oconcat__R551b__T583b)]
              jwa__strings__Oconcat__R551b__T582b'length /=
                jwa__strings__Oconcat__R551b__T584b'length
              "length check failed"]
            R580b.all.data.chr (length_1 {+} 1 .. length_1 {+} length_2) :=
              R575b.all.data.chr (1 .. length_2);

-- 648:       end return;
         end B585b;
         type jwa__strings__Oconcat__R551b__A588b is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R551b__A588b []
         P590b : constant jwa__strings__Oconcat__R551b__A588b := new
           jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P590b.all._tag := jwa__strings__string_8P;
         F591b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P590b.all);
         $system__finalization_implementation__attach_to_final_list (
           F591b, system__finalization_root__finalizable?(P590b.all),
           1);
         R587b : jwa__strings__Oconcat__R551b__A588b := P590b;
         return R587b.all;
      at end
         jwa__strings__Oconcat__R551b___clean;

-- 649:    end "&";
      end R551b;
   end jwa__strings__Oconcat;

-- 650:
-- 651:    ---------------------------------
-- 652:    -- "&" ( : String_8, : String) --
-- 653:    ---------------------------------

-- 654:

-- 655:    function "&" (Left : String_8; Right : String) return String_8 is
   function jwa__strings__Oconcat (left : jwa__strings__string_8; right :
     string) return jwa__strings__string_8 is
      F610b : system__finalization_root__finalizable_ptr := null;
      procedure jwa__strings__Oconcat___clean__2 is
      begin
         system__soft_links__abort_defer.all;
         $system__finalization_implementation__finalize_list (F610b);
         system__soft_links__abort_undefer.all;
         return;
      end jwa__strings__Oconcat___clean__2;
   begin
      subtype jwa__strings__Oconcat__S592b__2 is string (right'first(
        1) .. right'last(1));
      C593b : natural;

-- 656:       Length_1 : constant Natural := Left.Length;
      B595b : declare
         L594b : label
      begin
         if left.ptr = null then
            C593b := 0;
            goto L594b;
         else
            R597b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R597b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__B595b__S596b__2 is
              jwa__strings__string_8_data (R597b.all.capacity);
            R599b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R599b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R599b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C593b := R599b.all.data.length;
            goto L594b;
         end if;
         <<L594b>>
      end B595b;
      length_1 : constant natural := C593b;
      length_2 : constant natural := natural(right'length);

-- 657:       Length_2 : constant Natural := Right'Length;

-- 658:    begin

-- 659:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 660:          return Left;
         type jwa__strings__Oconcat__A602b__2 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A602b__2 []
         P604b : constant jwa__strings__Oconcat__A602b__2 := new
           jwa__strings__string_8'(left)[storage_pool =
           system__secondary_stack__ss_pool];
         P604b.all._tag := jwa__strings__string_8P;
         F605b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P604b.all);
         $system__finalization_implementation__attach_to_final_list (
           F605b, system__finalization_root__finalizable?(P604b.all),
           1);
         R601b : jwa__strings__Oconcat__A602b__2 := P604b;
         return R601b.all;

-- 661:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 662:          return String_8'(Create (Right));
         type jwa__strings__Oconcat__A607b__2 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A607b__2 []
         R608b : jwa__strings__Oconcat__A607b__2 := (
           jwa__strings__create__2 (right))'reference;
         $system__finalization_implementation__deep_tag_attach (F610b,
           (R608b.all)'address, 1);
         type jwa__strings__Oconcat__A612b__2 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A612b__2 []
         P614b : constant jwa__strings__Oconcat__A612b__2 := new
           jwa__strings__string_8'(jwa__strings__string_8'(R608b.all))
           [storage_pool = system__secondary_stack__ss_pool];
         P614b.all._tag := jwa__strings__string_8P;
         F615b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P614b.all);
         $system__finalization_implementation__attach_to_final_list (
           F615b, system__finalization_root__finalizable?(P614b.all),
           1);
         R611b : jwa__strings__Oconcat__A612b__2 := P614b;
         return R611b.all;

-- 663:       end if;
      end if;

-- 664:

-- 665:       return Result : String_8 := String_8'(Create (Length_1 + Length_2)) do
      R616b : declare
         F622b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__Oconcat__R616b___clean__2 is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F622b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__Oconcat__R616b___clean__2;
      begin
         L623b :
           ada__finalization__list_controller__simple_list_controller;
         $ada__finalization__list_controller__simple_list_controllerIP
           (L623b, P6s => true);
         $ada__finalization__initialize__2 (L623b);
         $system__finalization_implementation__attach_to_final_list (
           F622b, system__finalization_root__finalizable?(L623b), 1);
         F621b___XR_L623b___XEXRf : _renaming_type;
         F621b : system__finalization_root__finalizable_ptr renames
           L623b.f;
         type jwa__strings__Oconcat__R616b__A618b__2 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R616b__A618b__2 []
         R619b : jwa__strings__Oconcat__R616b__A618b__2 := (
           jwa__strings__create__3 (length_1 {+} length_2))'reference;
         $system__finalization_implementation__deep_tag_attach (F621b,
           (R619b.all)'address, 1);
         result : jwa__strings__string_8 := jwa__strings__string_8'(
           R619b.all);
         jwa__strings__adjust__2 (result);
         $system__finalization_implementation__attach_to_final_list (
           F622b, system__finalization_root__finalizable?(result),
           1);
         $ada__finalization__list_controller__finalize (L623b);
         result._tag := jwa__strings__string_8P;
         B644b : declare
         begin

-- 666:          Result.Ptr.Data.chr (1 .. Length_1) :=

-- 667:            Left.Ptr.Data.chr (1 .. Length_1);
            R625b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R625b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__R616b__S624b__2 is
              jwa__strings__string_8_data (R625b.all.capacity);
            R627b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R627b = null
              "access check failed"]
            R629b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R629b = null
              "access check failed"]
            R630b : constant natural := R629b.all.capacity;
            subtype jwa__strings__Oconcat__R616b__S628b__2 is
              jwa__strings__string_8_data (R630b);
            R632b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R632b = null
              "access check failed"]
            [constraint_error when
              length_1 >= 1 and then (integer(length_1) > integer(R630b))
              "range check failed"]
            [constraint_error when
              length_1 >= 1 and then (integer(length_1) > integer(R625b.all.
                capacity))
              "range check failed"]
            R632b.all.data.chr (1 .. length_1) := R627b.all.data.chr (
              1 .. length_1);

-- 668:          Result.Ptr.Data.chr (Length_1 + 1 .. Length_1 + Length_2) := Right;
            R638b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R638b = null
              "access check failed"]
            R639b : constant natural := R638b.all.capacity;
            subtype jwa__strings__Oconcat__R616b__S637b__2 is
              jwa__strings__string_8_data (R639b);
            R641b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R641b = null
              "access check failed"]
            [constraint_error when
              length_1 + length_2 >= length_1 + 1 and then (length_1 +
                length_2 > integer(R639b))
              "range check failed"]
            [constraint_error when
              [subtype jwa__strings__Oconcat__R616b__T642b__2 is
                integer range length_1 {+} 1 .. length_1 {+} length_2]
              [subtype jwa__strings__Oconcat__R616b__T643b__2 is string (
                jwa__strings__Oconcat__R616b__T642b__2)]
              jwa__strings__Oconcat__R616b__T643b__2'length /=
                jwa__strings__Oconcat__S592b__2'length
              "length check failed"]
            R641b.all.data.chr (length_1 {+} 1 .. length_1 {+} length_2) :=
              right;

-- 669:       end return;
         end B644b;
         type jwa__strings__Oconcat__R616b__A647b__2 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R616b__A647b__2 []
         P649b : constant jwa__strings__Oconcat__R616b__A647b__2 :=
           new jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P649b.all._tag := jwa__strings__string_8P;
         F650b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P649b.all);
         $system__finalization_implementation__attach_to_final_list (
           F650b, system__finalization_root__finalizable?(P649b.all),
           1);
         R646b : jwa__strings__Oconcat__R616b__A647b__2 := P649b;
         return R646b.all;
      at end
         jwa__strings__Oconcat__R616b___clean__2;

-- 670:    end "&";
      end R616b;
   at end
      jwa__strings__Oconcat___clean__2;
   end jwa__strings__Oconcat;

-- 671:
-- 672:    ---------------------------------
-- 673:    -- "&" ( : String, : String_8) --
-- 674:    ---------------------------------

-- 675:

-- 676:    function "&" (Left : String; Right : String_8) return String_8 is
   function jwa__strings__Oconcat (left : string; right :
     jwa__strings__string_8) return jwa__strings__string_8 is
      F663b : system__finalization_root__finalizable_ptr := null;
      procedure jwa__strings__Oconcat___clean__3 is
      begin
         system__soft_links__abort_defer.all;
         $system__finalization_implementation__finalize_list (F663b);
         system__soft_links__abort_undefer.all;
         return;
      end jwa__strings__Oconcat___clean__3;
   begin
      subtype jwa__strings__Oconcat__S651b__3 is string (left'first(
        1) .. left'last(1));
      length_1 : constant natural := natural(left'length);
      C652b : natural;

-- 677:       Length_1 : constant Natural := Left'Length;

-- 678:       Length_2 : constant Natural := Right.Length;
      B654b : declare
         L653b : label
      begin
         if right.ptr = null then
            C652b := 0;
            goto L653b;
         else
            R656b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R656b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__B654b__S655b__3 is
              jwa__strings__string_8_data (R656b.all.capacity);
            R658b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R658b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R658b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C652b := R658b.all.data.length;
            goto L653b;
         end if;
         <<L653b>>
      end B654b;
      length_2 : constant natural := C652b;

-- 679:    begin

-- 680:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 681:          return String_8'(Create (Left));
         type jwa__strings__Oconcat__A660b__3 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A660b__3 []
         R661b : jwa__strings__Oconcat__A660b__3 := (
           jwa__strings__create__2 (left))'reference;
         $system__finalization_implementation__deep_tag_attach (F663b,
           (R661b.all)'address, 1);
         type jwa__strings__Oconcat__A665b__3 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A665b__3 []
         P667b : constant jwa__strings__Oconcat__A665b__3 := new
           jwa__strings__string_8'(jwa__strings__string_8'(R661b.all))
           [storage_pool = system__secondary_stack__ss_pool];
         P667b.all._tag := jwa__strings__string_8P;
         F668b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P667b.all);
         $system__finalization_implementation__attach_to_final_list (
           F668b, system__finalization_root__finalizable?(P667b.all),
           1);
         R664b : jwa__strings__Oconcat__A665b__3 := P667b;
         return R664b.all;

-- 682:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 683:          return Right;
         type jwa__strings__Oconcat__A671b__3 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A671b__3 []
         P673b : constant jwa__strings__Oconcat__A671b__3 := new
           jwa__strings__string_8'(right)[storage_pool =
           system__secondary_stack__ss_pool];
         P673b.all._tag := jwa__strings__string_8P;
         F674b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P673b.all);
         $system__finalization_implementation__attach_to_final_list (
           F674b, system__finalization_root__finalizable?(P673b.all),
           1);
         R670b : jwa__strings__Oconcat__A671b__3 := P673b;
         return R670b.all;

-- 684:       end if;
      end if;

-- 685:

-- 686:       return Result : String_8 := String_8'(Create (Length_1 + Length_2)) do
      R675b : declare
         F681b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__Oconcat__R675b___clean__3 is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F681b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__Oconcat__R675b___clean__3;
      begin
         L682b :
           ada__finalization__list_controller__simple_list_controller;
         $ada__finalization__list_controller__simple_list_controllerIP
           (L682b, P6s => true);
         $ada__finalization__initialize__2 (L682b);
         $system__finalization_implementation__attach_to_final_list (
           F681b, system__finalization_root__finalizable?(L682b), 1);
         F680b___XR_L682b___XEXRf : _renaming_type;
         F680b : system__finalization_root__finalizable_ptr renames
           L682b.f;
         type jwa__strings__Oconcat__R675b__A677b__3 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R675b__A677b__3 []
         R678b : jwa__strings__Oconcat__R675b__A677b__3 := (
           jwa__strings__create__3 (length_1 {+} length_2))'reference;
         $system__finalization_implementation__deep_tag_attach (F680b,
           (R678b.all)'address, 1);
         result : jwa__strings__string_8 := jwa__strings__string_8'(
           R678b.all);
         jwa__strings__adjust__2 (result);
         $system__finalization_implementation__attach_to_final_list (
           F681b, system__finalization_root__finalizable?(result),
           1);
         $ada__finalization__list_controller__finalize (L682b);
         result._tag := jwa__strings__string_8P;
         B703b : declare
         begin

-- 687:          Result.Ptr.Data.chr (1 .. Length_1) := Left;
            R684b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R684b = null
              "access check failed"]
            R685b : constant natural := R684b.all.capacity;
            subtype jwa__strings__Oconcat__R675b__S683b__3 is
              jwa__strings__string_8_data (R685b);
            R687b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R687b = null
              "access check failed"]
            [constraint_error when
              length_1 >= 1 and then (integer(length_1) > integer(R685b))
              "range check failed"]
            [constraint_error when
              [subtype jwa__strings__Oconcat__R675b__T688b__3 is
                integer range 1 .. length_1]
              [subtype jwa__strings__Oconcat__R675b__T689b__3 is string (
                jwa__strings__Oconcat__R675b__T688b__3)]
              jwa__strings__Oconcat__R675b__T689b__3'length /=
                jwa__strings__Oconcat__S651b__3'length
              "length check failed"]
            R687b.all.data.chr (1 .. length_1) := left;

-- 688:          Result.Ptr.Data.chr (Length_1 + 1 .. Length_1 + Length_2) :=

-- 689:            Right.Ptr.Data.chr (1 .. Length_2);
            R691b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R691b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__R675b__S690b__3 is
              jwa__strings__string_8_data (R691b.all.capacity);
            R693b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R693b = null
              "access check failed"]
            R695b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R695b = null
              "access check failed"]
            R696b : constant natural := R695b.all.capacity;
            subtype jwa__strings__Oconcat__R675b__S694b__3 is
              jwa__strings__string_8_data (R696b);
            R698b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R698b = null
              "access check failed"]
            [constraint_error when
              length_1 + length_2 >= length_1 + 1 and then (length_1 +
                length_2 > integer(R696b))
              "range check failed"]
            [constraint_error when
              length_2 >= 1 and then (integer(length_2) > integer(R691b.all.
                capacity))
              "range check failed"]
            [constraint_error when
              [subtype jwa__strings__Oconcat__R675b__T699b__3 is
                integer range length_1 {+} 1 .. length_1 {+} length_2]
              [subtype jwa__strings__Oconcat__R675b__T700b__3 is string (
                jwa__strings__Oconcat__R675b__T699b__3)]
              [subtype jwa__strings__Oconcat__R675b__T701b__3 is
                integer range 1 .. length_2]
              [subtype jwa__strings__Oconcat__R675b__T702b__3 is string (
                jwa__strings__Oconcat__R675b__T701b__3)]
              jwa__strings__Oconcat__R675b__T700b__3'length /=
                jwa__strings__Oconcat__R675b__T702b__3'length
              "length check failed"]
            R698b.all.data.chr (length_1 {+} 1 .. length_1 {+} length_2) :=
              R693b.all.data.chr (1 .. length_2);

-- 690:       end return;
         end B703b;
         type jwa__strings__Oconcat__R675b__A706b__3 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R675b__A706b__3 []
         P708b : constant jwa__strings__Oconcat__R675b__A706b__3 :=
           new jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P708b.all._tag := jwa__strings__string_8P;
         F709b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P708b.all);
         $system__finalization_implementation__attach_to_final_list (
           F709b, system__finalization_root__finalizable?(P708b.all),
           1);
         R705b : jwa__strings__Oconcat__R675b__A706b__3 := P708b;
         return R705b.all;
      at end
         jwa__strings__Oconcat__R675b___clean__3;

-- 691:    end "&";
      end R675b;
   at end
      jwa__strings__Oconcat___clean__3;
   end jwa__strings__Oconcat;

-- 692:
-- 693:    ---------------------------------
-- 694:    -- "&" ( : String_8, : Char_8) --
-- 695:    ---------------------------------

-- 696:

-- 697:    function "&" (Left : String_8; Right : Char_8) return String_8 is
   function jwa__strings__Oconcat (left : jwa__strings__string_8; right :
     jwa__char_8) return jwa__strings__string_8 is
      F725b : system__finalization_root__finalizable_ptr := null;
      procedure jwa__strings__Oconcat___clean__4 is
      begin
         system__soft_links__abort_defer.all;
         $system__finalization_implementation__finalize_list (F725b);
         system__soft_links__abort_undefer.all;
         return;
      end jwa__strings__Oconcat___clean__4;
   begin
      C710b : natural;

-- 698:       Length_1 : constant Natural := Left.Length;
      B712b : declare
         L711b : label
      begin
         if left.ptr = null then
            C710b := 0;
            goto L711b;
         else
            R714b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R714b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__B712b__S713b__4 is
              jwa__strings__string_8_data (R714b.all.capacity);
            R716b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R716b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R716b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C710b := R716b.all.data.length;
            goto L711b;
         end if;
         <<L711b>>
      end B712b;
      length_1 : constant natural := C710b;

-- 699:    begin

-- 700:       if Length_1 <= 0 then
      if length_1 <= 0 then

-- 701:          return String_8'(Create ((1 => Right)));
         null;
         null;
         type jwa__strings__Oconcat__A722b__4 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A722b__4 []
         R723b : jwa__strings__Oconcat__A722b__4 := (
           jwa__strings__create__2 ((character(right))))'reference;
         $system__finalization_implementation__deep_tag_attach (F725b,
           (R723b.all)'address, 1);
         type jwa__strings__Oconcat__A727b__4 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A727b__4 []
         P729b : constant jwa__strings__Oconcat__A727b__4 := new
           jwa__strings__string_8'(jwa__strings__string_8'(R723b.all))
           [storage_pool = system__secondary_stack__ss_pool];
         P729b.all._tag := jwa__strings__string_8P;
         F730b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P729b.all);
         $system__finalization_implementation__attach_to_final_list (
           F730b, system__finalization_root__finalizable?(P729b.all),
           1);
         R726b : jwa__strings__Oconcat__A727b__4 := P729b;
         return R726b.all;

-- 702:       end if;
      end if;

-- 703:

-- 704:       return Result : String_8 := String_8'(Create (Length_1 + 1)) do
      R731b : declare
         F737b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__Oconcat__R731b___clean__4 is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F737b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__Oconcat__R731b___clean__4;
      begin
         L738b :
           ada__finalization__list_controller__simple_list_controller;
         $ada__finalization__list_controller__simple_list_controllerIP
           (L738b, P6s => true);
         $ada__finalization__initialize__2 (L738b);
         $system__finalization_implementation__attach_to_final_list (
           F737b, system__finalization_root__finalizable?(L738b), 1);
         F736b___XR_L738b___XEXRf : _renaming_type;
         F736b : system__finalization_root__finalizable_ptr renames
           L738b.f;
         type jwa__strings__Oconcat__R731b__A733b__4 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R731b__A733b__4 []
         R734b : jwa__strings__Oconcat__R731b__A733b__4 := (
           jwa__strings__create__3 (length_1 {+} 1))'reference;
         $system__finalization_implementation__deep_tag_attach (F736b,
           (R734b.all)'address, 1);
         result : jwa__strings__string_8 := jwa__strings__string_8'(
           R734b.all);
         jwa__strings__adjust__2 (result);
         $system__finalization_implementation__attach_to_final_list (
           F737b, system__finalization_root__finalizable?(result),
           1);
         $ada__finalization__list_controller__finalize (L738b);
         result._tag := jwa__strings__string_8P;
         B757b : declare
         begin

-- 705:          Result.Ptr.Data.chr (1 .. Length_1) :=

-- 706:            Left.Ptr.Data.chr (1 .. Length_1);
            R740b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R740b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__R731b__S739b__4 is
              jwa__strings__string_8_data (R740b.all.capacity);
            R742b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R742b = null
              "access check failed"]
            R744b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R744b = null
              "access check failed"]
            R745b : constant natural := R744b.all.capacity;
            subtype jwa__strings__Oconcat__R731b__S743b__4 is
              jwa__strings__string_8_data (R745b);
            R747b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R747b = null
              "access check failed"]
            [constraint_error when
              length_1 >= 1 and then (integer(length_1) > integer(R745b))
              "range check failed"]
            [constraint_error when
              length_1 >= 1 and then (integer(length_1) > integer(R740b.all.
                capacity))
              "range check failed"]
            R747b.all.data.chr (1 .. length_1) := R742b.all.data.chr (
              1 .. length_1);

-- 707:          Result.Ptr.Data.chr (Length_1 + 1) := Right;
            R753b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R753b = null
              "access check failed"]
            R754b : constant natural := R753b.all.capacity;
            subtype jwa__strings__Oconcat__R731b__S752b__4 is
              jwa__strings__string_8_data (R754b);
            R756b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R756b = null
              "access check failed"]
            [constraint_error when
              not (length_1 {+} 1 in 1 .. R756b.all.data.chr'last)
              "index check failed"]
            R756b.all.data.chr (length_1 + 1) := right;

-- 708:       end return;
         end B757b;
         type jwa__strings__Oconcat__R731b__A760b__4 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R731b__A760b__4 []
         P762b : constant jwa__strings__Oconcat__R731b__A760b__4 :=
           new jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P762b.all._tag := jwa__strings__string_8P;
         F763b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P762b.all);
         $system__finalization_implementation__attach_to_final_list (
           F763b, system__finalization_root__finalizable?(P762b.all),
           1);
         R759b : jwa__strings__Oconcat__R731b__A760b__4 := P762b;
         return R759b.all;
      at end
         jwa__strings__Oconcat__R731b___clean__4;

-- 709:    end "&";
      end R731b;
   at end
      jwa__strings__Oconcat___clean__4;
   end jwa__strings__Oconcat;

-- 710:
-- 711:    ---------------------------------
-- 712:    -- "&" ( : Char_8, : String_8) --
-- 713:    ---------------------------------

-- 714:

-- 715:    function "&" (Left : Char_8; Right : String_8) return String_8 is
   function jwa__strings__Oconcat (left : jwa__char_8; right :
     jwa__strings__string_8) return jwa__strings__string_8 is
      F779b : system__finalization_root__finalizable_ptr := null;
      procedure jwa__strings__Oconcat___clean__5 is
      begin
         system__soft_links__abort_defer.all;
         $system__finalization_implementation__finalize_list (F779b);
         system__soft_links__abort_undefer.all;
         return;
      end jwa__strings__Oconcat___clean__5;
   begin
      C764b : natural;

-- 716:       Length_2 : constant Natural := Right.Length;
      B766b : declare
         L765b : label
      begin
         if right.ptr = null then
            C764b := 0;
            goto L765b;
         else
            R768b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R768b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__B766b__S767b__5 is
              jwa__strings__string_8_data (R768b.all.capacity);
            R770b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R770b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R770b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C764b := R770b.all.data.length;
            goto L765b;
         end if;
         <<L765b>>
      end B766b;
      length_2 : constant natural := C764b;

-- 717:    begin

-- 718:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 719:          return String_8'(Create ((1 => Left)));
         null;
         null;
         type jwa__strings__Oconcat__A776b__5 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A776b__5 []
         R777b : jwa__strings__Oconcat__A776b__5 := (
           jwa__strings__create__2 ((character(left))))'reference;
         $system__finalization_implementation__deep_tag_attach (F779b,
           (R777b.all)'address, 1);
         type jwa__strings__Oconcat__A781b__5 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__A781b__5 []
         P783b : constant jwa__strings__Oconcat__A781b__5 := new
           jwa__strings__string_8'(jwa__strings__string_8'(R777b.all))
           [storage_pool = system__secondary_stack__ss_pool];
         P783b.all._tag := jwa__strings__string_8P;
         F784b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P783b.all);
         $system__finalization_implementation__attach_to_final_list (
           F784b, system__finalization_root__finalizable?(P783b.all),
           1);
         R780b : jwa__strings__Oconcat__A781b__5 := P783b;
         return R780b.all;

-- 720:       end if;
      end if;

-- 721:

-- 722:       return Result : String_8 := String_8'(Create (1 + Length_2)) do
      R785b : declare
         F791b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__Oconcat__R785b___clean__5 is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F791b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__Oconcat__R785b___clean__5;
      begin
         L792b :
           ada__finalization__list_controller__simple_list_controller;
         $ada__finalization__list_controller__simple_list_controllerIP
           (L792b, P6s => true);
         $ada__finalization__initialize__2 (L792b);
         $system__finalization_implementation__attach_to_final_list (
           F791b, system__finalization_root__finalizable?(L792b), 1);
         F790b___XR_L792b___XEXRf : _renaming_type;
         F790b : system__finalization_root__finalizable_ptr renames
           L792b.f;
         type jwa__strings__Oconcat__R785b__A787b__5 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R785b__A787b__5 []
         R788b : jwa__strings__Oconcat__R785b__A787b__5 := (
           jwa__strings__create__3 (1 {+} length_2))'reference;
         $system__finalization_implementation__deep_tag_attach (F790b,
           (R788b.all)'address, 1);
         result : jwa__strings__string_8 := jwa__strings__string_8'(
           R788b.all);
         jwa__strings__adjust__2 (result);
         $system__finalization_implementation__attach_to_final_list (
           F791b, system__finalization_root__finalizable?(result),
           1);
         $ada__finalization__list_controller__finalize (L792b);
         result._tag := jwa__strings__string_8P;
         B811b : declare
         begin

-- 723:          Result.Ptr.Data.chr (1) := Left;
            R794b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R794b = null
              "access check failed"]
            R795b : constant natural := R794b.all.capacity;
            subtype jwa__strings__Oconcat__R785b__S793b__5 is
              jwa__strings__string_8_data (R795b);
            R797b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R797b = null
              "access check failed"]
            [constraint_error when
              not (1 <= R797b.all.data.chr'last)
              "index check failed"]
            R797b.all.data.chr (1) := left;

-- 724:          Result.Ptr.Data.chr (2 .. 1 + Length_2) :=

-- 725:            Right.Ptr.Data.chr (1 .. Length_2);
            R799b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R799b = null
              "access check failed"]
            subtype jwa__strings__Oconcat__R785b__S798b__5 is
              jwa__strings__string_8_data (R799b.all.capacity);
            R801b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R801b = null
              "access check failed"]
            R803b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R803b = null
              "access check failed"]
            R804b : constant natural := R803b.all.capacity;
            subtype jwa__strings__Oconcat__R785b__S802b__5 is
              jwa__strings__string_8_data (R804b);
            R806b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R806b = null
              "access check failed"]
            [constraint_error when
              1 + length_2 >= 2 and then (1 + length_2 > integer(R804b))
              "range check failed"]
            [constraint_error when
              length_2 >= 1 and then (integer(length_2) > integer(R799b.all.
                capacity))
              "range check failed"]
            [constraint_error when
              [subtype jwa__strings__Oconcat__R785b__T807b__5 is
                integer range 2 .. 1 {+} length_2]
              [subtype jwa__strings__Oconcat__R785b__T808b__5 is string (
                jwa__strings__Oconcat__R785b__T807b__5)]
              [subtype jwa__strings__Oconcat__R785b__T809b__5 is
                integer range 1 .. length_2]
              [subtype jwa__strings__Oconcat__R785b__T810b__5 is string (
                jwa__strings__Oconcat__R785b__T809b__5)]
              jwa__strings__Oconcat__R785b__T808b__5'length /=
                jwa__strings__Oconcat__R785b__T810b__5'length
              "length check failed"]
            R806b.all.data.chr (2 .. 1 {+} length_2) := R801b.all.data.
              chr (1 .. length_2);

-- 726:       end return;
         end B811b;
         type jwa__strings__Oconcat__R785b__A814b__5 is access
           jwa__strings__string_8;
         freeze jwa__strings__Oconcat__R785b__A814b__5 []
         P816b : constant jwa__strings__Oconcat__R785b__A814b__5 :=
           new jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P816b.all._tag := jwa__strings__string_8P;
         F817b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P816b.all);
         $system__finalization_implementation__attach_to_final_list (
           F817b, system__finalization_root__finalizable?(P816b.all),
           1);
         R813b : jwa__strings__Oconcat__R785b__A814b__5 := P816b;
         return R813b.all;
      at end
         jwa__strings__Oconcat__R785b___clean__5;

-- 727:    end "&";
      end R785b;
   at end
      jwa__strings__Oconcat___clean__5;
   end jwa__strings__Oconcat;

-- 728:
-- 729:    --------------------------------
-- 730:    -- "*" ( : Natural, : Char_8) --
-- 731:    --------------------------------

-- 732:

-- 733:    function "*" (Left : Natural; Right : Char_8) return String_8 is
   function jwa__strings__Omultiply (left : natural; right :
     jwa__char_8) return jwa__strings__string_8 is

-- 734:    begin
   begin

-- 735:       if Left <= 0 then
      [constraint_error when
        not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
        "invalid data"]
      if left <= 0 then

-- 736:          return Null_String_8;
         type jwa__strings__Omultiply__A820b is access
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__A820b []
         P822b : constant jwa__strings__Omultiply__A820b := new
           jwa__strings__string_8'(jwa__strings__null_string_8)
           [storage_pool = system__secondary_stack__ss_pool];
         P822b.all._tag := jwa__strings__string_8P;
         F823b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P822b.all);
         $system__finalization_implementation__attach_to_final_list (
           F823b, system__finalization_root__finalizable?(P822b.all),
           1);
         R819b : jwa__strings__Omultiply__A820b := P822b;
         return R819b.all;

-- 737:       end if;
      end if;

-- 738:

-- 739:       return Result : String_8 := String_8'(Create (Left)) do
      R824b : declare
         F830b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__Omultiply__R824b___clean is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F830b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__Omultiply__R824b___clean;
      begin
         L831b :
           ada__finalization__list_controller__simple_list_controller;
         $ada__finalization__list_controller__simple_list_controllerIP
           (L831b, P6s => true);
         $ada__finalization__initialize__2 (L831b);
         $system__finalization_implementation__attach_to_final_list (
           F830b, system__finalization_root__finalizable?(L831b), 1);
         F829b___XR_L831b___XEXRf : _renaming_type;
         F829b : system__finalization_root__finalizable_ptr renames
           L831b.f;
         [constraint_error when
           not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
           "invalid data"]
         type jwa__strings__Omultiply__R824b__A826b is access all
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__R824b__A826b []
         R827b : jwa__strings__Omultiply__R824b__A826b := (
           jwa__strings__create__3 (left))'reference;
         $system__finalization_implementation__deep_tag_attach (F829b,
           (R827b.all)'address, 1);
         result : jwa__strings__string_8 := jwa__strings__string_8'(
           R827b.all);
         jwa__strings__adjust__2 (result);
         $system__finalization_implementation__attach_to_final_list (
           F830b, system__finalization_root__finalizable?(result),
           1);
         $ada__finalization__list_controller__finalize (L831b);
         result._tag := jwa__strings__string_8P;
         B847b : declare
         begin

-- 740:          Result.Ptr.Data.chr (1 .. Left) := (1 .. Left => Right);
            R833b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R833b = null
              "access check failed"]
            R834b : constant natural := R833b.all.capacity;
            subtype jwa__strings__Omultiply__R824b__S832b is
              jwa__strings__string_8_data (R834b);
            R836b : jwa__strings__string_8_internal_ptr renames result.
              ptr;
            [constraint_error when
              R836b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
              "invalid data"]
            C837b : boolean;
            if left >= 1 then
               [constraint_error when
                 not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C837b := (integer(left) > integer(R834b));
            else
               C837b := false;
            end if;
            [constraint_error when C837b "range check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
              "invalid data"]
            null;
            [subtype jwa__strings__Omultiply__R824b__T841b is string (
              1 .. left)]
            A842b : jwa__strings__Omultiply__R824b__T841b;
            [constraint_error when
              not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
              "invalid data"]
            S845b : integer;
            S845b := integer'(left);
            for J843b in 1 .. S845b loop
               A842b (J843b) := right;
            end loop;
            [constraint_error when
              [subtype jwa__strings__Omultiply__R824b__T838b is integer range
                1 .. left]
              [subtype jwa__strings__Omultiply__R824b__T839b is string (
                jwa__strings__Omultiply__R824b__T838b)]
              jwa__strings__Omultiply__R824b__T839b'length /=
                jwa__strings__Omultiply__R824b__T841b'length
              "length check failed"]
            R836b.all.data.chr (1 .. left) := A842b;

-- 741:       end return;
         end B847b;
         type jwa__strings__Omultiply__R824b__A850b is access
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__R824b__A850b []
         P852b : constant jwa__strings__Omultiply__R824b__A850b := new
           jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P852b.all._tag := jwa__strings__string_8P;
         F853b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P852b.all);
         $system__finalization_implementation__attach_to_final_list (
           F853b, system__finalization_root__finalizable?(P852b.all),
           1);
         R849b : jwa__strings__Omultiply__R824b__A850b := P852b;
         return R849b.all;
      at end
         jwa__strings__Omultiply__R824b___clean;

-- 742:    end "*";
      end R824b;
   end jwa__strings__Omultiply;

-- 743:
-- 744:    --------------------------------
-- 745:    -- "*" ( : Natural, : String) --
-- 746:    --------------------------------

-- 747:

-- 748:    function "*" (Left : Natural; Right : String) return String_8 is
   function jwa__strings__Omultiply (left : natural; right : string)
     return jwa__strings__string_8 is
      subtype jwa__strings__Omultiply__S854b__2 is string (right'first(
        1) .. right'last(1));
      r_length : constant natural := natural(right'length);

-- 749:       R_Length : constant Natural := Right'Length;

-- 750:       Length : constant Natural := Left * R_Length;
      [constraint_error when
        not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (left {*} r_length in 0 .. 16#7FFF_FFFF#)
        "range check failed"]
      length : constant natural := left {*} r_length;
      B_14 : label

-- 751:    begin
   begin

-- 752:       if Length <= 0 then
      if length <= 0 then

-- 753:          return Null_String_8;
         type jwa__strings__Omultiply__A857b__2 is access
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__A857b__2 []
         P859b : constant jwa__strings__Omultiply__A857b__2 := new
           jwa__strings__string_8'(jwa__strings__null_string_8)
           [storage_pool = system__secondary_stack__ss_pool];
         P859b.all._tag := jwa__strings__string_8P;
         F860b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P859b.all);
         $system__finalization_implementation__attach_to_final_list (
           F860b, system__finalization_root__finalizable?(P859b.all),
           1);
         R856b : jwa__strings__Omultiply__A857b__2 := P859b;
         return R856b.all;

-- 754:       end if;
      end if;

-- 755:

-- 756:       if R_Length = 1 then
      if r_length = 1 then

-- 757:          return Left * Right (Right'First);
         [constraint_error when
           not (right'first <= right'last)
           "index check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
           "invalid data"]
         type jwa__strings__Omultiply__A862b__2 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__A862b__2 []
         R863b : jwa__strings__Omultiply__A862b__2 :=
           jwa__strings__Omultiply (left, right (right'first))
           'reference;
         return R863b.all;

-- 758:       end if;
      end if;

-- 759:

-- 760:       return Result : String_8 := String_8'(Create (Length)) do
      R865b : declare
         F871b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__Omultiply__R865b___clean__2 is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F871b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__Omultiply__R865b___clean__2;
      begin
         L872b :
           ada__finalization__list_controller__simple_list_controller;
         $ada__finalization__list_controller__simple_list_controllerIP
           (L872b, P6s => true);
         $ada__finalization__initialize__2 (L872b);
         $system__finalization_implementation__attach_to_final_list (
           F871b, system__finalization_root__finalizable?(L872b), 1);
         F870b___XR_L872b___XEXRf : _renaming_type;
         F870b : system__finalization_root__finalizable_ptr renames
           L872b.f;
         type jwa__strings__Omultiply__R865b__A867b__2 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__R865b__A867b__2 []
         R868b : jwa__strings__Omultiply__R865b__A867b__2 := (
           jwa__strings__create__3 (length))'reference;
         $system__finalization_implementation__deep_tag_attach (F870b,
           (R868b.all)'address, 1);
         result : jwa__strings__string_8 := jwa__strings__string_8'(
           R868b.all);
         jwa__strings__adjust__2 (result);
         $system__finalization_implementation__attach_to_final_list (
           F871b, system__finalization_root__finalizable?(result),
           1);
         $ada__finalization__list_controller__finalize (L872b);
         result._tag := jwa__strings__string_8P;
         B883b : declare
         begin

-- 761:          declare
            B_14 : declare

-- 762:             Result_Data : String_8_Data renames Result.Ptr.Data;
               R874b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R874b = null
                 "access check failed"]
               R875b : constant natural := R874b.all.capacity;
               subtype jwa__strings__Omultiply__B_14__S873b__2 is
                 jwa__strings__string_8_data (R875b);
               R877b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R877b = null
                 "access check failed"]
               R878b : constant jwa__strings__string_8_internal_ptr :=
                 R877b;
               result_data___XR_R878b___XEXAXRdata : _renaming_type;
               result_data : jwa__strings__string_8_data renames R878b.all.
                 data;
               L_15 : label
            begin

-- 763:          begin

-- 764:             for i in 0 .. Left - 1 loop
               [constraint_error when
                 not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
                 "invalid data"]
               S879b : integer;
               S879b := left - 1;
               L_15 : for i in 0 .. S879b loop
                  [constraint_error when
                    R878b = null
                    "access check failed"]

-- 765:                Result_Data.chr (1 + i * R_Length .. (1 + i) * R_Length) :=
                  [constraint_error when
                    (1 + i) * r_length >= 1 + i * r_length and then (
                      1 + i * r_length < 1 or else (1 + i) * r_length >
                      integer(R875b))
                    "range check failed"]

-- 766:                  Right;
                  [constraint_error when
                    [subtype T881b is integer range 1 {+} i {*}
                      r_length .. (1 {+} i) {*} r_length]
                    [subtype T882b is string (T881b)]
                    T882b'length /= jwa__strings__Omultiply__S854b__2'
                      length
                    "length check failed"]
                  R878b.all.data.chr (1 {+} i {*} r_length .. (1 {+} i) {*}
                    r_length) := right;

-- 767:             end loop;
               end loop L_15;

-- 768:          end;
            end B_14;

-- 769:       end return;
         end B883b;
         type jwa__strings__Omultiply__R865b__A886b__2 is access
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__R865b__A886b__2 []
         P888b : constant jwa__strings__Omultiply__R865b__A886b__2 :=
           new jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P888b.all._tag := jwa__strings__string_8P;
         F889b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P888b.all);
         $system__finalization_implementation__attach_to_final_list (
           F889b, system__finalization_root__finalizable?(P888b.all),
           1);
         R885b : jwa__strings__Omultiply__R865b__A886b__2 := P888b;
         return R885b.all;
      at end
         jwa__strings__Omultiply__R865b___clean__2;

-- 770:    end "*";
      end R865b;
   end jwa__strings__Omultiply;

-- 771:
-- 772:    ----------------------------------
-- 773:    -- "*" ( : Natural, : String_8) --
-- 774:    ----------------------------------

-- 775:

-- 776:    function "*" (Left : Natural; Right : String_8) return String_8 is
   function jwa__strings__Omultiply (left : natural; right :
     jwa__strings__string_8) return jwa__strings__string_8 is
      C890b : natural;

-- 777:       R_Length : constant Natural := Right.Length;
      B892b : declare
         L891b : label
      begin
         if right.ptr = null then
            C890b := 0;
            goto L891b;
         else
            R894b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R894b = null
              "access check failed"]
            subtype jwa__strings__Omultiply__B892b__S893b__3 is
              jwa__strings__string_8_data (R894b.all.capacity);
            R896b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R896b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R896b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C890b := R896b.all.data.length;
            goto L891b;
         end if;
         <<L891b>>
      end B892b;
      r_length : constant natural := C890b;

-- 778:       Length : constant Natural := Left * R_Length;
      [constraint_error when
        not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (left {*} r_length in 0 .. 16#7FFF_FFFF#)
        "range check failed"]
      length : constant natural := left {*} r_length;
      B_16 : label

-- 779:    begin
   begin

-- 780:       if Length <= 0 then
      if length <= 0 then

-- 781:          return Null_String_8;
         type jwa__strings__Omultiply__A899b__3 is access
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__A899b__3 []
         P901b : constant jwa__strings__Omultiply__A899b__3 := new
           jwa__strings__string_8'(jwa__strings__null_string_8)
           [storage_pool = system__secondary_stack__ss_pool];
         P901b.all._tag := jwa__strings__string_8P;
         F902b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P901b.all);
         $system__finalization_implementation__attach_to_final_list (
           F902b, system__finalization_root__finalizable?(P901b.all),
           1);
         R898b : jwa__strings__Omultiply__A899b__3 := P901b;
         return R898b.all;

-- 782:       end if;
      end if;

-- 783:

-- 784:       if R_Length = 1 then
      if r_length = 1 then

-- 785:          return Left * Right.Ptr.Data.chr (1);
         R905b : jwa__strings__string_8_internal_ptr renames right.ptr;
         [constraint_error when
           R905b = null
           "access check failed"]
         subtype jwa__strings__Omultiply__S904b__3 is
           jwa__strings__string_8_data (R905b.all.capacity);
         R907b : jwa__strings__string_8_internal_ptr renames right.ptr;
         [constraint_error when
           R907b = null
           "access check failed"]
         [constraint_error when
           not (1 <= R907b.all.data.chr'last)
           "index check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
           "invalid data"]
         type jwa__strings__Omultiply__A908b__3 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__A908b__3 []
         R909b : jwa__strings__Omultiply__A908b__3 :=
           jwa__strings__Omultiply (left, R907b.all.data.chr (1))
           'reference;
         return R909b.all;

-- 786:       end if;
      end if;

-- 787:

-- 788:       return Result : String_8 := String_8'(Create (Length)) do
      R911b : declare
         F917b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__Omultiply__R911b___clean__3 is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F917b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__Omultiply__R911b___clean__3;
      begin
         L918b :
           ada__finalization__list_controller__simple_list_controller;
         $ada__finalization__list_controller__simple_list_controllerIP
           (L918b, P6s => true);
         $ada__finalization__initialize__2 (L918b);
         $system__finalization_implementation__attach_to_final_list (
           F917b, system__finalization_root__finalizable?(L918b), 1);
         F916b___XR_L918b___XEXRf : _renaming_type;
         F916b : system__finalization_root__finalizable_ptr renames
           L918b.f;
         type jwa__strings__Omultiply__R911b__A913b__3 is access all
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__R911b__A913b__3 []
         R914b : jwa__strings__Omultiply__R911b__A913b__3 := (
           jwa__strings__create__3 (length))'reference;
         $system__finalization_implementation__deep_tag_attach (F916b,
           (R914b.all)'address, 1);
         result : jwa__strings__string_8 := jwa__strings__string_8'(
           R914b.all);
         jwa__strings__adjust__2 (result);
         $system__finalization_implementation__attach_to_final_list (
           F917b, system__finalization_root__finalizable?(result),
           1);
         $ada__finalization__list_controller__finalize (L918b);
         result._tag := jwa__strings__string_8P;
         B935b : declare
         begin

-- 789:          declare
            B_16 : declare

-- 790:             Right_Data : String_8_Data renames Right.Ptr.Data;
               R920b : jwa__strings__string_8_internal_ptr renames
                 right.ptr;
               [constraint_error when
                 R920b = null
                 "access check failed"]
               subtype jwa__strings__Omultiply__B_16__S919b__3 is
                 jwa__strings__string_8_data (R920b.all.capacity);
               R922b : jwa__strings__string_8_internal_ptr renames
                 right.ptr;
               [constraint_error when
                 R922b = null
                 "access check failed"]
               right_data___XR_R922b___XEXAXRdata : _renaming_type;
               right_data : jwa__strings__string_8_data renames R922b.all.
                 data;

-- 791:             Result_Data : String_8_Data renames Result.Ptr.Data;
               R924b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R924b = null
                 "access check failed"]
               R925b : constant natural := R924b.all.capacity;
               subtype jwa__strings__Omultiply__B_16__S923b__3 is
                 jwa__strings__string_8_data (R925b);
               R927b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R927b = null
                 "access check failed"]
               R928b : constant jwa__strings__string_8_internal_ptr :=
                 R927b;
               result_data___XR_R928b___XEXAXRdata : _renaming_type;
               result_data : jwa__strings__string_8_data renames R928b.all.
                 data;
               L_17 : label
            begin

-- 792:          begin

-- 793:             for i in 0 .. Left - 1 loop
               [constraint_error when
                 not (interfaces__unsigned_32!(left) <= 16#7FFF_FFFF#)
                 "invalid data"]
               S929b : integer;
               S929b := left - 1;
               L_17 : for i in 0 .. S929b loop
                  [constraint_error when
                    R922b = null
                    "access check failed"]
                  [constraint_error when
                    R928b = null
                    "access check failed"]

-- 794:                Result_Data.chr (1 + i * R_Length .. (1 + i) * R_Length) :=
                  [constraint_error when
                    (1 + i) * r_length >= 1 + i * r_length and then (
                      1 + i * r_length < 1 or else (1 + i) * r_length >
                      integer(R925b))
                    "range check failed"]

-- 795:                  Right_Data.chr (1 .. R_Length);
                  [constraint_error when
                    r_length >= 1 and then (integer(r_length) > integer
                      (R920b.all.capacity))
                    "range check failed"]
                  [constraint_error when
                    [subtype T931b is integer range 1 {+} i {*}
                      r_length .. (1 {+} i) {*} r_length]
                    [subtype T932b is string (T931b)]
                    [subtype T933b is integer range 1 .. r_length]
                    [subtype T934b is string (T933b)]
                    T932b'length /= T934b'length
                    "length check failed"]
                  R928b.all.data.chr (1 {+} i {*} r_length .. (1 {+} i) {*}
                    r_length) := R922b.all.data.chr (1 .. r_length);

-- 796:             end loop;
               end loop L_17;

-- 797:          end;
            end B_16;

-- 798:       end return;
         end B935b;
         type jwa__strings__Omultiply__R911b__A938b__3 is access
           jwa__strings__string_8;
         freeze jwa__strings__Omultiply__R911b__A938b__3 []
         P940b : constant jwa__strings__Omultiply__R911b__A938b__3 :=
           new jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P940b.all._tag := jwa__strings__string_8P;
         F941b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P940b.all);
         $system__finalization_implementation__attach_to_final_list (
           F941b, system__finalization_root__finalizable?(P940b.all),
           1);
         R937b : jwa__strings__Omultiply__R911b__A938b__3 := P940b;
         return R937b.all;
      at end
         jwa__strings__Omultiply__R911b___clean__3;

-- 799:    end "*";
      end R911b;
   end jwa__strings__Omultiply;

-- 800:
-- 801:    -----------------------------------
-- 802:    -- "=" ( : String_8, : String_8) --
-- 803:    -----------------------------------

-- 804:

-- 805:    function "=" (Left : String_8; Right : String_8) return Boolean is
   function jwa__strings__Oeq (left : jwa__strings__string_8; right :
     jwa__strings__string_8) return boolean is
      C942b : natural;

-- 806:       Length_1 : constant Natural := Left.Length;
      B944b : declare
         L943b : label
      begin
         if left.ptr = null then
            C942b := 0;
            goto L943b;
         else
            R946b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R946b = null
              "access check failed"]
            subtype jwa__strings__Oeq__B944b__S945b is
              jwa__strings__string_8_data (R946b.all.capacity);
            R948b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R948b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R948b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C942b := R948b.all.data.length;
            goto L943b;
         end if;
         <<L943b>>
      end B944b;
      length_1 : constant natural := C942b;
      C949b : natural;

-- 807:       Length_2 : constant Natural := Right.Length;
      B951b : declare
         L950b : label
      begin
         if right.ptr = null then
            C949b := 0;
            goto L950b;
         else
            R953b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R953b = null
              "access check failed"]
            subtype jwa__strings__Oeq__B951b__S952b is
              jwa__strings__string_8_data (R953b.all.capacity);
            R955b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R955b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R955b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C949b := R955b.all.data.length;
            goto L950b;
         end if;
         <<L950b>>
      end B951b;
      length_2 : constant natural := C949b;

-- 808:    begin
   begin

-- 809:       if Length_1 /= Length_2 then
      if length_1 /= length_2 then

-- 810:          return False;
         return false;

-- 811:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 812:          return True;
         return true;

-- 813:       end if;
      end if;

-- 814:

-- 815:       return Left.Ptr.Data.chr (1 .. Length_1) =
      R960b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R960b = null
        "access check failed"]
      subtype jwa__strings__Oeq__S959b is jwa__strings__string_8_data (
        R960b.all.capacity);
      R962b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R962b = null
        "access check failed"]

-- 816:         Right.Ptr.Data.chr (1 .. Length_2);
      R964b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R964b = null
        "access check failed"]
      subtype jwa__strings__Oeq__S963b is jwa__strings__string_8_data (
        R964b.all.capacity);
      R966b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R966b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R960b.all.
          capacity))
        "range check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R964b.all.
          capacity))
        "range check failed"]
      return R962b.all.data.chr (1 .. length_1) = R966b.all.data.chr (
        1 .. length_2);

-- 817:    end "=";
   end jwa__strings__Oeq;

-- 818:
-- 819:    ---------------------------------
-- 820:    -- "=" ( : String_8, : String) --
-- 821:    ---------------------------------

-- 822:

-- 823:    function "=" (Left : String_8; Right : String) return Boolean is
   function jwa__strings__Oeq (left : jwa__strings__string_8; right :
     string) return boolean is
      subtype jwa__strings__Oeq__S971b__2 is string (right'first(1) ..
        right'last(1));
      C972b : natural;

-- 824:       Length_1 : constant Natural := Left.Length;
      B974b : declare
         L973b : label
      begin
         if left.ptr = null then
            C972b := 0;
            goto L973b;
         else
            R976b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R976b = null
              "access check failed"]
            subtype jwa__strings__Oeq__B974b__S975b__2 is
              jwa__strings__string_8_data (R976b.all.capacity);
            R978b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R978b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R978b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C972b := R978b.all.data.length;
            goto L973b;
         end if;
         <<L973b>>
      end B974b;
      length_1 : constant natural := C972b;
      length_2 : constant natural := natural(right'length);
   begin

-- 825:       Length_2 : constant Natural := Right'Length;

-- 826:    begin

-- 827:       if Length_1 /= Length_2 then
      if length_1 /= length_2 then

-- 828:          return False;
         return false;

-- 829:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 830:          return True;
         return true;

-- 831:       end if;
      end if;

-- 832:

-- 833:       return Left.Ptr.Data.chr (1 .. Length_1) = Right;
      R983b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R983b = null
        "access check failed"]
      subtype jwa__strings__Oeq__S982b__2 is
        jwa__strings__string_8_data (R983b.all.capacity);
      R985b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R985b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R983b.all.
          capacity))
        "range check failed"]
      return R985b.all.data.chr (1 .. length_1) = right;

-- 834:    end "=";
   end jwa__strings__Oeq;

-- 835:
-- 836:    ---------------------------------
-- 837:    -- "=" ( : String, : String_8) --
-- 838:    ---------------------------------

-- 839:

-- 840:    function "=" (Left : String; Right : String_8) return Boolean is
   function jwa__strings__Oeq (left : string; right :
     jwa__strings__string_8) return boolean is
      subtype jwa__strings__Oeq__S988b__3 is string (left'first(1) ..
        left'last(1));
      length_1 : constant natural := natural(left'length);
      C989b : natural;

-- 841:       Length_1 : constant Natural := Left'Length;

-- 842:       Length_2 : constant Natural := Right.Length;
      B991b : declare
         L990b : label
      begin
         if right.ptr = null then
            C989b := 0;
            goto L990b;
         else
            R993b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R993b = null
              "access check failed"]
            subtype jwa__strings__Oeq__B991b__S992b__3 is
              jwa__strings__string_8_data (R993b.all.capacity);
            R995b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R995b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R995b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C989b := R995b.all.data.length;
            goto L990b;
         end if;
         <<L990b>>
      end B991b;
      length_2 : constant natural := C989b;

-- 843:    begin
   begin

-- 844:       if Length_1 /= Length_2 then
      if length_1 /= length_2 then

-- 845:          return False;
         return false;

-- 846:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 847:          return True;
         return true;

-- 848:       end if;
      end if;

-- 849:

-- 850:       return Left = Right.Ptr.Data.chr (1 .. Length_2);
      R1000b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1000b = null
        "access check failed"]
      subtype jwa__strings__Oeq__S999b__3 is
        jwa__strings__string_8_data (R1000b.all.capacity);
      R1002b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1002b = null
        "access check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R1000b.all.
          capacity))
        "range check failed"]
      return left = R1002b.all.data.chr (1 .. length_2);

-- 851:    end "=";
   end jwa__strings__Oeq;

-- 852:
-- 853:    -----------------------------------
-- 854:    -- "<" ( : String_8, : String_8) --
-- 855:    -----------------------------------

-- 856:

-- 857:    function "<" (Left : String_8; Right : String_8) return Boolean is
   function jwa__strings__Olt (left : jwa__strings__string_8; right :
     jwa__strings__string_8) return boolean is
      C1005b : natural;

-- 858:       Length_1 : constant Natural := Left.Length;
      B1007b : declare
         L1006b : label
      begin
         if left.ptr = null then
            C1005b := 0;
            goto L1006b;
         else
            R1009b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1009b = null
              "access check failed"]
            subtype jwa__strings__Olt__B1007b__S1008b is
              jwa__strings__string_8_data (R1009b.all.capacity);
            R1011b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1011b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1011b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1005b := R1011b.all.data.length;
            goto L1006b;
         end if;
         <<L1006b>>
      end B1007b;
      length_1 : constant natural := C1005b;
      C1012b : natural;

-- 859:       Length_2 : constant Natural := Right.Length;
      B1014b : declare
         L1013b : label
      begin
         if right.ptr = null then
            C1012b := 0;
            goto L1013b;
         else
            R1016b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1016b = null
              "access check failed"]
            subtype jwa__strings__Olt__B1014b__S1015b is
              jwa__strings__string_8_data (R1016b.all.capacity);
            R1018b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1018b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1018b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1012b := R1018b.all.data.length;
            goto L1013b;
         end if;
         <<L1013b>>
      end B1014b;
      length_2 : constant natural := C1012b;

-- 860:    begin
   begin

-- 861:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 862:          return False;
         return false;

-- 863:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 864:          return True;
         return true;

-- 865:       end if;
      end if;

-- 866:

-- 867:       return Left.Ptr.Data.chr (1 .. Length_1) <
      R1023b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1023b = null
        "access check failed"]
      subtype jwa__strings__Olt__S1022b is jwa__strings__string_8_data
        (R1023b.all.capacity);
      R1025b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1025b = null
        "access check failed"]

-- 868:         Right.Ptr.Data.chr (1 .. Length_2);
      R1027b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1027b = null
        "access check failed"]
      subtype jwa__strings__Olt__S1026b is jwa__strings__string_8_data
        (R1027b.all.capacity);
      R1029b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1029b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R1023b.all.
          capacity))
        "range check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R1027b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (
        R1025b.all.data.chr (1 .. length_1)'address, R1029b.all.data.
        chr (1 .. length_2)'address, R1025b.all.data.chr (1 .. length_1)'
        length, R1029b.all.data.chr (1 .. length_2)'length) < 0;

-- 869:    end "<";
   end jwa__strings__Olt;

-- 870:
-- 871:    ---------------------------------
-- 872:    -- "<" ( : String_8, : String) --
-- 873:    ---------------------------------

-- 874:

-- 875:    function "<" (Left : String_8; Right : String) return Boolean is
   function jwa__strings__Olt (left : jwa__strings__string_8; right :
     string) return boolean is
      subtype jwa__strings__Olt__S1034b__2 is string (right'first(1) ..
        right'last(1));
      C1035b : natural;

-- 876:       Length_1 : constant Natural := Left.Length;
      B1037b : declare
         L1036b : label
      begin
         if left.ptr = null then
            C1035b := 0;
            goto L1036b;
         else
            R1039b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1039b = null
              "access check failed"]
            subtype jwa__strings__Olt__B1037b__S1038b__2 is
              jwa__strings__string_8_data (R1039b.all.capacity);
            R1041b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1041b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1041b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1035b := R1041b.all.data.length;
            goto L1036b;
         end if;
         <<L1036b>>
      end B1037b;
      length_1 : constant natural := C1035b;
      length_2 : constant natural := natural(right'length);
   begin

-- 877:       Length_2 : constant Natural := Right'Length;

-- 878:    begin

-- 879:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 880:          return False;
         return false;

-- 881:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 882:          return True;
         return true;

-- 883:       end if;
      end if;

-- 884:

-- 885:       return Left.Ptr.Data.chr (1 .. Length_1) < Right;
      R1046b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1046b = null
        "access check failed"]
      subtype jwa__strings__Olt__S1045b__2 is
        jwa__strings__string_8_data (R1046b.all.capacity);
      R1048b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1048b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R1046b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (
        R1048b.all.data.chr (1 .. length_1)'address, right'address,
        R1048b.all.data.chr (1 .. length_1)'length, right'length) <
        0;

-- 886:    end "<";
   end jwa__strings__Olt;

-- 887:
-- 888:    ---------------------------------
-- 889:    -- "<" ( : String, : String_8) --
-- 890:    ---------------------------------

-- 891:

-- 892:    function "<" (Left : String; Right : String_8) return Boolean is
   function jwa__strings__Olt (left : string; right :
     jwa__strings__string_8) return boolean is
      subtype jwa__strings__Olt__S1051b__3 is string (left'first(1) ..
        left'last(1));
      length_1 : constant natural := natural(left'length);
      C1052b : natural;

-- 893:       Length_1 : constant Natural := Left'Length;

-- 894:       Length_2 : constant Natural := Right.Length;
      B1054b : declare
         L1053b : label
      begin
         if right.ptr = null then
            C1052b := 0;
            goto L1053b;
         else
            R1056b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1056b = null
              "access check failed"]
            subtype jwa__strings__Olt__B1054b__S1055b__3 is
              jwa__strings__string_8_data (R1056b.all.capacity);
            R1058b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1058b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1058b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1052b := R1058b.all.data.length;
            goto L1053b;
         end if;
         <<L1053b>>
      end B1054b;
      length_2 : constant natural := C1052b;

-- 895:    begin
   begin

-- 896:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 897:          return False;
         return false;

-- 898:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 899:          return True;
         return true;

-- 900:       end if;
      end if;

-- 901:

-- 902:       return Left < Right.Ptr.Data.chr (1 .. Length_2);
      R1063b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1063b = null
        "access check failed"]
      subtype jwa__strings__Olt__S1062b__3 is
        jwa__strings__string_8_data (R1063b.all.capacity);
      R1065b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1065b = null
        "access check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R1063b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (left'
        address, R1065b.all.data.chr (1 .. length_2)'address, left'
        length, R1065b.all.data.chr (1 .. length_2)'length) < 0;

-- 903:    end "<";
   end jwa__strings__Olt;

-- 904:
-- 905:    ------------------------------------
-- 906:    -- "<=" ( : String_8, : String_8) --
-- 907:    ------------------------------------

-- 908:

-- 909:    function "<=" (Left : String_8; Right : String_8) return Boolean is
   function jwa__strings__Ole (left : jwa__strings__string_8; right :
     jwa__strings__string_8) return boolean is
      C1068b : natural;

-- 910:       Length_1 : constant Natural := Left.Length;
      B1070b : declare
         L1069b : label
      begin
         if left.ptr = null then
            C1068b := 0;
            goto L1069b;
         else
            R1072b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1072b = null
              "access check failed"]
            subtype jwa__strings__Ole__B1070b__S1071b is
              jwa__strings__string_8_data (R1072b.all.capacity);
            R1074b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1074b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1074b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1068b := R1074b.all.data.length;
            goto L1069b;
         end if;
         <<L1069b>>
      end B1070b;
      length_1 : constant natural := C1068b;
      C1075b : natural;

-- 911:       Length_2 : constant Natural := Right.Length;
      B1077b : declare
         L1076b : label
      begin
         if right.ptr = null then
            C1075b := 0;
            goto L1076b;
         else
            R1079b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1079b = null
              "access check failed"]
            subtype jwa__strings__Ole__B1077b__S1078b is
              jwa__strings__string_8_data (R1079b.all.capacity);
            R1081b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1081b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1081b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1075b := R1081b.all.data.length;
            goto L1076b;
         end if;
         <<L1076b>>
      end B1077b;
      length_2 : constant natural := C1075b;

-- 912:    begin
   begin

-- 913:       if Length_1 <= 0 then
      if length_1 <= 0 then

-- 914:          return True;
         return true;

-- 915:       elsif Length_2 <= 0 then
      elsif length_2 <= 0 then

-- 916:          return False;
         return false;

-- 917:       end if;
      end if;

-- 918:

-- 919:       return Left.Ptr.Data.chr (1 .. Length_1) <=
      R1086b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1086b = null
        "access check failed"]
      subtype jwa__strings__Ole__S1085b is jwa__strings__string_8_data
        (R1086b.all.capacity);
      R1088b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1088b = null
        "access check failed"]

-- 920:         Right.Ptr.Data.chr (1 .. Length_2);
      R1090b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1090b = null
        "access check failed"]
      subtype jwa__strings__Ole__S1089b is jwa__strings__string_8_data
        (R1090b.all.capacity);
      R1092b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1092b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R1086b.all.
          capacity))
        "range check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R1090b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (
        R1088b.all.data.chr (1 .. length_1)'address, R1092b.all.data.
        chr (1 .. length_2)'address, R1088b.all.data.chr (1 .. length_1)'
        length, R1092b.all.data.chr (1 .. length_2)'length) <= 0;

-- 921:    end "<=";
   end jwa__strings__Ole;

-- 922:
-- 923:    ----------------------------------
-- 924:    -- "<=" ( : String_8, : String) --
-- 925:    ----------------------------------

-- 926:

-- 927:    function "<=" (Left : String_8; Right : String) return Boolean is
   function jwa__strings__Ole (left : jwa__strings__string_8; right :
     string) return boolean is
      subtype jwa__strings__Ole__S1097b__2 is string (right'first(1) ..
        right'last(1));
      C1098b : natural;

-- 928:       Length_1 : constant Natural := Left.Length;
      B1100b : declare
         L1099b : label
      begin
         if left.ptr = null then
            C1098b := 0;
            goto L1099b;
         else
            R1102b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1102b = null
              "access check failed"]
            subtype jwa__strings__Ole__B1100b__S1101b__2 is
              jwa__strings__string_8_data (R1102b.all.capacity);
            R1104b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1104b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1104b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1098b := R1104b.all.data.length;
            goto L1099b;
         end if;
         <<L1099b>>
      end B1100b;
      length_1 : constant natural := C1098b;
      length_2 : constant natural := natural(right'length);
   begin

-- 929:       Length_2 : constant Natural := Right'Length;

-- 930:    begin

-- 931:       if Length_1 <= 0 then
      if length_1 <= 0 then

-- 932:          return True;
         return true;

-- 933:       elsif Length_2 <= 0 then
      elsif length_2 <= 0 then

-- 934:          return False;
         return false;

-- 935:       end if;
      end if;

-- 936:

-- 937:       return Left.Ptr.Data.chr (1 .. Length_1) <= Right;
      R1109b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1109b = null
        "access check failed"]
      subtype jwa__strings__Ole__S1108b__2 is
        jwa__strings__string_8_data (R1109b.all.capacity);
      R1111b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1111b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R1109b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (
        R1111b.all.data.chr (1 .. length_1)'address, right'address,
        R1111b.all.data.chr (1 .. length_1)'length, right'length) <=
        0;

-- 938:    end "<=";
   end jwa__strings__Ole;

-- 939:
-- 940:    ----------------------------------
-- 941:    -- "<=" ( : String, : String_8) --
-- 942:    ----------------------------------

-- 943:

-- 944:    function "<=" (Left : String; Right : String_8) return Boolean is
   function jwa__strings__Ole (left : string; right :
     jwa__strings__string_8) return boolean is
      subtype jwa__strings__Ole__S1114b__3 is string (left'first(1) ..
        left'last(1));
      length_1 : constant natural := natural(left'length);
      C1115b : natural;

-- 945:       Length_1 : constant Natural := Left'Length;

-- 946:       Length_2 : constant Natural := Right.Length;
      B1117b : declare
         L1116b : label
      begin
         if right.ptr = null then
            C1115b := 0;
            goto L1116b;
         else
            R1119b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1119b = null
              "access check failed"]
            subtype jwa__strings__Ole__B1117b__S1118b__3 is
              jwa__strings__string_8_data (R1119b.all.capacity);
            R1121b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1121b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1121b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1115b := R1121b.all.data.length;
            goto L1116b;
         end if;
         <<L1116b>>
      end B1117b;
      length_2 : constant natural := C1115b;

-- 947:    begin
   begin

-- 948:       if Length_1 <= 0 then
      if length_1 <= 0 then

-- 949:          return True;
         return true;

-- 950:       elsif Length_2 <= 0 then
      elsif length_2 <= 0 then

-- 951:          return False;
         return false;

-- 952:       end if;
      end if;

-- 953:

-- 954:       return Left <= Right.Ptr.Data.chr (1 .. Length_2);
      R1126b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1126b = null
        "access check failed"]
      subtype jwa__strings__Ole__S1125b__3 is
        jwa__strings__string_8_data (R1126b.all.capacity);
      R1128b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1128b = null
        "access check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R1126b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (left'
        address, R1128b.all.data.chr (1 .. length_2)'address, left'
        length, R1128b.all.data.chr (1 .. length_2)'length) <= 0;

-- 955:    end "<=";
   end jwa__strings__Ole;

-- 956:
-- 957:    -----------------------------------
-- 958:    -- ">" ( : String_8, : String_8) --
-- 959:    -----------------------------------

-- 960:

-- 961:    function ">" (Left : String_8; Right : String_8) return Boolean is
   function jwa__strings__Ogt (left : jwa__strings__string_8; right :
     jwa__strings__string_8) return boolean is
      C1131b : natural;

-- 962:       Length_1 : constant Natural := Left.Length;
      B1133b : declare
         L1132b : label
      begin
         if left.ptr = null then
            C1131b := 0;
            goto L1132b;
         else
            R1135b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1135b = null
              "access check failed"]
            subtype jwa__strings__Ogt__B1133b__S1134b is
              jwa__strings__string_8_data (R1135b.all.capacity);
            R1137b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1137b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1137b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1131b := R1137b.all.data.length;
            goto L1132b;
         end if;
         <<L1132b>>
      end B1133b;
      length_1 : constant natural := C1131b;
      C1138b : natural;

-- 963:       Length_2 : constant Natural := Right.Length;
      B1140b : declare
         L1139b : label
      begin
         if right.ptr = null then
            C1138b := 0;
            goto L1139b;
         else
            R1142b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1142b = null
              "access check failed"]
            subtype jwa__strings__Ogt__B1140b__S1141b is
              jwa__strings__string_8_data (R1142b.all.capacity);
            R1144b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1144b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1144b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1138b := R1144b.all.data.length;
            goto L1139b;
         end if;
         <<L1139b>>
      end B1140b;
      length_2 : constant natural := C1138b;

-- 964:    begin
   begin

-- 965:       if Length_1 <= 0 then
      if length_1 <= 0 then

-- 966:          return False;
         return false;

-- 967:       elsif Length_2 <= 0 then
      elsif length_2 <= 0 then

-- 968:          return True;
         return true;

-- 969:       end if;
      end if;

-- 970:

-- 971:       return Left.Ptr.Data.chr (1 .. Length_1) >
      R1149b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1149b = null
        "access check failed"]
      subtype jwa__strings__Ogt__S1148b is jwa__strings__string_8_data
        (R1149b.all.capacity);
      R1151b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1151b = null
        "access check failed"]

-- 972:         Right.Ptr.Data.chr (1 .. Length_2);
      R1153b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1153b = null
        "access check failed"]
      subtype jwa__strings__Ogt__S1152b is jwa__strings__string_8_data
        (R1153b.all.capacity);
      R1155b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1155b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R1149b.all.
          capacity))
        "range check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R1153b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (
        R1151b.all.data.chr (1 .. length_1)'address, R1155b.all.data.
        chr (1 .. length_2)'address, R1151b.all.data.chr (1 .. length_1)'
        length, R1155b.all.data.chr (1 .. length_2)'length) > 0;

-- 973:    end ">";
   end jwa__strings__Ogt;

-- 974:
-- 975:    ---------------------------------
-- 976:    -- ">" ( : String_8, : String) --
-- 977:    ---------------------------------

-- 978:

-- 979:    function ">" (Left : String_8; Right : String) return Boolean is
   function jwa__strings__Ogt (left : jwa__strings__string_8; right :
     string) return boolean is
      subtype jwa__strings__Ogt__S1160b__2 is string (right'first(1) ..
        right'last(1));
      C1161b : natural;

-- 980:       Length_1 : constant Natural := Left.Length;
      B1163b : declare
         L1162b : label
      begin
         if left.ptr = null then
            C1161b := 0;
            goto L1162b;
         else
            R1165b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1165b = null
              "access check failed"]
            subtype jwa__strings__Ogt__B1163b__S1164b__2 is
              jwa__strings__string_8_data (R1165b.all.capacity);
            R1167b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1167b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1167b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1161b := R1167b.all.data.length;
            goto L1162b;
         end if;
         <<L1162b>>
      end B1163b;
      length_1 : constant natural := C1161b;
      length_2 : constant natural := natural(right'length);
   begin

-- 981:       Length_2 : constant Natural := Right'Length;

-- 982:    begin

-- 983:       if Length_1 <= 0 then
      if length_1 <= 0 then

-- 984:          return False;
         return false;

-- 985:       elsif Length_2 <= 0 then
      elsif length_2 <= 0 then

-- 986:          return True;
         return true;

-- 987:       end if;
      end if;

-- 988:

-- 989:       return Left.Ptr.Data.chr (1 .. Length_1) > Right;
      R1172b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1172b = null
        "access check failed"]
      subtype jwa__strings__Ogt__S1171b__2 is
        jwa__strings__string_8_data (R1172b.all.capacity);
      R1174b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1174b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R1172b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (
        R1174b.all.data.chr (1 .. length_1)'address, right'address,
        R1174b.all.data.chr (1 .. length_1)'length, right'length) >
        0;

-- 990:    end ">";
   end jwa__strings__Ogt;

-- 991:
-- 992:    ---------------------------------
-- 993:    -- ">" ( : String, : String_8) --
-- 994:    ---------------------------------

-- 995:

-- 996:    function ">" (Left : String; Right : String_8) return Boolean is
   function jwa__strings__Ogt (left : string; right :
     jwa__strings__string_8) return boolean is
      subtype jwa__strings__Ogt__S1177b__3 is string (left'first(1) ..
        left'last(1));
      length_1 : constant natural := natural(left'length);
      C1178b : natural;

-- 997:       Length_1 : constant Natural := Left'Length;

-- 998:       Length_2 : constant Natural := Right.Length;
      B1180b : declare
         L1179b : label
      begin
         if right.ptr = null then
            C1178b := 0;
            goto L1179b;
         else
            R1182b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1182b = null
              "access check failed"]
            subtype jwa__strings__Ogt__B1180b__S1181b__3 is
              jwa__strings__string_8_data (R1182b.all.capacity);
            R1184b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1184b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1184b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1178b := R1184b.all.data.length;
            goto L1179b;
         end if;
         <<L1179b>>
      end B1180b;
      length_2 : constant natural := C1178b;

-- 999:    begin
   begin

-- 1000:       if Length_1 <= 0 then
      if length_1 <= 0 then

-- 1001:          return False;
         return false;

-- 1002:       elsif Length_2 <= 0 then
      elsif length_2 <= 0 then

-- 1003:          return True;
         return true;

-- 1004:       end if;
      end if;

-- 1005:

-- 1006:       return Left > Right.Ptr.Data.chr (1 .. Length_2);
      R1189b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1189b = null
        "access check failed"]
      subtype jwa__strings__Ogt__S1188b__3 is
        jwa__strings__string_8_data (R1189b.all.capacity);
      R1191b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1191b = null
        "access check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R1189b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (left'
        address, R1191b.all.data.chr (1 .. length_2)'address, left'
        length, R1191b.all.data.chr (1 .. length_2)'length) > 0;

-- 1007:    end ">";
   end jwa__strings__Ogt;

-- 1008:
-- 1009:    ------------------------------------
-- 1010:    -- ">=" ( : String_8, : String_8) --
-- 1011:    ------------------------------------

-- 1012:

-- 1013:    function ">=" (Left : String_8; Right : String_8) return Boolean is
   function jwa__strings__Oge (left : jwa__strings__string_8; right :
     jwa__strings__string_8) return boolean is
      C1194b : natural;

-- 1014:       Length_1 : constant Natural := Left.Length;
      B1196b : declare
         L1195b : label
      begin
         if left.ptr = null then
            C1194b := 0;
            goto L1195b;
         else
            R1198b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1198b = null
              "access check failed"]
            subtype jwa__strings__Oge__B1196b__S1197b is
              jwa__strings__string_8_data (R1198b.all.capacity);
            R1200b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1200b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1200b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1194b := R1200b.all.data.length;
            goto L1195b;
         end if;
         <<L1195b>>
      end B1196b;
      length_1 : constant natural := C1194b;
      C1201b : natural;

-- 1015:       Length_2 : constant Natural := Right.Length;
      B1203b : declare
         L1202b : label
      begin
         if right.ptr = null then
            C1201b := 0;
            goto L1202b;
         else
            R1205b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1205b = null
              "access check failed"]
            subtype jwa__strings__Oge__B1203b__S1204b is
              jwa__strings__string_8_data (R1205b.all.capacity);
            R1207b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1207b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1207b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1201b := R1207b.all.data.length;
            goto L1202b;
         end if;
         <<L1202b>>
      end B1203b;
      length_2 : constant natural := C1201b;

-- 1016:    begin
   begin

-- 1017:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 1018:          return True;
         return true;

-- 1019:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 1020:          return False;
         return false;

-- 1021:       end if;
      end if;

-- 1022:

-- 1023:       return Left.Ptr.Data.chr (1 .. Length_1) >=
      R1212b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1212b = null
        "access check failed"]
      subtype jwa__strings__Oge__S1211b is jwa__strings__string_8_data
        (R1212b.all.capacity);
      R1214b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1214b = null
        "access check failed"]

-- 1024:         Right.Ptr.Data.chr (1 .. Length_2);
      R1216b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1216b = null
        "access check failed"]
      subtype jwa__strings__Oge__S1215b is jwa__strings__string_8_data
        (R1216b.all.capacity);
      R1218b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1218b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R1212b.all.
          capacity))
        "range check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R1216b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (
        R1214b.all.data.chr (1 .. length_1)'address, R1218b.all.data.
        chr (1 .. length_2)'address, R1214b.all.data.chr (1 .. length_1)'
        length, R1218b.all.data.chr (1 .. length_2)'length) >= 0;

-- 1025:    end ">=";
   end jwa__strings__Oge;

-- 1026:
-- 1027:    ----------------------------------
-- 1028:    -- ">=" ( : String_8, : String) --
-- 1029:    ----------------------------------

-- 1030:

-- 1031:    function ">=" (Left : String_8; Right : String) return Boolean is
   function jwa__strings__Oge (left : jwa__strings__string_8; right :
     string) return boolean is
      subtype jwa__strings__Oge__S1223b__2 is string (right'first(1) ..
        right'last(1));
      C1224b : natural;

-- 1032:       Length_1 : constant Natural := Left.Length;
      B1226b : declare
         L1225b : label
      begin
         if left.ptr = null then
            C1224b := 0;
            goto L1225b;
         else
            R1228b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1228b = null
              "access check failed"]
            subtype jwa__strings__Oge__B1226b__S1227b__2 is
              jwa__strings__string_8_data (R1228b.all.capacity);
            R1230b : jwa__strings__string_8_internal_ptr renames left.
              ptr;
            [constraint_error when
              R1230b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1230b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1224b := R1230b.all.data.length;
            goto L1225b;
         end if;
         <<L1225b>>
      end B1226b;
      length_1 : constant natural := C1224b;
      length_2 : constant natural := natural(right'length);
   begin

-- 1033:       Length_2 : constant Natural := Right'Length;

-- 1034:    begin

-- 1035:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 1036:          return True;
         return true;

-- 1037:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 1038:          return False;
         return false;

-- 1039:       end if;
      end if;

-- 1040:

-- 1041:       return Left.Ptr.Data.chr (1 .. Length_1) >= Right;
      R1235b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1235b = null
        "access check failed"]
      subtype jwa__strings__Oge__S1234b__2 is
        jwa__strings__string_8_data (R1235b.all.capacity);
      R1237b : jwa__strings__string_8_internal_ptr renames left.ptr;
      [constraint_error when
        R1237b = null
        "access check failed"]
      [constraint_error when
        length_1 >= 1 and then (integer(length_1) > integer(R1235b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (
        R1237b.all.data.chr (1 .. length_1)'address, right'address,
        R1237b.all.data.chr (1 .. length_1)'length, right'length) >=
        0;

-- 1042:    end ">=";
   end jwa__strings__Oge;

-- 1043:
-- 1044:    ----------------------------------
-- 1045:    -- ">=" ( : String, : String_8) --
-- 1046:    ----------------------------------

-- 1047:

-- 1048:    function ">=" (Left : String; Right : String_8) return Boolean is
   function jwa__strings__Oge (left : string; right :
     jwa__strings__string_8) return boolean is
      subtype jwa__strings__Oge__S1240b__3 is string (left'first(1) ..
        left'last(1));
      length_1 : constant natural := natural(left'length);
      C1241b : natural;

-- 1049:       Length_1 : constant Natural := Left'Length;

-- 1050:       Length_2 : constant Natural := Right.Length;
      B1243b : declare
         L1242b : label
      begin
         if right.ptr = null then
            C1241b := 0;
            goto L1242b;
         else
            R1245b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1245b = null
              "access check failed"]
            subtype jwa__strings__Oge__B1243b__S1244b__3 is
              jwa__strings__string_8_data (R1245b.all.capacity);
            R1247b : jwa__strings__string_8_internal_ptr renames right.
              ptr;
            [constraint_error when
              R1247b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1247b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1241b := R1247b.all.data.length;
            goto L1242b;
         end if;
         <<L1242b>>
      end B1243b;
      length_2 : constant natural := C1241b;

-- 1051:    begin
   begin

-- 1052:       if Length_2 <= 0 then
      if length_2 <= 0 then

-- 1053:          return True;
         return true;

-- 1054:       elsif Length_1 <= 0 then
      elsif length_1 <= 0 then

-- 1055:          return False;
         return false;

-- 1056:       end if;
      end if;

-- 1057:

-- 1058:       return Left >= Right.Ptr.Data.chr (1 .. Length_2);
      R1252b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1252b = null
        "access check failed"]
      subtype jwa__strings__Oge__S1251b__3 is
        jwa__strings__string_8_data (R1252b.all.capacity);
      R1254b : jwa__strings__string_8_internal_ptr renames right.ptr;
      [constraint_error when
        R1254b = null
        "access check failed"]
      [constraint_error when
        length_2 >= 1 and then (integer(length_2) > integer(R1252b.all.
          capacity))
        "range check failed"]
      return $system__compare_array_unsigned_8__compare_array_u8 (left'
        address, R1254b.all.data.chr (1 .. length_2)'address, left'
        length, R1254b.all.data.chr (1 .. length_2)'length) >= 0;

-- 1059:    end ">=";
   end jwa__strings__Oge;

-- 1060:
-- 1061:    -------------------------------------------------------
-- 1062:    -- String_8.Index ( : String, , : Character_Mapping) --
-- 1063:    -------------------------------------------------------

-- 1064:

-- 1065:    function Index
   function jwa__strings__index (source : jwa__strings__string_8;
     pattern : string; going : ada__strings__direction :=
     ada__strings__forward; mapping : ada__strings__maps.
     ada__strings__maps__character_mapping := ada__strings__maps.
     ada__strings__maps__identity) return natural is
      subtype jwa__strings__index__S1257b is string (pattern'first(
        1) .. pattern'last(1));
      B_18 : label
   begin

-- 1066:      (Source  : String_8;

-- 1067:       Pattern : String;

-- 1068:       Going   : Direction := Forward;

-- 1069:       Mapping : Maps.Character_Mapping := Maps.Identity) return Natural is

-- 1070:    begin

-- 1071:       if Pattern'Length <= 0 then
      if pattern'length <= 0 then

-- 1072:          raise Ada.Strings.Pattern_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__pattern_error'reference),
           "jwa.strings.adb:1072");

-- 1073:       end if;
      end if;

-- 1074:       if Source.Ptr = null then
      if source.ptr = null then

-- 1075:          return 0;
         return 0;

-- 1076:       end if;
      end if;

-- 1077:       declare
      B_18 : declare
         C1261b : natural;

-- 1078:          Length : Natural := Source.Length;
         B1263b : declare
            L1262b : label
         begin
            if source.ptr = null then
               C1261b := 0;
               goto L1262b;
            else
               R1265b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1265b = null
                 "access check failed"]
               subtype jwa__strings__index__B_18__B1263b__S1264b is
                 jwa__strings__string_8_data (R1265b.all.capacity);
               R1267b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1267b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1267b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1261b := R1267b.all.data.length;
               goto L1262b;
            end if;
            <<L1262b>>
         end B1263b;
         length : natural := C1261b;

-- 1079:          S_Address : Address :=

-- 1080:            Source.Ptr.Data.chr'Address;
         R1269b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1269b = null
           "access check failed"]
         subtype jwa__strings__index__B_18__S1268b is
           jwa__strings__string_8_data (R1269b.all.capacity);
         R1271b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1271b = null
           "access check failed"]
         s_address : system__address := R1271b.all.data.chr'address;
         R1272b : constant natural := length;

-- 1081:          S : constant String (1 .. Length);
         subtype jwa__strings__index__B_18__TsS is string (1 .. R1272b);
         null;
         s : constant string (1 .. R1272b);

-- 1082:          for S'Address use S_Address;
         for s'address use s_address;

-- 1083:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin

-- 1084:       begin

-- 1085:          return Ada.Strings.Fixed.Index

-- 1086:            (Source => S,

-- 1087:             Pattern => Pattern,

-- 1088:             Going => Going,
         [constraint_error when
           not (interfaces__unsigned_32!(going) >=
             interfaces__unsigned_32!(ada__strings__forward) and then
             interfaces__unsigned_32!(going) <= interfaces__unsigned_32!
             (ada__strings__backward))
           "invalid data"]
         R1274b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__index (source => s,
           pattern => pattern, going => going, mapping => mapping);
         [constraint_error when
           not (interfaces__unsigned_32!(R1274b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1274b;
      end B_18;
   end jwa__strings__index;

-- 1089:             Mapping => Mapping);

-- 1090:       end;

-- 1091:    end Index;

-- 1092:
-- 1093:    ----------------------------------------------------------------
-- 1094:    -- String_8.Index ( : String, , : Character_Mapping_Function) --
-- 1095:    ----------------------------------------------------------------

-- 1096:

-- 1097:    function Index
   function jwa__strings__index (source : jwa__strings__string_8;
     pattern : string; going : ada__strings__direction :=
     ada__strings__forward; mapping : ada__strings__maps.
     ada__strings__maps__character_mapping_function) return natural is
      subtype jwa__strings__index__S1275b__2 is string (pattern'first(
        1) .. pattern'last(1));
      B_19 : label
   begin

-- 1098:      (Source  : String_8;

-- 1099:       Pattern : String;

-- 1100:       Going   : Direction := Forward;

-- 1101:       Mapping : Maps.Character_Mapping_Function) return Natural is

-- 1102:    begin

-- 1103:       if Pattern'Length <= 0 then
      if pattern'length <= 0 then

-- 1104:          raise Ada.Strings.Pattern_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__pattern_error'reference),
           "jwa.strings.adb:1104");

-- 1105:       end if;
      end if;

-- 1106:       if Source.Ptr = null then
      if source.ptr = null then

-- 1107:          return 0;
         return 0;

-- 1108:       end if;
      end if;

-- 1109:       declare
      B_19 : declare
         C1279b : natural;

-- 1110:          Length : Natural := Source.Length;
         B1281b : declare
            L1280b : label
         begin
            if source.ptr = null then
               C1279b := 0;
               goto L1280b;
            else
               R1283b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1283b = null
                 "access check failed"]
               subtype jwa__strings__index__B_19__B1281b__S1282b__2 is
                 jwa__strings__string_8_data (R1283b.all.capacity);
               R1285b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1285b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1285b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1279b := R1285b.all.data.length;
               goto L1280b;
            end if;
            <<L1280b>>
         end B1281b;
         length : natural := C1279b;

-- 1111:          S_Address : Address :=

-- 1112:            Source.Ptr.Data.chr'Address;
         R1287b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1287b = null
           "access check failed"]
         subtype jwa__strings__index__B_19__S1286b__2 is
           jwa__strings__string_8_data (R1287b.all.capacity);
         R1289b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1289b = null
           "access check failed"]
         s_address : system__address := R1289b.all.data.chr'address;
         R1290b : constant natural := length;

-- 1113:          S : constant String (1 .. Length);
         subtype jwa__strings__index__B_19__TsS__2 is string (1 ..
           R1290b);
         null;
         s : constant string (1 .. R1290b);

-- 1114:          for S'Address use S_Address;
         for s'address use s_address;

-- 1115:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin

-- 1116:       begin

-- 1117:          return Ada.Strings.Fixed.Index

-- 1118:            (Source => S,

-- 1119:             Pattern => Pattern,

-- 1120:             Going => Going,
         [constraint_error when
           not (interfaces__unsigned_32!(going) >=
             interfaces__unsigned_32!(ada__strings__forward) and then
             interfaces__unsigned_32!(going) <= interfaces__unsigned_32!
             (ada__strings__backward))
           "invalid data"]
         R1292b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__index__2 (source =>
           s, pattern => pattern, going => going, mapping => mapping);
         [constraint_error when
           not (interfaces__unsigned_32!(R1292b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1292b;
      end B_19;
   end jwa__strings__index;

-- 1121:             Mapping => Mapping);

-- 1122:       end;

-- 1123:    end Index;

-- 1124:
-- 1125:    -------------------------------------------
-- 1126:    -- String_8.Index ( : Character_Set, , ) --
-- 1127:    -------------------------------------------

-- 1128:

-- 1129:    function Index
   function jwa__strings__index (source : jwa__strings__string_8; set :
     ada__strings__maps.ada__strings__maps__character_set; test :
     ada__strings__membership := ada__strings__inside; going :
     ada__strings__direction := ada__strings__forward) return natural is
      B_20 : label
   begin

-- 1130:      (Source : String_8;

-- 1131:       Set    : Maps.Character_Set;

-- 1132:       Test   : Membership := Inside;

-- 1133:       Going  : Direction  := Forward) return Natural is

-- 1134:    begin

-- 1135:       if Source.Ptr = null then
      if source.ptr = null then

-- 1136:          return 0;
         return 0;

-- 1137:       end if;
      end if;

-- 1138:       declare
      B_20 : declare
         C1294b : natural;

-- 1139:          Length : Natural := Source.Length;
         B1296b : declare
            L1295b : label
         begin
            if source.ptr = null then
               C1294b := 0;
               goto L1295b;
            else
               R1298b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1298b = null
                 "access check failed"]
               subtype jwa__strings__index__B_20__B1296b__S1297b__3 is
                 jwa__strings__string_8_data (R1298b.all.capacity);
               R1300b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1300b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1300b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1294b := R1300b.all.data.length;
               goto L1295b;
            end if;
            <<L1295b>>
         end B1296b;
         length : natural := C1294b;

-- 1140:          S_Address : Address :=

-- 1141:            Source.Ptr.Data.chr'Address;
         R1302b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1302b = null
           "access check failed"]
         subtype jwa__strings__index__B_20__S1301b__3 is
           jwa__strings__string_8_data (R1302b.all.capacity);
         R1304b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1304b = null
           "access check failed"]
         s_address : system__address := R1304b.all.data.chr'address;
         R1305b : constant natural := length;

-- 1142:          S : constant String (1 .. Length);
         subtype jwa__strings__index__B_20__TsS__3 is string (1 ..
           R1305b);
         null;
         s : constant string (1 .. R1305b);

-- 1143:          for S'Address use S_Address;
         for s'address use s_address;

-- 1144:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin

-- 1145:       begin

-- 1146:          return Ada.Strings.Fixed.Index

-- 1147:            (Source => S,

-- 1148:             Set => Set,

-- 1149:             Test => Test,
         [constraint_error when
           not (interfaces__unsigned_32!(test) >=
             interfaces__unsigned_32!(ada__strings__inside) and then
             interfaces__unsigned_32!(test) <= interfaces__unsigned_32!
             (ada__strings__outside))
           "invalid data"]

-- 1150:             Going => Going);
         [constraint_error when
           not (interfaces__unsigned_32!(going) >=
             interfaces__unsigned_32!(ada__strings__forward) and then
             interfaces__unsigned_32!(going) <= interfaces__unsigned_32!
             (ada__strings__backward))
           "invalid data"]
         R1307b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__index__3 (source =>
           s, set => set, test => test, going => going);
         [constraint_error when
           not (interfaces__unsigned_32!(R1307b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1307b;

-- 1151:       end;
      end B_20;

-- 1152:    end Index;
   end jwa__strings__index;

-- 1153:
-- 1154:    -------------------------------------------------------------
-- 1155:    -- String_8.Index ( : String, From, , : Character_Mapping) --
-- 1156:    -------------------------------------------------------------

-- 1157:

-- 1158:    function Index
   function jwa__strings__index (source : jwa__strings__string_8;
     pattern : string; from : positive; going : ada__strings__direction :=
     ada__strings__forward; mapping : ada__strings__maps.
     ada__strings__maps__character_mapping := ada__strings__maps.
     ada__strings__maps__identity) return natural is
      subtype jwa__strings__index__S1308b__4 is string (pattern'first(
        1) .. pattern'last(1));
      B_21 : label
   begin

-- 1159:      (Source  : String_8;

-- 1160:       Pattern : String;

-- 1161:       From    : Positive;

-- 1162:       Going   : Direction := Forward;

-- 1163:       Mapping : Maps.Character_Mapping := Maps.Identity) return Natural is

-- 1164:    begin

-- 1165:       if Pattern'Length <= 0 then
      if pattern'length <= 0 then

-- 1166:          raise Ada.Strings.Pattern_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__pattern_error'reference),
           "jwa.strings.adb:1166");

-- 1167:       end if;
      end if;

-- 1168:       if Source.Ptr = null then
      if source.ptr = null then

-- 1169:          return 0;
         return 0;

-- 1170:       end if;
      end if;

-- 1171:       declare
      B_21 : declare
         C1312b : natural;

-- 1172:          Length : Natural := Source.Length;
         B1314b : declare
            L1313b : label
         begin
            if source.ptr = null then
               C1312b := 0;
               goto L1313b;
            else
               R1316b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1316b = null
                 "access check failed"]
               subtype jwa__strings__index__B_21__B1314b__S1315b__4 is
                 jwa__strings__string_8_data (R1316b.all.capacity);
               R1318b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1318b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1318b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1312b := R1318b.all.data.length;
               goto L1313b;
            end if;
            <<L1313b>>
         end B1314b;
         length : natural := C1312b;

-- 1173:          S_Address : Address :=

-- 1174:            Source.Ptr.Data.chr'Address;
         R1320b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1320b = null
           "access check failed"]
         subtype jwa__strings__index__B_21__S1319b__4 is
           jwa__strings__string_8_data (R1320b.all.capacity);
         R1322b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1322b = null
           "access check failed"]
         s_address : system__address := R1322b.all.data.chr'address;
         R1323b : constant natural := length;

-- 1175:          S : constant String (1 .. Length);
         subtype jwa__strings__index__B_21__TsS__4 is string (1 ..
           R1323b);
         null;
         s : constant string (1 .. R1323b);

-- 1176:          for S'Address use S_Address;
         for s'address use s_address;

-- 1177:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin

-- 1178:       begin

-- 1179:          return Ada.Strings.Fixed.Index

-- 1180:            (Source => S,

-- 1181:             Pattern => Pattern,

-- 1182:             From => From,
         [constraint_error when
           not (interfaces__unsigned_32!(from) >= 1 and then
             interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
           "invalid data"]

-- 1183:             Going => Going,
         [constraint_error when
           not (interfaces__unsigned_32!(going) >=
             interfaces__unsigned_32!(ada__strings__forward) and then
             interfaces__unsigned_32!(going) <= interfaces__unsigned_32!
             (ada__strings__backward))
           "invalid data"]
         R1325b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__index__4 (source =>
           s, pattern => pattern, from => from, going => going, mapping =>
           mapping);
         [constraint_error when
           not (interfaces__unsigned_32!(R1325b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1325b;
      end B_21;
   end jwa__strings__index;

-- 1184:             Mapping => Mapping);

-- 1185:       end;

-- 1186:    end Index;

-- 1187:
-- 1188:    ----------------------------------------------------------------------
-- 1189:    -- String_8.Index ( : String, From, , : Character_Mapping_Function) --
-- 1190:    ----------------------------------------------------------------------

-- 1191:

-- 1192:    function Index
   function jwa__strings__index (source : jwa__strings__string_8;
     pattern : string; from : positive; going : ada__strings__direction :=
     ada__strings__forward; mapping : ada__strings__maps.
     ada__strings__maps__character_mapping_function) return natural is
      subtype jwa__strings__index__S1326b__5 is string (pattern'first(
        1) .. pattern'last(1));
      B_22 : label
   begin

-- 1193:      (Source  : String_8;

-- 1194:       Pattern : String;

-- 1195:       From    : Positive;

-- 1196:       Going   : Direction := Forward;

-- 1197:       Mapping : Maps.Character_Mapping_Function) return Natural is

-- 1198:    begin

-- 1199:       if Pattern'Length <= 0 then
      if pattern'length <= 0 then

-- 1200:          raise Ada.Strings.Pattern_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__pattern_error'reference),
           "jwa.strings.adb:1200");

-- 1201:       end if;
      end if;

-- 1202:       if Source.Ptr = null then
      if source.ptr = null then

-- 1203:          return 0;
         return 0;

-- 1204:       end if;
      end if;

-- 1205:       declare
      B_22 : declare
         C1330b : natural;

-- 1206:          Length : Natural := Source.Length;
         B1332b : declare
            L1331b : label
         begin
            if source.ptr = null then
               C1330b := 0;
               goto L1331b;
            else
               R1334b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1334b = null
                 "access check failed"]
               subtype jwa__strings__index__B_22__B1332b__S1333b__5 is
                 jwa__strings__string_8_data (R1334b.all.capacity);
               R1336b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1336b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1336b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1330b := R1336b.all.data.length;
               goto L1331b;
            end if;
            <<L1331b>>
         end B1332b;
         length : natural := C1330b;

-- 1207:          S_Address : Address :=

-- 1208:            Source.Ptr.Data.chr'Address;
         R1338b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1338b = null
           "access check failed"]
         subtype jwa__strings__index__B_22__S1337b__5 is
           jwa__strings__string_8_data (R1338b.all.capacity);
         R1340b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1340b = null
           "access check failed"]
         s_address : system__address := R1340b.all.data.chr'address;
         R1341b : constant natural := length;

-- 1209:          S : constant String (1 .. Length);
         subtype jwa__strings__index__B_22__TsS__5 is string (1 ..
           R1341b);
         null;
         s : constant string (1 .. R1341b);

-- 1210:          for S'Address use S_Address;
         for s'address use s_address;

-- 1211:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin

-- 1212:       begin

-- 1213:          return Ada.Strings.Fixed.Index

-- 1214:            (Source => S,

-- 1215:             Pattern => Pattern,

-- 1216:             From => From,
         [constraint_error when
           not (interfaces__unsigned_32!(from) >= 1 and then
             interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
           "invalid data"]

-- 1217:             Going => Going,
         [constraint_error when
           not (interfaces__unsigned_32!(going) >=
             interfaces__unsigned_32!(ada__strings__forward) and then
             interfaces__unsigned_32!(going) <= interfaces__unsigned_32!
             (ada__strings__backward))
           "invalid data"]
         R1343b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__index__5 (source =>
           s, pattern => pattern, from => from, going => going, mapping =>
           mapping);
         [constraint_error when
           not (interfaces__unsigned_32!(R1343b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1343b;
      end B_22;
   end jwa__strings__index;

-- 1218:             Mapping => Mapping);

-- 1219:       end;

-- 1220:    end Index;

-- 1221:
-- 1222:    -------------------------------------------------
-- 1223:    -- String_8.Index ( : Character_Set, From, , ) --
-- 1224:    -------------------------------------------------

-- 1225:

-- 1226:    function Index
   function jwa__strings__index (source : jwa__strings__string_8; set :
     ada__strings__maps.ada__strings__maps__character_set; from :
     positive; test : ada__strings__membership := ada__strings__inside;
     going : ada__strings__direction := ada__strings__forward) return
     natural is
      B_23 : label
   begin

-- 1227:      (Source  : String_8;

-- 1228:       Set     : Maps.Character_Set;

-- 1229:       From    : Positive;

-- 1230:       Test    : Membership := Inside;

-- 1231:       Going   : Direction := Forward) return Natural is

-- 1232:    begin

-- 1233:       if Source.Ptr = null then
      if source.ptr = null then

-- 1234:          return 0;
         return 0;

-- 1235:       end if;
      end if;

-- 1236:       declare
      B_23 : declare
         C1345b : natural;

-- 1237:          Length : Natural := Source.Length;
         B1347b : declare
            L1346b : label
         begin
            if source.ptr = null then
               C1345b := 0;
               goto L1346b;
            else
               R1349b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1349b = null
                 "access check failed"]
               subtype jwa__strings__index__B_23__B1347b__S1348b__6 is
                 jwa__strings__string_8_data (R1349b.all.capacity);
               R1351b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1351b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1351b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1345b := R1351b.all.data.length;
               goto L1346b;
            end if;
            <<L1346b>>
         end B1347b;
         length : natural := C1345b;

-- 1238:          S_Address : Address :=

-- 1239:            Source.Ptr.Data.chr'Address;
         R1353b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1353b = null
           "access check failed"]
         subtype jwa__strings__index__B_23__S1352b__6 is
           jwa__strings__string_8_data (R1353b.all.capacity);
         R1355b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1355b = null
           "access check failed"]
         s_address : system__address := R1355b.all.data.chr'address;
         R1356b : constant natural := length;

-- 1240:          S : constant String (1 .. Length);
         subtype jwa__strings__index__B_23__TsS__6 is string (1 ..
           R1356b);
         null;
         s : constant string (1 .. R1356b);

-- 1241:          for S'Address use S_Address;
         for s'address use s_address;

-- 1242:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin

-- 1243:       begin

-- 1244:          return Ada.Strings.Fixed.Index

-- 1245:            (Source => S,

-- 1246:             Set => Set,

-- 1247:             From => From,
         [constraint_error when
           not (interfaces__unsigned_32!(from) >= 1 and then
             interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
           "invalid data"]

-- 1248:             Test => Test,
         [constraint_error when
           not (interfaces__unsigned_32!(test) >=
             interfaces__unsigned_32!(ada__strings__inside) and then
             interfaces__unsigned_32!(test) <= interfaces__unsigned_32!
             (ada__strings__outside))
           "invalid data"]

-- 1249:             Going => Going);
         [constraint_error when
           not (interfaces__unsigned_32!(going) >=
             interfaces__unsigned_32!(ada__strings__forward) and then
             interfaces__unsigned_32!(going) <= interfaces__unsigned_32!
             (ada__strings__backward))
           "invalid data"]
         R1358b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__index__6 (source =>
           s, set => set, from => from, test => test, going => going);
         [constraint_error when
           not (interfaces__unsigned_32!(R1358b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1358b;

-- 1250:       end;
      end B_23;

-- 1251:    end Index;
   end jwa__strings__index;

-- 1252:
-- 1253:    ----------------------------------
-- 1254:    -- String_8.Index_Non_Blank ( ) --
-- 1255:    ----------------------------------

-- 1256:

-- 1257:    function Index_Non_Blank
   function jwa__strings__index_non_blank (source :
     jwa__strings__string_8; going : ada__strings__direction :=
     ada__strings__forward) return natural is
      B_24 : label
   begin

-- 1258:      (Source : String_8;

-- 1259:       Going  : Direction := Forward) return Natural is

-- 1260:    begin

-- 1261:       if Source.Ptr = null then
      if source.ptr = null then

-- 1262:          return 0;
         return 0;

-- 1263:       end if;
      end if;

-- 1264:       declare
      B_24 : declare
         C1360b : natural;

-- 1265:          Length : Natural := Source.Length;
         B1362b : declare
            L1361b : label
         begin
            if source.ptr = null then
               C1360b := 0;
               goto L1361b;
            else
               R1364b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1364b = null
                 "access check failed"]
               subtype
                 jwa__strings__index_non_blank__B_24__B1362b__S1363b is
                 jwa__strings__string_8_data (R1364b.all.capacity);
               R1366b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1366b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1366b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1360b := R1366b.all.data.length;
               goto L1361b;
            end if;
            <<L1361b>>
         end B1362b;
         length : natural := C1360b;

-- 1266:          S_Address : Address :=

-- 1267:            Source.Ptr.Data.chr'Address;
         R1368b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1368b = null
           "access check failed"]
         subtype jwa__strings__index_non_blank__B_24__S1367b is
           jwa__strings__string_8_data (R1368b.all.capacity);
         R1370b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1370b = null
           "access check failed"]
         s_address : system__address := R1370b.all.data.chr'address;
         R1371b : constant natural := length;

-- 1268:          S : constant String (1 .. Length);
         subtype jwa__strings__index_non_blank__B_24__TsS is string (
           1 .. R1371b);
         null;
         s : constant string (1 .. R1371b);

-- 1269:          for S'Address use S_Address;
         for s'address use s_address;

-- 1270:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin

-- 1271:       begin

-- 1272:          return Ada.Strings.Fixed.Index_Non_Blank

-- 1273:            (Source => S,

-- 1274:             Going => Going);
         [constraint_error when
           not (interfaces__unsigned_32!(going) >=
             interfaces__unsigned_32!(ada__strings__forward) and then
             interfaces__unsigned_32!(going) <= interfaces__unsigned_32!
             (ada__strings__backward))
           "invalid data"]
         R1373b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__index_non_blank (
           source => s, going => going);
         [constraint_error when
           not (interfaces__unsigned_32!(R1373b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1373b;

-- 1275:       end;
      end B_24;

-- 1276:    end Index_Non_Blank;
   end jwa__strings__index_non_blank;

-- 1277:
-- 1278:    ---------------------------------------
-- 1279:    -- String_8.Index_Non_Blank (From, ) --
-- 1280:    ---------------------------------------

-- 1281:

-- 1282:    function Index_Non_Blank
   function jwa__strings__index_non_blank (source :
     jwa__strings__string_8; from : positive; going :
     ada__strings__direction := ada__strings__forward) return natural is
      B_25 : label
   begin

-- 1283:      (Source : String_8;

-- 1284:       From   : Positive;

-- 1285:       Going  : Direction := Forward) return Natural is

-- 1286:    begin

-- 1287:       if Source.Ptr = null then
      if source.ptr = null then

-- 1288:          return 0;
         return 0;

-- 1289:       end if;
      end if;

-- 1290:       declare
      B_25 : declare
         C1375b : natural;

-- 1291:          Length : Natural := Source.Length;
         B1377b : declare
            L1376b : label
         begin
            if source.ptr = null then
               C1375b := 0;
               goto L1376b;
            else
               R1379b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1379b = null
                 "access check failed"]
               subtype
                 jwa__strings__index_non_blank__B_25__B1377b__S1378b__2 is
                 jwa__strings__string_8_data (R1379b.all.capacity);
               R1381b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1381b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1381b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1375b := R1381b.all.data.length;
               goto L1376b;
            end if;
            <<L1376b>>
         end B1377b;
         length : natural := C1375b;

-- 1292:          S_Address : Address :=

-- 1293:            Source.Ptr.Data.chr'Address;
         R1383b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1383b = null
           "access check failed"]
         subtype jwa__strings__index_non_blank__B_25__S1382b__2 is
           jwa__strings__string_8_data (R1383b.all.capacity);
         R1385b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1385b = null
           "access check failed"]
         s_address : system__address := R1385b.all.data.chr'address;
         R1386b : constant natural := length;

-- 1294:          S : constant String (1 .. Length);
         subtype jwa__strings__index_non_blank__B_25__TsS__2 is string
           (1 .. R1386b);
         null;
         s : constant string (1 .. R1386b);

-- 1295:          for S'Address use S_Address;
         for s'address use s_address;

-- 1296:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin

-- 1297:       begin

-- 1298:          return Ada.Strings.Fixed.Index_Non_Blank

-- 1299:            (Source => S,

-- 1300:             From => From,
         [constraint_error when
           not (interfaces__unsigned_32!(from) >= 1 and then
             interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
           "invalid data"]

-- 1301:             Going => Going);
         [constraint_error when
           not (interfaces__unsigned_32!(going) >=
             interfaces__unsigned_32!(ada__strings__forward) and then
             interfaces__unsigned_32!(going) <= interfaces__unsigned_32!
             (ada__strings__backward))
           "invalid data"]
         R1388b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__index_non_blank__2
           (source => s, from => from, going => going);
         [constraint_error when
           not (interfaces__unsigned_32!(R1388b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1388b;

-- 1302:       end;
      end B_25;

-- 1303:    end Index_Non_Blank;
   end jwa__strings__index_non_blank;

-- 1304:
-- 1305:    -----------------------------------------------------
-- 1306:    -- String_8.Count ( : String, : Character_Mapping) --
-- 1307:    -----------------------------------------------------

-- 1308:

-- 1309:    function Count
   function jwa__strings__count (source : jwa__strings__string_8;
     pattern : string; mapping : ada__strings__maps.
     ada__strings__maps__character_mapping := ada__strings__maps.
     ada__strings__maps__identity) return natural is
      subtype jwa__strings__count__S1389b is string (pattern'first(
        1) .. pattern'last(1));
      B_26 : label
   begin

-- 1310:      (Source  : String_8;

-- 1311:       Pattern : String;

-- 1312:       Mapping : Maps.Character_Mapping := Maps.Identity) return Natural is

-- 1313:    begin

-- 1314:       if Pattern'Length <= 0 then
      if pattern'length <= 0 then

-- 1315:          raise Ada.Strings.Pattern_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__pattern_error'reference),
           "jwa.strings.adb:1315");

-- 1316:       end if;
      end if;

-- 1317:       if Source.Ptr = null then
      if source.ptr = null then

-- 1318:          return 0;
         return 0;

-- 1319:       end if;
      end if;

-- 1320:       declare
      B_26 : declare
         C1393b : natural;

-- 1321:          Length : Natural := Source.Length;
         B1395b : declare
            L1394b : label
         begin
            if source.ptr = null then
               C1393b := 0;
               goto L1394b;
            else
               R1397b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1397b = null
                 "access check failed"]
               subtype jwa__strings__count__B_26__B1395b__S1396b is
                 jwa__strings__string_8_data (R1397b.all.capacity);
               R1399b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1399b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1399b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1393b := R1399b.all.data.length;
               goto L1394b;
            end if;
            <<L1394b>>
         end B1395b;
         length : natural := C1393b;

-- 1322:          S_Address : Address :=

-- 1323:            Source.Ptr.Data.chr'Address;
         R1401b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1401b = null
           "access check failed"]
         subtype jwa__strings__count__B_26__S1400b is
           jwa__strings__string_8_data (R1401b.all.capacity);
         R1403b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1403b = null
           "access check failed"]
         s_address : system__address := R1403b.all.data.chr'address;
         R1404b : constant natural := length;

-- 1324:          S : constant String (1 .. Length);
         subtype jwa__strings__count__B_26__TsS is string (1 .. R1404b);
         null;
         s : constant string (1 .. R1404b);

-- 1325:          for S'Address use S_Address;
         for s'address use s_address;

-- 1326:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin
         R1406b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__count (source => s,
           pattern => pattern, mapping => mapping);

-- 1327:       begin

-- 1328:          return Ada.Strings.Fixed.Count
         [constraint_error when
           not (interfaces__unsigned_32!(R1406b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1406b;
      end B_26;
   end jwa__strings__count;

-- 1329:            (Source => S,

-- 1330:             Pattern => Pattern,

-- 1331:             Mapping => Mapping);

-- 1332:       end;

-- 1333:    end Count;

-- 1334:
-- 1335:    --------------------------------------------------------------
-- 1336:    -- String_8.Count ( : String, : Character_Mapping_Function) --
-- 1337:    --------------------------------------------------------------

-- 1338:

-- 1339:    function Count
   function jwa__strings__count (source : jwa__strings__string_8;
     pattern : string; mapping : ada__strings__maps.
     ada__strings__maps__character_mapping_function) return natural is
      subtype jwa__strings__count__S1407b__2 is string (pattern'first(
        1) .. pattern'last(1));
      B_27 : label
   begin

-- 1340:      (Source  : String_8;

-- 1341:       Pattern : String;

-- 1342:       Mapping : Maps.Character_Mapping_Function) return Natural is

-- 1343:    begin

-- 1344:       if Pattern'Length <= 0 then
      if pattern'length <= 0 then

-- 1345:          raise Ada.Strings.Pattern_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__pattern_error'reference),
           "jwa.strings.adb:1345");

-- 1346:       end if;
      end if;

-- 1347:       if Source.Ptr = null then
      if source.ptr = null then

-- 1348:          return 0;
         return 0;

-- 1349:       end if;
      end if;

-- 1350:       declare
      B_27 : declare
         C1411b : natural;

-- 1351:          Length : Natural := Source.Length;
         B1413b : declare
            L1412b : label
         begin
            if source.ptr = null then
               C1411b := 0;
               goto L1412b;
            else
               R1415b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1415b = null
                 "access check failed"]
               subtype jwa__strings__count__B_27__B1413b__S1414b__2 is
                 jwa__strings__string_8_data (R1415b.all.capacity);
               R1417b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1417b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1417b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1411b := R1417b.all.data.length;
               goto L1412b;
            end if;
            <<L1412b>>
         end B1413b;
         length : natural := C1411b;

-- 1352:          S_Address : Address :=

-- 1353:            Source.Ptr.Data.chr'Address;
         R1419b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1419b = null
           "access check failed"]
         subtype jwa__strings__count__B_27__S1418b__2 is
           jwa__strings__string_8_data (R1419b.all.capacity);
         R1421b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1421b = null
           "access check failed"]
         s_address : system__address := R1421b.all.data.chr'address;
         R1422b : constant natural := length;

-- 1354:          S : constant String (1 .. Length);
         subtype jwa__strings__count__B_27__TsS__2 is string (1 ..
           R1422b);
         null;
         s : constant string (1 .. R1422b);

-- 1355:          for S'Address use S_Address;
         for s'address use s_address;

-- 1356:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin
         R1424b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__count__2 (source =>
           s, pattern => pattern, mapping => mapping);

-- 1357:       begin

-- 1358:          return Ada.Strings.Fixed.Count
         [constraint_error when
           not (interfaces__unsigned_32!(R1424b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1424b;
      end B_27;
   end jwa__strings__count;

-- 1359:            (Source => S,

-- 1360:             Pattern => Pattern,

-- 1361:             Mapping => Mapping);

-- 1362:       end;

-- 1363:    end Count;

-- 1364:
-- 1365:    ---------------------------------------
-- 1366:    -- String_8.Count ( : Character_Set) --
-- 1367:    ---------------------------------------

-- 1368:

-- 1369:    function Count
   function jwa__strings__count (source : jwa__strings__string_8; set :
     ada__strings__maps.ada__strings__maps__character_set) return
     natural is
      B_28 : label
   begin

-- 1370:      (Source : String_8;

-- 1371:       Set    : Maps.Character_Set) return Natural is

-- 1372:    begin

-- 1373:       if Source.Ptr = null then
      if source.ptr = null then

-- 1374:          return 0;
         return 0;

-- 1375:       end if;
      end if;

-- 1376:       declare
      B_28 : declare
         C1426b : natural;

-- 1377:          Length : Natural := Source.Length;
         B1428b : declare
            L1427b : label
         begin
            if source.ptr = null then
               C1426b := 0;
               goto L1427b;
            else
               R1430b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1430b = null
                 "access check failed"]
               subtype jwa__strings__count__B_28__B1428b__S1429b__3 is
                 jwa__strings__string_8_data (R1430b.all.capacity);
               R1432b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1432b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1432b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1426b := R1432b.all.data.length;
               goto L1427b;
            end if;
            <<L1427b>>
         end B1428b;
         length : natural := C1426b;

-- 1378:          S_Address : Address :=

-- 1379:            Source.Ptr.Data.chr'Address;
         R1434b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1434b = null
           "access check failed"]
         subtype jwa__strings__count__B_28__S1433b__3 is
           jwa__strings__string_8_data (R1434b.all.capacity);
         R1436b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1436b = null
           "access check failed"]
         s_address : system__address := R1436b.all.data.chr'address;
         R1437b : constant natural := length;

-- 1380:          S : constant String (1 .. Length);
         subtype jwa__strings__count__B_28__TsS__3 is string (1 ..
           R1437b);
         null;
         s : constant string (1 .. R1437b);

-- 1381:          for S'Address use S_Address;
         for s'address use s_address;

-- 1382:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin
         R1439b : constant natural := ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__count__3 (source =>
           s, set => set);

-- 1383:       begin

-- 1384:          return Ada.Strings.Fixed.Count
         [constraint_error when
           not (interfaces__unsigned_32!(R1439b) <= 16#7FFF_FFFF#)
           "invalid data"]
         return R1439b;
      end B_28;
   end jwa__strings__count;

-- 1385:            (Source => S,

-- 1386:             Set => Set);

-- 1387:       end;

-- 1388:    end Count;

-- 1389:
-- 1390:    -------------------------
-- 1391:    -- String_8.Find_Token --
-- 1392:    -------------------------

-- 1393:

-- 1394:    procedure Find_Token
   procedure jwa__strings__find_token (source : jwa__strings__string_8;
     set : ada__strings__maps.ada__strings__maps__character_set; test :
     ada__strings__membership; first : out positive; last : out natural) is
      B_29 : label
   begin

-- 1395:      (Source : String_8;

-- 1396:       Set    : Maps.Character_Set;

-- 1397:       Test   : Membership;

-- 1398:       First  : out Positive;

-- 1399:       Last   : out Natural) is

-- 1400:    begin

-- 1401:       if Source.Ptr = null then
      if source.ptr = null then

-- 1402:          First := 1;
         first := 1;

-- 1403:          Last := 0;
         last := 0;

-- 1404:          return;
         return;

-- 1405:       end if;
      end if;

-- 1406:       declare
      B_29 : declare
         C1441b : natural;

-- 1407:          Length : Natural := Source.Length;
         B1443b : declare
            L1442b : label
         begin
            if source.ptr = null then
               C1441b := 0;
               goto L1442b;
            else
               R1445b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1445b = null
                 "access check failed"]
               subtype jwa__strings__find_token__B_29__B1443b__S1444b is
                 jwa__strings__string_8_data (R1445b.all.capacity);
               R1447b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1447b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1447b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1441b := R1447b.all.data.length;
               goto L1442b;
            end if;
            <<L1442b>>
         end B1443b;
         length : natural := C1441b;

-- 1408:          S_Address : Address :=

-- 1409:            Source.Ptr.Data.chr'Address;
         R1449b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1449b = null
           "access check failed"]
         subtype jwa__strings__find_token__B_29__S1448b is
           jwa__strings__string_8_data (R1449b.all.capacity);
         R1451b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1451b = null
           "access check failed"]
         s_address : system__address := R1451b.all.data.chr'address;
         R1452b : constant natural := length;

-- 1410:          S : constant String (1 .. Length);
         subtype jwa__strings__find_token__B_29__TsS is string (1 ..
           R1452b);
         null;
         s : constant string (1 .. R1452b);

-- 1411:          for S'Address use S_Address;
         for s'address use s_address;

-- 1412:          pragma Import(Ada, S);
         pragma import (ada, s);
         freeze s []
         [program_error when
           system__storage_elements__integer_address!(s_address) rem s'
             alignment /= 0
           "misaligned address value"]
      begin

-- 1413:       begin

-- 1414:          Ada.Strings.Fixed.Find_Token

-- 1415:            (Source => S,

-- 1416:             Set => Set,

-- 1417:             Test => Test,
         [constraint_error when
           not (interfaces__unsigned_32!(test) >=
             interfaces__unsigned_32!(ada__strings__inside) and then
             interfaces__unsigned_32!(test) <= interfaces__unsigned_32!
             (ada__strings__outside))
           "invalid data"]
         ada.ada__strings.ada__strings__fixed.
           ada__strings__fixed__find_token (source => s, set => set,
           test => test, first => first, last => last);
      end B_29;

-- 1418:             First => First,

-- 1419:             Last => Last);

-- 1420:       end;

-- 1421:    end Find_Token;
      return;
   end jwa__strings__find_token;

-- 1422:
-- 1423:    -----------------------------------------------
-- 1424:    -- String_8.Translate ( : Character_Mapping) --
-- 1425:    -----------------------------------------------

-- 1426:

-- 1427:    function Translate
   function jwa__strings__translate (source : jwa__strings__string_8;
     mapping : ada__strings__maps.ada__strings__maps__character_mapping)
     return jwa__strings__string_8 is
      B_30 : label
   begin

-- 1428:      (Source  : String_8;

-- 1429:       Mapping : Maps.Character_Mapping) return String_8 is

-- 1430:    begin

-- 1431:       if Source.Ptr = null then
      if source.ptr = null then

-- 1432:          return Null_String_8;
         type jwa__strings__translate__A1455b is access
           jwa__strings__string_8;
         freeze jwa__strings__translate__A1455b []
         P1457b : constant jwa__strings__translate__A1455b := new
           jwa__strings__string_8'(jwa__strings__null_string_8)
           [storage_pool = system__secondary_stack__ss_pool];
         P1457b.all._tag := jwa__strings__string_8P;
         F1458b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P1457b.all);
         $system__finalization_implementation__attach_to_final_list (
           F1458b, system__finalization_root__finalizable?(P1457b.all),
           1);
         R1454b : jwa__strings__translate__A1455b := P1457b;
         return R1454b.all;

-- 1433:       end if;
      end if;

-- 1434:       return Result : String_8 do
      R1459b : declare
         F1460b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__translate__R1459b___clean is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F1460b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__translate__R1459b___clean;
      begin
         result : jwa__strings__string_8;
         jwa__strings__string_8IP (result, P20s => true);
         B1461b : begin
            system__soft_links__abort_defer.all;
            $ada__finalization__initialize (result);
            $system__finalization_implementation__attach_to_final_list
              (F1460b, system__finalization_root__finalizable?(result),
              1);
         at end
            system__standard_library__abort_undefer_direct;
         end B1461b;
         B1493b : declare
         begin
            C1462b : natural;

-- 1435:          Result.Make_Buffer (Source.Length);
            B1464b : declare
               L1463b : label
            begin
               if source.ptr = null then
                  C1462b := 0;
                  goto L1463b;
               else
                  R1466b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1466b = null
                    "access check failed"]
                  subtype
                    jwa__strings__translate__R1459b__B1464b__S1465b is
                    jwa__strings__string_8_data (R1466b.all.capacity);
                  R1468b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1468b = null
                    "access check failed"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(R1468b.all.data.
                      length) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C1462b := R1468b.all.data.length;
                  goto L1463b;
               end if;
               <<L1463b>>
            end B1464b;
            jwa__strings__make_buffer (result, C1462b);

-- 1436:          declare
            B_30 : declare
               C1469b : natural;

-- 1437:             Length : constant Natural := Source.Length;
               B1471b : declare
                  L1470b : label
               begin
                  if source.ptr = null then
                     C1469b := 0;
                     goto L1470b;
                  else
                     R1473b : jwa__strings__string_8_internal_ptr
                       renames source.ptr;
                     [constraint_error when
                       R1473b = null
                       "access check failed"]
                     subtype
                       jwa__strings__translate__B_30__B1471b__S1472b is
                       jwa__strings__string_8_data (R1473b.all.capacity);
                     R1475b : jwa__strings__string_8_internal_ptr
                       renames source.ptr;
                     [constraint_error when
                       R1475b = null
                       "access check failed"]
                     [constraint_error when
                       not (interfaces__unsigned_32!(R1475b.all.data.
                         length) <= 16#7FFF_FFFF#)
                       "invalid data"]
                     C1469b := R1475b.all.data.length;
                     goto L1470b;
                  end if;
                  <<L1470b>>
               end B1471b;
               length : constant natural := C1469b;

-- 1438:             Source_Data : String_8_Data renames

-- 1439:               Source.Ptr.Data;
               R1477b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1477b = null
                 "access check failed"]
               subtype jwa__strings__translate__B_30__S1476b is
                 jwa__strings__string_8_data (R1477b.all.capacity);
               R1479b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1479b = null
                 "access check failed"]
               source_data___XR_R1479b___XEXAXRdata : _renaming_type;
               source_data : jwa__strings__string_8_data renames R1479b.all.
                 data;

-- 1440:             Result_Data : String_8_Data renames

-- 1441:               Result.Ptr.Data;
               R1481b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R1481b = null
                 "access check failed"]
               R1482b : constant natural := R1481b.all.capacity;
               subtype jwa__strings__translate__B_30__S1480b is
                 jwa__strings__string_8_data (R1482b);
               R1484b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R1484b = null
                 "access check failed"]
               R1485b : constant jwa__strings__string_8_internal_ptr :=
                 R1484b;
               result_data___XR_R1485b___XEXAXRdata : _renaming_type;
               result_data : jwa__strings__string_8_data renames R1485b.all.
                 data;
               L_31 : label
            begin

-- 1442:          begin

-- 1443:             for i in 1 .. Length loop
               L_31 : for i in 1 .. length loop
                  [constraint_error when
                    R1479b = null
                    "access check failed"]
                  [constraint_error when
                    R1485b = null
                    "access check failed"]

-- 1444:                Result_Data.chr (i) :=
                  [subtype T1483b is string (1 .. R1482b)]
                  R1487b : T1483b renames R1485b.all.data.chr;
                  [constraint_error when
                    not (integer(i) <= R1485b.all.data.chr'last)
                    "index check failed"]

-- 1445:                  Maps.Value (Mapping, Source_Data.chr (i));
                  [subtype T1478b is string (1 .. R1477b.all.capacity)]
                  R1488b : T1478b renames R1479b.all.data.chr;
                  [constraint_error when
                    not (integer(i) <= R1479b.all.data.chr'last)
                    "index check failed"]
                  [constraint_error when
                    not (integer(i) <= R1479b.all.data.chr'last)
                    "index check failed"]
                  C1489b : constant character := R1479b.all.data.chr (i);
                  null;
                  R1485b.all.data.chr (i) := mapping (C1489b);

-- 1446:             end loop;
               end loop L_31;

-- 1447:          end;
            end B_30;

-- 1448:       end return;
         end B1493b;
         type jwa__strings__translate__R1459b__A1496b is access
           jwa__strings__string_8;
         freeze jwa__strings__translate__R1459b__A1496b []
         P1498b : constant jwa__strings__translate__R1459b__A1496b :=
           new jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P1498b.all._tag := jwa__strings__string_8P;
         F1499b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P1498b.all);
         $system__finalization_implementation__attach_to_final_list (
           F1499b, system__finalization_root__finalizable?(P1498b.all),
           1);
         R1495b : jwa__strings__translate__R1459b__A1496b := P1498b;
         return R1495b.all;
      at end
         jwa__strings__translate__R1459b___clean;

-- 1449:    end Translate;
      end R1459b;
   end jwa__strings__translate;

-- 1450:
-- 1451:    -----------------------------------------------
-- 1452:    -- Source_8.Translate ( : Character_Mapping) --
-- 1453:    -----------------------------------------------

-- 1454:

-- 1455:    procedure Translate
   procedure jwa__strings__translate (source : in out
     jwa__strings__string_8; mapping : ada__strings__maps.
     ada__strings__maps__character_mapping) is
      B_32 : label
   begin

-- 1456:      (Source  : in out String_8;

-- 1457:       Mapping : Maps.Character_Mapping) is

-- 1458:    begin

-- 1459:       if Source.Ptr = null then
      if source.ptr = null then

-- 1460:          return;
         return;

-- 1461:       end if;
      end if;

-- 1462:

-- 1463:       Source.Unique;
      jwa__strings__unique (source);

-- 1464:       declare
      B_32 : declare
         C1501b : natural;

-- 1465:          Length : constant Natural := Source.Length;
         B1503b : declare
            L1502b : label
         begin
            if source.ptr = null then
               C1501b := 0;
               goto L1502b;
            else
               R1505b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1505b = null
                 "access check failed"]
               R1506b : constant natural := R1505b.all.capacity;
               subtype jwa__strings__translate__B_32__B1503b__S1504b__2 is
                 jwa__strings__string_8_data (R1506b);
               R1508b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1508b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1508b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1501b := R1508b.all.data.length;
               goto L1502b;
            end if;
            <<L1502b>>
         end B1503b;
         length : constant natural := C1501b;

-- 1466:          Source_Data : String_8_Data renames

-- 1467:            Source.Ptr.Data;
         R1510b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1510b = null
           "access check failed"]
         R1511b : constant natural := R1510b.all.capacity;
         subtype jwa__strings__translate__B_32__S1509b__2 is
           jwa__strings__string_8_data (R1511b);
         R1513b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1513b = null
           "access check failed"]
         R1514b : constant jwa__strings__string_8_internal_ptr :=
           R1513b;
         source_data___XR_R1514b___XEXAXRdata : _renaming_type;
         source_data : jwa__strings__string_8_data renames R1514b.all.
           data;
         L_33 : label
      begin

-- 1468:       begin

-- 1469:          for i in 1 .. Length loop
         L_33 : for i in 1 .. length loop
            [constraint_error when
              R1514b = null
              "access check failed"]

-- 1470:             Source_Data.chr (i) := Maps.Value
            [subtype T1512b is string (1 .. R1511b)]
            R1516b : T1512b renames R1514b.all.data.chr;
            [constraint_error when
              not (integer(i) <= R1514b.all.data.chr'last)
              "index check failed"]

-- 1471:               (Mapping, Source_Data.chr (i));
            R1517b : T1512b renames R1514b.all.data.chr;
            [constraint_error when
              not (integer(i) <= R1514b.all.data.chr'last)
              "index check failed"]
            [constraint_error when
              not (integer(i) <= R1514b.all.data.chr'last)
              "index check failed"]
            C1518b : constant character := R1514b.all.data.chr (i);
            null;
            R1514b.all.data.chr (i) := mapping (C1518b);

-- 1472:          end loop;
         end loop L_33;

-- 1473:       end;
      end B_32;

-- 1474:    end Translate;
      return;
   end jwa__strings__translate;

-- 1475:
-- 1476:    --------------------------------------------------------
-- 1477:    -- String_8.Translate ( : Character_Mapping_Function) --
-- 1478:    --------------------------------------------------------

-- 1479:

-- 1480:    function Translate
   function jwa__strings__translate (source : jwa__strings__string_8;
     mapping : ada__strings__maps.
     ada__strings__maps__character_mapping_function) return
     jwa__strings__string_8 is
      B_34 : label
   begin

-- 1481:      (Source  : String_8;

-- 1482:       Mapping : Maps.Character_Mapping_Function) return String_8 is

-- 1483:    begin

-- 1484:       if Source.Ptr = null then
      if source.ptr = null then

-- 1485:          return Null_String_8;
         type jwa__strings__translate__A1524b__3 is access
           jwa__strings__string_8;
         freeze jwa__strings__translate__A1524b__3 []
         P1526b : constant jwa__strings__translate__A1524b__3 := new
           jwa__strings__string_8'(jwa__strings__null_string_8)
           [storage_pool = system__secondary_stack__ss_pool];
         P1526b.all._tag := jwa__strings__string_8P;
         F1527b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P1526b.all);
         $system__finalization_implementation__attach_to_final_list (
           F1527b, system__finalization_root__finalizable?(P1526b.all),
           1);
         R1523b : jwa__strings__translate__A1524b__3 := P1526b;
         return R1523b.all;

-- 1486:       end if;
      end if;

-- 1487:       return Result : String_8 do
      R1528b : declare
         F1529b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__translate__R1528b___clean__3 is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F1529b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__translate__R1528b___clean__3;
      begin
         result : jwa__strings__string_8;
         jwa__strings__string_8IP (result, P20s => true);
         B1530b : begin
            system__soft_links__abort_defer.all;
            $ada__finalization__initialize (result);
            $system__finalization_implementation__attach_to_final_list
              (F1529b, system__finalization_root__finalizable?(result),
              1);
         at end
            system__standard_library__abort_undefer_direct;
         end B1530b;
         B1558b : declare
         begin
            C1531b : natural;

-- 1488:          Result.Make_Buffer (Source.Length);
            B1533b : declare
               L1532b : label
            begin
               if source.ptr = null then
                  C1531b := 0;
                  goto L1532b;
               else
                  R1535b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1535b = null
                    "access check failed"]
                  subtype
                    jwa__strings__translate__R1528b__B1533b__S1534b__3 is
                    jwa__strings__string_8_data (R1535b.all.capacity);
                  R1537b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1537b = null
                    "access check failed"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(R1537b.all.data.
                      length) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C1531b := R1537b.all.data.length;
                  goto L1532b;
               end if;
               <<L1532b>>
            end B1533b;
            jwa__strings__make_buffer (result, C1531b);

-- 1489:          declare
            B_34 : declare
               C1538b : natural;

-- 1490:             Length : constant Natural := Source.Length;
               B1540b : declare
                  L1539b : label
               begin
                  if source.ptr = null then
                     C1538b := 0;
                     goto L1539b;
                  else
                     R1542b : jwa__strings__string_8_internal_ptr
                       renames source.ptr;
                     [constraint_error when
                       R1542b = null
                       "access check failed"]
                     subtype
                       jwa__strings__translate__B_34__B1540b__S1541b__3 is
                       jwa__strings__string_8_data (R1542b.all.capacity);
                     R1544b : jwa__strings__string_8_internal_ptr
                       renames source.ptr;
                     [constraint_error when
                       R1544b = null
                       "access check failed"]
                     [constraint_error when
                       not (interfaces__unsigned_32!(R1544b.all.data.
                         length) <= 16#7FFF_FFFF#)
                       "invalid data"]
                     C1538b := R1544b.all.data.length;
                     goto L1539b;
                  end if;
                  <<L1539b>>
               end B1540b;
               length : constant natural := C1538b;

-- 1491:             Source_Data : String_8_Data renames

-- 1492:               Source.Ptr.Data;
               R1546b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1546b = null
                 "access check failed"]
               subtype jwa__strings__translate__B_34__S1545b__3 is
                 jwa__strings__string_8_data (R1546b.all.capacity);
               R1548b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1548b = null
                 "access check failed"]
               source_data___XR_R1548b___XEXAXRdata : _renaming_type;
               source_data : jwa__strings__string_8_data renames R1548b.all.
                 data;

-- 1493:             Result_Data : String_8_Data renames

-- 1494:               Result.Ptr.Data;
               R1550b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R1550b = null
                 "access check failed"]
               R1551b : constant natural := R1550b.all.capacity;
               subtype jwa__strings__translate__B_34__S1549b__3 is
                 jwa__strings__string_8_data (R1551b);
               R1553b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R1553b = null
                 "access check failed"]
               R1554b : constant jwa__strings__string_8_internal_ptr :=
                 R1553b;
               result_data___XR_R1554b___XEXAXRdata : _renaming_type;
               result_data : jwa__strings__string_8_data renames R1554b.all.
                 data;
               L_35 : label
            begin

-- 1495:          begin

-- 1496:             for i in 1 .. Length loop
               L_35 : for i in 1 .. length loop
                  [constraint_error when
                    R1548b = null
                    "access check failed"]
                  [constraint_error when
                    R1554b = null
                    "access check failed"]

-- 1497:                Result_Data.chr (i) :=
                  [subtype T1552b is string (1 .. R1551b)]
                  R1556b : T1552b renames R1554b.all.data.chr;
                  [constraint_error when
                    not (integer(i) <= R1554b.all.data.chr'last)
                    "index check failed"]

-- 1498:                  Mapping (Source_Data.chr (i));
                  [constraint_error when
                    mapping = null
                    "access check failed"]
                  [subtype T1547b is string (1 .. R1546b.all.capacity)]
                  R1557b : T1547b renames R1548b.all.data.chr;
                  [constraint_error when
                    not (integer(i) <= R1548b.all.data.chr'last)
                    "index check failed"]
                  R1554b.all.data.chr (i) := mapping.all (R1548b.all.
                    data.chr (i));

-- 1499:             end loop;
               end loop L_35;

-- 1500:          end;
            end B_34;

-- 1501:       end return;
         end B1558b;
         type jwa__strings__translate__R1528b__A1561b__3 is access
           jwa__strings__string_8;
         freeze jwa__strings__translate__R1528b__A1561b__3 []
         P1563b : constant jwa__strings__translate__R1528b__A1561b__3 :=
           new jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P1563b.all._tag := jwa__strings__string_8P;
         F1564b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P1563b.all);
         $system__finalization_implementation__attach_to_final_list (
           F1564b, system__finalization_root__finalizable?(P1563b.all),
           1);
         R1560b : jwa__strings__translate__R1528b__A1561b__3 := P1563b;
         return R1560b.all;
      at end
         jwa__strings__translate__R1528b___clean__3;

-- 1502:    end Translate;
      end R1528b;
   end jwa__strings__translate;

-- 1503:
-- 1504:    --------------------------------------------------------
-- 1505:    -- String_8.Translate ( : Character_Mapping_Function) --
-- 1506:    --------------------------------------------------------

-- 1507:

-- 1508:    procedure Translate
   procedure jwa__strings__translate (source : in out
     jwa__strings__string_8; mapping : ada__strings__maps.
     ada__strings__maps__character_mapping_function) is
      B_36 : label
   begin

-- 1509:      (Source  : in out String_8;

-- 1510:       Mapping : Maps.Character_Mapping_Function) is

-- 1511:    begin

-- 1512:       if Source.Ptr = null then
      if source.ptr = null then

-- 1513:          return;
         return;

-- 1514:       end if;
      end if;

-- 1515:

-- 1516:       Source.Unique;
      jwa__strings__unique (source);

-- 1517:       declare
      B_36 : declare
         C1566b : natural;

-- 1518:          Length : constant Natural := Source.Length;
         B1568b : declare
            L1567b : label
         begin
            if source.ptr = null then
               C1566b := 0;
               goto L1567b;
            else
               R1570b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1570b = null
                 "access check failed"]
               R1571b : constant natural := R1570b.all.capacity;
               subtype jwa__strings__translate__B_36__B1568b__S1569b__4 is
                 jwa__strings__string_8_data (R1571b);
               R1573b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1573b = null
                 "access check failed"]
               [constraint_error when
                 not (interfaces__unsigned_32!(R1573b.all.data.length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1566b := R1573b.all.data.length;
               goto L1567b;
            end if;
            <<L1567b>>
         end B1568b;
         length : constant natural := C1566b;

-- 1519:          Source_Data : String_8_Data renames

-- 1520:            Source.Ptr.Data;
         R1575b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1575b = null
           "access check failed"]
         R1576b : constant natural := R1575b.all.capacity;
         subtype jwa__strings__translate__B_36__S1574b__4 is
           jwa__strings__string_8_data (R1576b);
         R1578b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1578b = null
           "access check failed"]
         R1579b : constant jwa__strings__string_8_internal_ptr :=
           R1578b;
         source_data___XR_R1579b___XEXAXRdata : _renaming_type;
         source_data : jwa__strings__string_8_data renames R1579b.all.
           data;
         L_37 : label
      begin

-- 1521:       begin

-- 1522:          for i in 1 .. Length loop
         L_37 : for i in 1 .. length loop
            [constraint_error when
              R1579b = null
              "access check failed"]

-- 1523:             Source_Data.chr (i) :=
            [subtype T1577b is string (1 .. R1576b)]
            R1581b : T1577b renames R1579b.all.data.chr;
            [constraint_error when
              not (integer(i) <= R1579b.all.data.chr'last)
              "index check failed"]

-- 1524:               Mapping (Source_Data.chr (i));
            [constraint_error when
              mapping = null
              "access check failed"]
            R1582b : T1577b renames R1579b.all.data.chr;
            [constraint_error when
              not (integer(i) <= R1579b.all.data.chr'last)
              "index check failed"]
            R1579b.all.data.chr (i) := mapping.all (R1579b.all.data.chr
              (i));

-- 1525:          end loop;
         end loop L_37;

-- 1526:       end;
      end B_36;

-- 1527:    end Translate;
      return;
   end jwa__strings__translate;

-- 1528:
-- 1529:    ----------------------------
-- 1530:    -- String_8.Replace_Slice --
-- 1531:    ----------------------------

-- 1532:

-- 1533:    function Replace_Slice
   function jwa__strings__replace_slice (source :
     jwa__strings__string_8; low : positive; high : natural; by :
     string) return jwa__strings__string_8 is
      subtype jwa__strings__replace_slice__S1583b is string (by'first(
        1) .. by'last(1));
      C1584b : natural;

-- 1534:      (Source : String_8;

-- 1535:       Low    : Positive;

-- 1536:       High   : Natural;

-- 1537:       By     : String) return String_8

-- 1538:    is

-- 1539:       Length : constant Natural := Source.Length;
      B1586b : declare
         L1585b : label
      begin
         if source.ptr = null then
            C1584b := 0;
            goto L1585b;
         else
            R1588b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1588b = null
              "access check failed"]
            subtype jwa__strings__replace_slice__B1586b__S1587b is
              jwa__strings__string_8_data (R1588b.all.capacity);
            R1590b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1590b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1590b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1584b := R1590b.all.data.length;
            goto L1585b;
         end if;
         <<L1585b>>
      end B1586b;
      length : constant natural := C1584b;
      B_38 : label

-- 1540:    begin
   begin

-- 1541:       if Low > Length + 1 or High < 0 then
      [constraint_error when
        not (interfaces__unsigned_32!(low) >= 1 and then
          interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
        "invalid data"]
      if low > length {+} 1 or high < 0 then

-- 1542:          raise Ada.Strings.Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__index_error'reference),
           "jwa.strings.adb:1542");

-- 1543:       end if;
      end if;

-- 1544:

-- 1545:       if Length <= 0 then
      if length <= 0 then

-- 1546:          return To_String_8 (By);
         type jwa__strings__replace_slice__A1594b is access all
           jwa__strings__string_8;
         freeze jwa__strings__replace_slice__A1594b []
         R1595b : jwa__strings__replace_slice__A1594b :=
           jwa__strings__create__2 (by)'reference;
         return R1595b.all;

-- 1547:       end if;
      end if;

-- 1548:

-- 1549:       declare
      B_38 : declare

-- 1550:          Source_Data : String_8_Data renames

-- 1551:            Source.Ptr.Data;
         R1598b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1598b = null
           "access check failed"]
         subtype jwa__strings__replace_slice__B_38__S1597b is
           jwa__strings__string_8_data (R1598b.all.capacity);
         R1600b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1600b = null
           "access check failed"]
         source_data___XR_R1600b___XEXAXRdata : _renaming_type;
         source_data : jwa__strings__string_8_data renames R1600b.all.
           data;
         B_39 : label
         B_40 : label
      begin

-- 1552:       begin

-- 1553:          if High >= Low then
         [constraint_error when
           not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (interfaces__unsigned_32!(low) >= 1 and then
             interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
           "invalid data"]
         if high >= low then

-- 1554:             return Result : String_8 do
            R1601b : declare
               F1602b : system__finalization_root__finalizable_ptr :=
                 null;
               procedure
                 jwa__strings__replace_slice__B_38__R1601b___clean is
               begin
                  system__soft_links__abort_defer.all;
                  $system__finalization_implementation__finalize_list (
                    F1602b);
                  system__soft_links__abort_undefer.all;
                  return;
               end jwa__strings__replace_slice__B_38__R1601b___clean;
            begin
               result : jwa__strings__string_8;
               jwa__strings__string_8IP (result, P20s => true);
               B1603b : begin
                  system__soft_links__abort_defer.all;
                  $ada__finalization__initialize (result);

                    $
                    system__finalization_implementation__attach_to_final_list
                    (F1602b, system__finalization_root__finalizable?(
                    result), 1);
               at end
                  system__standard_library__abort_undefer_direct;
               end B1603b;
               B1621b : declare
               begin

-- 1555:                Result.Make_Buffer

-- 1556:                  (Length + Low + By'Length - High - 1);
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(high) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (length {+} low {+} integer(by'length) {-} high -
                      1 in 0 .. 16#7FFF_FFFF#)
                    "range check failed"]
                  jwa__strings__make_buffer (result, length {+} low {+}
                    integer(by'length) {-} high - 1);

-- 1557:                declare
                  B_39 : declare

-- 1558:                   Result_Data : String_8_Data renames

-- 1559:                     Result.Ptr.Data;
                     R1605b : jwa__strings__string_8_internal_ptr
                       renames result.ptr;
                     [constraint_error when
                       R1605b = null
                       "access check failed"]
                     R1606b : constant natural := R1605b.all.capacity;
                     subtype
                       jwa__strings__replace_slice__B_38__B_39__S1604b is
                       jwa__strings__string_8_data (R1606b);
                     R1608b : jwa__strings__string_8_internal_ptr
                       renames result.ptr;
                     [constraint_error when
                       R1608b = null
                       "access check failed"]
                     R1609b : constant
                       jwa__strings__string_8_internal_ptr := R1608b;
                     result_data___XR_R1609b___XEXAXRdata :
                       _renaming_type;
                     result_data : jwa__strings__string_8_data renames
                       R1609b.all.data;
                  begin
                     [constraint_error when
                       R1600b = null
                       "access check failed"]
                     [constraint_error when
                       R1609b = null
                       "access check failed"]

-- 1560:                begin

-- 1561:                   Result_Data.chr (1 .. Low - 1) :=
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       low - 1 >= 1 and then (low - 1 > integer(R1606b))
                       "range check failed"]

-- 1562:                     Source_Data.chr (1 .. Low - 1);
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       low - 1 >= 1 and then (low - 1 > integer(R1598b.all.
                         capacity))
                       "range check failed"]
                     [constraint_error when
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1611b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1610b is
                         integer range 1 .. low - 1]
                         string (
                         jwa__strings__replace_slice__B_38__B_39__T1610b)]
                       jwa__strings__replace_slice__B_38__B_39__T1611b'
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1613b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1612b is
                         integer range 1 .. low - 1]
                         string (
                         jwa__strings__replace_slice__B_38__B_39__T1612b)]
                         length /=
                         jwa__strings__replace_slice__B_38__B_39__T1613b'
                         length
                       "length check failed"]
                     R1609b.all.data.chr (1 .. low - 1) := R1600b.all.
                       data.chr (1 .. low - 1);
                     [constraint_error when
                       R1609b = null
                       "access check failed"]

-- 1563:                   Result_Data.chr (Low .. Low + By'Length - 1) := By;
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1614b : boolean;
                     if low + integer(by'length) - 1 >= low then
                        [constraint_error when
                          not (interfaces__unsigned_32!(low) >= 1 and then
                            interfaces__unsigned_32!(low) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C1614b := (integer(low) < 1 or else low +
                          integer(by'length) - 1 > integer(R1606b));
                     else
                        C1614b := false;
                     end if;
                     [constraint_error when C1614b "range check failed"]
                     [constraint_error when
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1616b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1615b is
                         integer range low .. low {+} integer(by'length) -
                         1]
                         string (
                         jwa__strings__replace_slice__B_38__B_39__T1615b)]
                       jwa__strings__replace_slice__B_38__B_39__T1616b'
                         length /= jwa__strings__replace_slice__S1583b'
                         length
                       "length check failed"]
                     R1609b.all.data.chr (low .. low {+} integer(by'
                       length) - 1) := by;
                     [constraint_error when
                       R1600b = null
                       "access check failed"]
                     [constraint_error when
                       R1609b = null
                       "access check failed"]

-- 1564:                   Result_Data.chr (Low + By'Length ..
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]

-- 1565:                                      Length + Low + By'Length - High - 1) :=
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       not (interfaces__unsigned_32!(high) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       length + low + integer(by'length) - high - 1 >=
                         low + integer(by'length) and then (low +
                         integer(by'length) < 1 or else length + low +
                         integer(by'length) - high - 1 > integer(R1606b))
                       "range check failed"]

-- 1566:                       Source_Data.chr (High + 1 .. Length);
                     [constraint_error when
                       not (interfaces__unsigned_32!(high) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       length >= high + 1 and then (high + 1 < 1 or else
                         integer(length) > integer(R1598b.all.capacity))
                       "range check failed"]
                     [constraint_error when
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1618b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1617b is
                         integer range low {+} integer(by'length) ..
                         length {+} low {+} integer(by'length) {-} high -
                         1]
                         string (
                         jwa__strings__replace_slice__B_38__B_39__T1617b)]
                       jwa__strings__replace_slice__B_38__B_39__T1618b'
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1620b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_39__T1619b is
                         integer range high {+} 1 .. length]
                         string (
                         jwa__strings__replace_slice__B_38__B_39__T1619b)]
                         length /=
                         jwa__strings__replace_slice__B_38__B_39__T1620b'
                         length
                       "length check failed"]
                     R1609b.all.data.chr (low {+} integer(by'length) ..
                       length {+} low {+} integer(by'length) {-} high -
                       1) := R1600b.all.data.chr (high {+} 1 .. length);

-- 1567:                end;
                  end B_39;

-- 1568:             end return;
               end B1621b;
               type jwa__strings__replace_slice__B_38__R1601b__A1624b
                 is access jwa__strings__string_8;
               freeze jwa__strings__replace_slice__B_38__R1601b__A1624b []
               P1626b : constant
                 jwa__strings__replace_slice__B_38__R1601b__A1624b :=
                 new jwa__strings__string_8'(result)[storage_pool =
                 system__secondary_stack__ss_pool];
               P1626b.all._tag := jwa__strings__string_8P;
               F1627b : system__finalization_root__finalizable_ptr :=
                 null;
               jwa__strings__adjust__2 (P1626b.all);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F1627b, system__finalization_root__finalizable?(
                 P1626b.all), 1);
               R1623b :
                 jwa__strings__replace_slice__B_38__R1601b__A1624b :=
                 P1626b;
               return R1623b.all;
            at end
               jwa__strings__replace_slice__B_38__R1601b___clean;
            end R1601b;

-- 1569:          else -- High < Low, insertion only
         else

-- 1570:             if By'Length = 0 then
            if by'length = 0 then

-- 1571:                return Source;
               type jwa__strings__replace_slice__B_38__A1630b is
                 access jwa__strings__string_8;
               freeze jwa__strings__replace_slice__B_38__A1630b []
               P1632b : constant
                 jwa__strings__replace_slice__B_38__A1630b := new
                 jwa__strings__string_8'(source)[storage_pool =
                 system__secondary_stack__ss_pool];
               P1632b.all._tag := jwa__strings__string_8P;
               F1633b : system__finalization_root__finalizable_ptr :=
                 null;
               jwa__strings__adjust__2 (P1632b.all);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F1633b, system__finalization_root__finalizable?(
                 P1632b.all), 1);
               R1629b : jwa__strings__replace_slice__B_38__A1630b :=
                 P1632b;
               return R1629b.all;

-- 1572:             end if;
            end if;

-- 1573:             return Result : String_8 do
            R1634b : declare
               F1635b : system__finalization_root__finalizable_ptr :=
                 null;
               procedure
                 jwa__strings__replace_slice__B_38__R1634b___clean is
               begin
                  system__soft_links__abort_defer.all;
                  $system__finalization_implementation__finalize_list (
                    F1635b);
                  system__soft_links__abort_undefer.all;
                  return;
               end jwa__strings__replace_slice__B_38__R1634b___clean;
            begin
               result : jwa__strings__string_8;
               jwa__strings__string_8IP (result, P20s => true);
               B1636b : begin
                  system__soft_links__abort_defer.all;
                  $ada__finalization__initialize (result);

                    $
                    system__finalization_implementation__attach_to_final_list
                    (F1635b, system__finalization_root__finalizable?(
                    result), 1);
               at end
                  system__standard_library__abort_undefer_direct;
               end B1636b;
               B1655b : declare
               begin

-- 1574:                Result.Make_Buffer (Length + By'Length);
                  jwa__strings__make_buffer (result, length {+} integer
                    (by'length));

-- 1575:                declare
                  B_40 : declare

-- 1576:                   Result_Data : String_8_Data renames

-- 1577:                     Result.Ptr.Data;
                     R1638b : jwa__strings__string_8_internal_ptr
                       renames result.ptr;
                     [constraint_error when
                       R1638b = null
                       "access check failed"]
                     R1639b : constant natural := R1638b.all.capacity;
                     subtype
                       jwa__strings__replace_slice__B_38__B_40__S1637b is
                       jwa__strings__string_8_data (R1639b);
                     R1641b : jwa__strings__string_8_internal_ptr
                       renames result.ptr;
                     [constraint_error when
                       R1641b = null
                       "access check failed"]
                     R1642b : constant
                       jwa__strings__string_8_internal_ptr := R1641b;
                     result_data___XR_R1642b___XEXAXRdata :
                       _renaming_type;
                     result_data : jwa__strings__string_8_data renames
                       R1642b.all.data;
                  begin
                     [constraint_error when
                       R1600b = null
                       "access check failed"]
                     [constraint_error when
                       R1642b = null
                       "access check failed"]

-- 1578:                begin

-- 1579:                   Result_Data.chr (1 .. Low - 1) :=
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       low - 1 >= 1 and then (low - 1 > integer(R1639b))
                       "range check failed"]

-- 1580:                     Source_Data.chr (1 .. Low - 1);
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       low - 1 >= 1 and then (low - 1 > integer(R1598b.all.
                         capacity))
                       "range check failed"]
                     [constraint_error when
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1644b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1643b is
                         integer range 1 .. low - 1]
                         string (
                         jwa__strings__replace_slice__B_38__B_40__T1643b)]
                       jwa__strings__replace_slice__B_38__B_40__T1644b'
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1646b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1645b is
                         integer range 1 .. low - 1]
                         string (
                         jwa__strings__replace_slice__B_38__B_40__T1645b)]
                         length /=
                         jwa__strings__replace_slice__B_38__B_40__T1646b'
                         length
                       "length check failed"]
                     R1642b.all.data.chr (1 .. low - 1) := R1600b.all.
                       data.chr (1 .. low - 1);
                     [constraint_error when
                       R1642b = null
                       "access check failed"]

-- 1581:                   Result_Data.chr (Low .. Low + By'Length - 1) := By;
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1647b : boolean;
                     if low + integer(by'length) - 1 >= low then
                        [constraint_error when
                          not (interfaces__unsigned_32!(low) >= 1 and then
                            interfaces__unsigned_32!(low) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C1647b := (integer(low) < 1 or else low +
                          integer(by'length) - 1 > integer(R1639b));
                     else
                        C1647b := false;
                     end if;
                     [constraint_error when C1647b "range check failed"]
                     [constraint_error when
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1649b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1648b is
                         integer range low .. low {+} integer(by'length) -
                         1]
                         string (
                         jwa__strings__replace_slice__B_38__B_40__T1648b)]
                       jwa__strings__replace_slice__B_38__B_40__T1649b'
                         length /= jwa__strings__replace_slice__S1583b'
                         length
                       "length check failed"]
                     R1642b.all.data.chr (low .. low {+} integer(by'
                       length) - 1) := by;
                     [constraint_error when
                       R1600b = null
                       "access check failed"]
                     [constraint_error when
                       R1642b = null
                       "access check failed"]

-- 1582:                   Result_Data.chr (Low + By'Length .. Length + By'Length) :=
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     [constraint_error when
                       length + integer(by'length) >= low + integer(by'
                         length) and then (low + integer(by'length) <
                         1 or else length + integer(by'length) >
                         integer(R1639b))
                       "range check failed"]

-- 1583:                     Source_Data.chr (Low .. Length);
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1652b : boolean;
                     if length >= low then
                        [constraint_error when
                          not (interfaces__unsigned_32!(low) >= 1 and then
                            interfaces__unsigned_32!(low) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C1652b := (integer(low) < 1 or else integer(
                          length) > integer(R1598b.all.capacity));
                     else
                        C1652b := false;
                     end if;
                     [constraint_error when C1652b "range check failed"]
                     [constraint_error when
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1651b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1650b is
                         integer range low {+} integer(by'length) ..
                         length {+} integer(by'length)]
                         string (
                         jwa__strings__replace_slice__B_38__B_40__T1650b)]
                       jwa__strings__replace_slice__B_38__B_40__T1651b'
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1654b is
                       [subtype
                         jwa__strings__replace_slice__B_38__B_40__T1653b is
                         integer range low .. length]
                         string (
                         jwa__strings__replace_slice__B_38__B_40__T1653b)]
                         length /=
                         jwa__strings__replace_slice__B_38__B_40__T1654b'
                         length
                       "length check failed"]
                     R1642b.all.data.chr (low {+} integer(by'length) ..
                       length {+} integer(by'length)) := R1600b.all.
                       data.chr (low .. length);

-- 1584:                end;
                  end B_40;

-- 1585:             end return;
               end B1655b;
               type jwa__strings__replace_slice__B_38__R1634b__A1658b
                 is access jwa__strings__string_8;
               freeze jwa__strings__replace_slice__B_38__R1634b__A1658b []
               P1660b : constant
                 jwa__strings__replace_slice__B_38__R1634b__A1658b :=
                 new jwa__strings__string_8'(result)[storage_pool =
                 system__secondary_stack__ss_pool];
               P1660b.all._tag := jwa__strings__string_8P;
               F1661b : system__finalization_root__finalizable_ptr :=
                 null;
               jwa__strings__adjust__2 (P1660b.all);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F1661b, system__finalization_root__finalizable?(
                 P1660b.all), 1);
               R1657b :
                 jwa__strings__replace_slice__B_38__R1634b__A1658b :=
                 P1660b;
               return R1657b.all;
            at end
               jwa__strings__replace_slice__B_38__R1634b___clean;

-- 1586:          end if;
            end R1634b;
         end if;

-- 1587:       end;
      end B_38;

-- 1588:    end Replace_Slice;
   end jwa__strings__replace_slice;

-- 1589:
-- 1590:    ----------------------------
-- 1591:    -- String_8.Replace_Slice --
-- 1592:    ----------------------------

-- 1593:

-- 1594:    procedure Replace_Slice
   procedure jwa__strings__replace_slice (source : in out
     jwa__strings__string_8; low : positive; high : natural; by :
     string) is
      subtype jwa__strings__replace_slice__S1662b__2 is string (by'
        first(1) .. by'last(1));
      C1663b : natural;

-- 1595:      (Source : in out String_8;

-- 1596:       Low    : Positive;

-- 1597:       High   : Natural;

-- 1598:       By     : String)

-- 1599:    is

-- 1600:       Length : constant Natural := Source.Length;
      B1665b : declare
         L1664b : label
      begin
         if source.ptr = null then
            C1663b := 0;
            goto L1664b;
         else
            R1667b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1667b = null
              "access check failed"]
            R1668b : constant natural := R1667b.all.capacity;
            subtype jwa__strings__replace_slice__B1665b__S1666b__2 is
              jwa__strings__string_8_data (R1668b);
            R1670b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1670b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1670b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1663b := R1670b.all.data.length;
            goto L1664b;
         end if;
         <<L1664b>>
      end B1665b;
      length : constant natural := C1663b;
      by_length : constant natural := natural(by'length);
      new_length : natural;
      B_41 : label
      B_43 : label
      B_44 : label
      B_46 : label
   begin

-- 1601:       By_Length : constant Natural := By'Length;

-- 1602:       New_Length : Natural;

-- 1603:    begin

-- 1604:       if Low > Length + 1 or High < 0 then
      [constraint_error when
        not (interfaces__unsigned_32!(low) >= 1 and then
          interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
        "invalid data"]
      if low > length {+} 1 or high < 0 then

-- 1605:          raise Ada.Strings.Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(ada.
           ada__strings.ada__strings__index_error'reference),
           "jwa.strings.adb:1605");

-- 1606:       end if;
      end if;

-- 1607:

-- 1608:       if Length <= 0 then
      if length <= 0 then

-- 1609:          Source.Set_String_8 (By);
         jwa__strings__set__2 (source, by);

-- 1610:          return;
         return;

-- 1611:       end if;
      end if;

-- 1612:

-- 1613:       if High >= Low then
      [constraint_error when
        not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(low) >= 1 and then
          interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
        "invalid data"]
      if high >= low then

-- 1614:          New_Length := Length + Low + By_Length - High - 1;
         [constraint_error when
           not (interfaces__unsigned_32!(low) >= 1 and then
             interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (interfaces__unsigned_32!(high) <= 16#7FFF_FFFF#)
           "invalid data"]
         [constraint_error when
           not (length {+} low {+} by_length {-} high - 1 in 0 ..
             16#7FFF_FFFF#)
           "range check failed"]
         new_length := length {+} low {+} by_length {-} high - 1;

-- 1615:          if Source.Ptr.Counter.rc > 1 or else
         R1674b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1674b = null
           "access check failed"]
         C1677b : boolean;
         if R1674b.all.counter.rc > 1 then
            C1677b := true;
         else

-- 1616:            not Good_Capacity (Source.Ptr.Capacity, New_Length) then
            R1675b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1675b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1675b.all.capacity) <=
                16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (interfaces__unsigned_32!(new_length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            R1676b : constant boolean := jwa__strings__good_capacity (
              R1675b.all.capacity, new_length);
            [constraint_error when
              not (interfaces__unsigned_32!(R1676b) >=
                interfaces__unsigned_32!(false) and then
                interfaces__unsigned_32!(R1676b) <=
                interfaces__unsigned_32!(true))
              "invalid data"]
            C1677b := not R1676b;
         end if;
         if C1677b then
-- 1617:             -- can't reuse allocated buffer

-- 1618:             declare
            B_41 : declare
               F1678b : system__finalization_root__finalizable_ptr :=
                 null;
               procedure jwa__strings__replace_slice__B_41___clean__2 is
               begin
                  system__soft_links__abort_defer.all;
                  $system__finalization_implementation__finalize_list (
                    F1678b);
                  system__soft_links__abort_undefer.all;
                  return;
               end jwa__strings__replace_slice__B_41___clean__2;
            begin
               source_copy : jwa__strings__string_8 := source;

-- 1619:                Source_Copy : String_8 := Source;
               source_copy._tag := jwa__strings__string_8P;
               jwa__strings__adjust__2 (source_copy);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F1678b, system__finalization_root__finalizable?(
                 source_copy), 1);
               B_42 : label

-- 1620:             begin

-- 1621:                Source.Make_Buffer (New_Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               jwa__strings__make_buffer (source, new_length);

-- 1622:                declare
               B_42 : declare

-- 1623:                   Old_Data : String_8_Data renames Source_Copy.Ptr.Data;
                  R1680b : jwa__strings__string_8_internal_ptr renames
                    source_copy.ptr;
                  [constraint_error when
                    R1680b = null
                    "access check failed"]
                  R1681b : constant natural := R1680b.all.capacity;
                  subtype
                    jwa__strings__replace_slice__B_41__B_42__S1679b__2 is
                    jwa__strings__string_8_data (R1681b);
                  R1683b : jwa__strings__string_8_internal_ptr renames
                    source_copy.ptr;
                  [constraint_error when
                    R1683b = null
                    "access check failed"]
                  R1684b : constant jwa__strings__string_8_internal_ptr :=
                    R1683b;
                  old_data___XR_R1684b___XEXAXRdata : _renaming_type;
                  old_data : jwa__strings__string_8_data renames R1684b.all.
                    data;

-- 1624:                   New_Data : String_8_Data renames Source.Ptr.Data;
                  R1686b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1686b = null
                    "access check failed"]
                  R1687b : constant natural := R1686b.all.capacity;
                  subtype
                    jwa__strings__replace_slice__B_41__B_42__S1685b__2 is
                    jwa__strings__string_8_data (R1687b);
                  R1689b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1689b = null
                    "access check failed"]
                  R1690b : constant jwa__strings__string_8_internal_ptr :=
                    R1689b;
                  new_data___XR_R1690b___XEXAXRdata : _renaming_type;
                  new_data : jwa__strings__string_8_data renames R1690b.all.
                    data;
               begin
                  [constraint_error when
                    R1684b = null
                    "access check failed"]
                  [constraint_error when
                    R1690b = null
                    "access check failed"]

-- 1625:                begin

-- 1626:                   New_Data.chr (1 .. Low - 1) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    low - 1 >= 1 and then (low - 1 > integer(R1687b))
                    "range check failed"]

-- 1627:                     Old_Data.chr (1 .. Low - 1);
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    low - 1 >= 1 and then (low - 1 > integer(R1681b))
                    "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1692b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1691b__2 is
                      integer range 1 .. low - 1]
                      string (
                      jwa__strings__replace_slice__B_41__B_42__T1691b__2)]
                    jwa__strings__replace_slice__B_41__B_42__T1692b__2'
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1694b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1693b__2 is
                      integer range 1 .. low - 1]
                      string (
                      jwa__strings__replace_slice__B_41__B_42__T1693b__2)]
                      length /=
                      jwa__strings__replace_slice__B_41__B_42__T1694b__2'
                      length
                    "length check failed"]
                  R1690b.all.data.chr (1 .. low - 1) := R1684b.all.data.
                    chr (1 .. low - 1);
                  [constraint_error when
                    R1690b = null
                    "access check failed"]

-- 1628:                   New_Data.chr (Low .. Low + By_Length - 1) := By;
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C1695b : boolean;
                  if low + by_length - 1 >= low then
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1695b := (integer(low) < 1 or else low +
                       by_length - 1 > integer(R1687b));
                  else
                     C1695b := false;
                  end if;
                  [constraint_error when C1695b "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1697b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1696b__2 is
                      integer range low .. low {+} by_length - 1]
                      string (
                      jwa__strings__replace_slice__B_41__B_42__T1696b__2)]
                    jwa__strings__replace_slice__B_41__B_42__T1697b__2'
                      length /= jwa__strings__replace_slice__S1662b__2'
                      length
                    "length check failed"]
                  R1690b.all.data.chr (low .. low {+} by_length - 1) :=
                    by;
                  [constraint_error when
                    R1684b = null
                    "access check failed"]
                  [constraint_error when
                    R1690b = null
                    "access check failed"]

-- 1629:                   New_Data.chr (Low + By_Length .. New_Length) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(new_length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1699b : boolean;
                  if new_length >= low + by_length then
                     C1698b : boolean;
                     if low + by_length < 1 then
                        C1698b := true;
                     else
                        [constraint_error when
                          not (interfaces__unsigned_32!(new_length) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C1698b := integer(new_length) > integer(R1687b);
                     end if;
                     C1699b := (C1698b);
                  else
                     C1699b := false;
                  end if;
                  [constraint_error when C1699b "range check failed"]
                  R1700b : constant natural := new_length;

-- 1630:                     Old_Data.chr (High + 1 .. Length);
                  [constraint_error when
                    not (interfaces__unsigned_32!(high) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    length >= high + 1 and then (high + 1 < 1 or else
                      integer(length) > integer(R1681b))
                    "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1702b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1701b__2 is
                      integer range low {+} by_length .. R1700b]
                      string (
                      jwa__strings__replace_slice__B_41__B_42__T1701b__2)]
                    jwa__strings__replace_slice__B_41__B_42__T1702b__2'
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1704b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_41__B_42__T1703b__2 is
                      integer range high {+} 1 .. length]
                      string (
                      jwa__strings__replace_slice__B_41__B_42__T1703b__2)]
                      length /=
                      jwa__strings__replace_slice__B_41__B_42__T1704b__2'
                      length
                    "length check failed"]
                  R1690b.all.data.chr (low {+} by_length .. R1700b) :=
                    R1684b.all.data.chr (high {+} 1 .. length);

-- 1631:                end;
               end B_42;
            at end
               jwa__strings__replace_slice__B_41___clean__2;

-- 1632:             end;
            end B_41;

-- 1633:          else -- can reuse buffer
         else

-- 1634:             declare
            B_43 : declare

-- 1635:                Source_Data : String_8_Data renames Source.Ptr.Data;
               R1706b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1706b = null
                 "access check failed"]
               R1707b : constant natural := R1706b.all.capacity;
               subtype jwa__strings__replace_slice__B_43__S1705b__2 is
                 jwa__strings__string_8_data (R1707b);
               R1709b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1709b = null
                 "access check failed"]
               R1710b : constant jwa__strings__string_8_internal_ptr :=
                 R1709b;
               source_data___XR_R1710b___XEXAXRdata : _renaming_type;
               source_data : jwa__strings__string_8_data renames R1710b.all.
                 data;
            begin
               [constraint_error when
                 R1710b = null
                 "access check failed"]

-- 1636:             begin

-- 1637:                Source_Data.Length := New_Length;
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               R1710b.all.data.length := new_length;

-- 1638:                if New_Length /= Length then
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               if new_length /= length then
                  [constraint_error when
                    R1710b = null
                    "access check failed"]
                  null;

-- 1639:                   Source_Data.chr (Low + By_Length .. New_Length) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(new_length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1712b : boolean;
                  if new_length >= low + by_length then
                     C1711b : boolean;
                     if low + by_length < 1 then
                        C1711b := true;
                     else
                        [constraint_error when
                          not (interfaces__unsigned_32!(new_length) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C1711b := integer(new_length) > integer(R1707b);
                     end if;
                     C1712b := (C1711b);
                  else
                     C1712b := false;
                  end if;
                  [constraint_error when C1712b "range check failed"]
                  R1713b : constant natural := new_length;

-- 1640:                     Source_Data.chr (High + 1 .. Length);
                  [constraint_error when
                    not (interfaces__unsigned_32!(high) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    length >= high + 1 and then (high + 1 < 1 or else
                      integer(length) > integer(R1707b))
                    "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__replace_slice__B_43__T1715b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_43__T1714b__2 is
                      integer range low {+} by_length .. R1713b]
                      string (
                      jwa__strings__replace_slice__B_43__T1714b__2)]
                    [subtype
                      jwa__strings__replace_slice__B_43__T1717b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_43__T1716b__2 is
                      integer range high {+} 1 .. length]
                      string (
                      jwa__strings__replace_slice__B_43__T1716b__2)]
                    jwa__strings__replace_slice__B_43__T1715b__2'length /=
                      jwa__strings__replace_slice__B_43__T1717b__2'
                      length
                    "length check failed"]
                  R1710b.all.data.chr (low {+} by_length .. R1713b) :=
                    R1710b.all.data.chr (high {+} 1 .. length);
               end if;
               [constraint_error when
                 R1710b = null
                 "access check failed"]
-- 1641:                   -- Is it legal?
-- 1642:                   -- Assigning string slice to a string slice of the
-- 1643:                   -- same string
-- 1644:                   -- Should Ada compiler be robust in these cases?
-- 1645:                   -- Delphi's Move() implementation checks the sign of
-- 1646:                   -- pointer's difference. Depending on whether Ptr1
-- 1647:                   -- or Ptr2 was greater, it moves memory from left to
-- 1648:                   -- right or vice versa.

-- 1649:                end if;

-- 1650:

-- 1651:                Source_Data.chr (Low .. Low + By_Length - 1) := By;
               [constraint_error when
                 not (interfaces__unsigned_32!(low) >= 1 and then
                   interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (interfaces__unsigned_32!(low) >= 1 and then
                   interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C1718b : boolean;
               if low + by_length - 1 >= low then
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C1718b := (integer(low) < 1 or else low + by_length -
                    1 > integer(R1707b));
               else
                  C1718b := false;
               end if;
               [constraint_error when C1718b "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__replace_slice__B_43__T1720b__2 is
                 [subtype jwa__strings__replace_slice__B_43__T1719b__2 is
                   integer range low .. low {+} by_length - 1]
                   string (jwa__strings__replace_slice__B_43__T1719b__2)]
                 jwa__strings__replace_slice__B_43__T1720b__2'length /=
                   jwa__strings__replace_slice__S1662b__2'length
                 "length check failed"]
               R1710b.all.data.chr (low .. low {+} by_length - 1) := by;

-- 1652:             end;
            end B_43;

-- 1653:          end if;
         end if;

-- 1654:       else -- High < Low, insertion only
      else

-- 1655:          if By_Length = 0 then
         if by_length = 0 then

-- 1656:             return;
            return;

-- 1657:          end if;
         end if;

-- 1658:          New_Length := Length + By_Length;
         new_length := length {+} by_length;

-- 1659:          if Source.Ptr.Counter.rc > 1 or else
         R1722b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1722b = null
           "access check failed"]
         C1725b : boolean;
         if R1722b.all.counter.rc > 1 then
            C1725b := true;
         else

-- 1660:            not Good_Capacity (Source.Ptr.Capacity, New_Length) then
            R1723b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1723b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1723b.all.capacity) <=
                16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (interfaces__unsigned_32!(new_length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            R1724b : constant boolean := jwa__strings__good_capacity (
              R1723b.all.capacity, new_length);
            [constraint_error when
              not (interfaces__unsigned_32!(R1724b) >=
                interfaces__unsigned_32!(false) and then
                interfaces__unsigned_32!(R1724b) <=
                interfaces__unsigned_32!(true))
              "invalid data"]
            C1725b := not R1724b;
         end if;
         if C1725b then
-- 1661:             -- can't reuse allocated buffer

-- 1662:             declare
            B_44 : declare
               F1726b : system__finalization_root__finalizable_ptr :=
                 null;
               procedure jwa__strings__replace_slice__B_44___clean__2 is
               begin
                  system__soft_links__abort_defer.all;
                  $system__finalization_implementation__finalize_list (
                    F1726b);
                  system__soft_links__abort_undefer.all;
                  return;
               end jwa__strings__replace_slice__B_44___clean__2;
            begin
               source_copy : jwa__strings__string_8 := source;

-- 1663:                Source_Copy : String_8 := Source;
               source_copy._tag := jwa__strings__string_8P;
               jwa__strings__adjust__2 (source_copy);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F1726b, system__finalization_root__finalizable?(
                 source_copy), 1);
               B_45 : label

-- 1664:             begin

-- 1665:                Source.Make_Buffer (New_Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               jwa__strings__make_buffer (source, new_length);

-- 1666:                declare
               B_45 : declare

-- 1667:                   Old_Data : String_8_Data renames Source_Copy.Ptr.Data;
                  R1728b : jwa__strings__string_8_internal_ptr renames
                    source_copy.ptr;
                  [constraint_error when
                    R1728b = null
                    "access check failed"]
                  R1729b : constant natural := R1728b.all.capacity;
                  subtype
                    jwa__strings__replace_slice__B_44__B_45__S1727b__2 is
                    jwa__strings__string_8_data (R1729b);
                  R1731b : jwa__strings__string_8_internal_ptr renames
                    source_copy.ptr;
                  [constraint_error when
                    R1731b = null
                    "access check failed"]
                  R1732b : constant jwa__strings__string_8_internal_ptr :=
                    R1731b;
                  old_data___XR_R1732b___XEXAXRdata : _renaming_type;
                  old_data : jwa__strings__string_8_data renames R1732b.all.
                    data;

-- 1668:                   New_Data : String_8_Data renames Source.Ptr.Data;
                  R1734b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1734b = null
                    "access check failed"]
                  R1735b : constant natural := R1734b.all.capacity;
                  subtype
                    jwa__strings__replace_slice__B_44__B_45__S1733b__2 is
                    jwa__strings__string_8_data (R1735b);
                  R1737b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1737b = null
                    "access check failed"]
                  R1738b : constant jwa__strings__string_8_internal_ptr :=
                    R1737b;
                  new_data___XR_R1738b___XEXAXRdata : _renaming_type;
                  new_data : jwa__strings__string_8_data renames R1738b.all.
                    data;
               begin
                  [constraint_error when
                    R1732b = null
                    "access check failed"]
                  [constraint_error when
                    R1738b = null
                    "access check failed"]

-- 1669:                begin

-- 1670:                   New_Data.chr (1 .. Low - 1) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    low - 1 >= 1 and then (low - 1 > integer(R1735b))
                    "range check failed"]

-- 1671:                     Old_Data.chr (1 .. Low - 1);
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    low - 1 >= 1 and then (low - 1 > integer(R1729b))
                    "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1740b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1739b__2 is
                      integer range 1 .. low - 1]
                      string (
                      jwa__strings__replace_slice__B_44__B_45__T1739b__2)]
                    jwa__strings__replace_slice__B_44__B_45__T1740b__2'
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1742b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1741b__2 is
                      integer range 1 .. low - 1]
                      string (
                      jwa__strings__replace_slice__B_44__B_45__T1741b__2)]
                      length /=
                      jwa__strings__replace_slice__B_44__B_45__T1742b__2'
                      length
                    "length check failed"]
                  R1738b.all.data.chr (1 .. low - 1) := R1732b.all.data.
                    chr (1 .. low - 1);
                  [constraint_error when
                    R1738b = null
                    "access check failed"]

-- 1672:                   New_Data.chr (Low .. Low + By_Length - 1) := By;
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C1743b : boolean;
                  if low + by_length - 1 >= low then
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1743b := (integer(low) < 1 or else low +
                       by_length - 1 > integer(R1735b));
                  else
                     C1743b := false;
                  end if;
                  [constraint_error when C1743b "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1745b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1744b__2 is
                      integer range low .. low {+} by_length - 1]
                      string (
                      jwa__strings__replace_slice__B_44__B_45__T1744b__2)]
                    jwa__strings__replace_slice__B_44__B_45__T1745b__2'
                      length /= jwa__strings__replace_slice__S1662b__2'
                      length
                    "length check failed"]
                  R1738b.all.data.chr (low .. low {+} by_length - 1) :=
                    by;
                  [constraint_error when
                    R1732b = null
                    "access check failed"]
                  [constraint_error when
                    R1738b = null
                    "access check failed"]

-- 1673:                   New_Data.chr (Low + By_Length .. New_Length) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(new_length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1747b : boolean;
                  if new_length >= low + by_length then
                     C1746b : boolean;
                     if low + by_length < 1 then
                        C1746b := true;
                     else
                        [constraint_error when
                          not (interfaces__unsigned_32!(new_length) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C1746b := integer(new_length) > integer(R1735b);
                     end if;
                     C1747b := (C1746b);
                  else
                     C1747b := false;
                  end if;
                  [constraint_error when C1747b "range check failed"]
                  R1748b : constant natural := new_length;

-- 1674:                     Old_Data.chr (Low .. Length);
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C1751b : boolean;
                  if length >= low then
                     [constraint_error when
                       not (interfaces__unsigned_32!(low) >= 1 and then
                         interfaces__unsigned_32!(low) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1751b := (integer(low) < 1 or else integer(length) >
                       integer(R1729b));
                  else
                     C1751b := false;
                  end if;
                  [constraint_error when C1751b "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1750b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1749b__2 is
                      integer range low {+} by_length .. R1748b]
                      string (
                      jwa__strings__replace_slice__B_44__B_45__T1749b__2)]
                    jwa__strings__replace_slice__B_44__B_45__T1750b__2'
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1753b__2 is
                    [subtype
                      jwa__strings__replace_slice__B_44__B_45__T1752b__2 is
                      integer range low .. length]
                      string (
                      jwa__strings__replace_slice__B_44__B_45__T1752b__2)]
                      length /=
                      jwa__strings__replace_slice__B_44__B_45__T1753b__2'
                      length
                    "length check failed"]
                  R1738b.all.data.chr (low {+} by_length .. R1748b) :=
                    R1732b.all.data.chr (low .. length);

-- 1675:                end;
               end B_45;
            at end
               jwa__strings__replace_slice__B_44___clean__2;

-- 1676:             end;
            end B_44;

-- 1677:          else -- can reuse buffer
         else

-- 1678:             declare
            B_46 : declare

-- 1679:                Source_Data : String_8_Data renames Source.Ptr.Data;
               R1755b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1755b = null
                 "access check failed"]
               R1756b : constant natural := R1755b.all.capacity;
               subtype jwa__strings__replace_slice__B_46__S1754b__2 is
                 jwa__strings__string_8_data (R1756b);
               R1758b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1758b = null
                 "access check failed"]
               R1759b : constant jwa__strings__string_8_internal_ptr :=
                 R1758b;
               source_data___XR_R1759b___XEXAXRdata : _renaming_type;
               source_data : jwa__strings__string_8_data renames R1759b.all.
                 data;
            begin
               [constraint_error when
                 R1759b = null
                 "access check failed"]

-- 1680:             begin

-- 1681:                Source_Data.Length := New_Length;
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               R1759b.all.data.length := new_length;
               [constraint_error when
                 R1759b = null
                 "access check failed"]
               null;

-- 1682:                Source_Data.chr (Low + By_Length .. New_Length) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(low) >= 1 and then
                   interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C1761b : boolean;
               if new_length >= low + by_length then
                  C1760b : boolean;
                  if low + by_length < 1 then
                     C1760b := true;
                  else
                     [constraint_error when
                       not (interfaces__unsigned_32!(new_length) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1760b := integer(new_length) > integer(R1756b);
                  end if;
                  C1761b := (C1760b);
               else
                  C1761b := false;
               end if;
               [constraint_error when C1761b "range check failed"]
               R1762b : constant natural := new_length;

-- 1683:                  Source_Data.chr (Low .. Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(low) >= 1 and then
                   interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C1765b : boolean;
               if length >= low then
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C1765b := (integer(low) < 1 or else integer(length) >
                    integer(R1756b));
               else
                  C1765b := false;
               end if;
               [constraint_error when C1765b "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__replace_slice__B_46__T1764b__2 is
                 [subtype jwa__strings__replace_slice__B_46__T1763b__2 is
                   integer range low {+} by_length .. R1762b]
                   string (jwa__strings__replace_slice__B_46__T1763b__2)]
                 [subtype jwa__strings__replace_slice__B_46__T1767b__2 is
                 [subtype jwa__strings__replace_slice__B_46__T1766b__2 is
                   integer range low .. length]
                   string (jwa__strings__replace_slice__B_46__T1766b__2)]
                 jwa__strings__replace_slice__B_46__T1764b__2'length /=
                   jwa__strings__replace_slice__B_46__T1767b__2'length
                 "length check failed"]
               R1759b.all.data.chr (low {+} by_length .. R1762b) :=
                 R1759b.all.data.chr (low .. length);
               [constraint_error when
                 R1759b = null
                 "access check failed"]

-- 1684:                Source_Data.chr (Low .. Low + By_Length - 1) := By;
               [constraint_error when
                 not (interfaces__unsigned_32!(low) >= 1 and then
                   interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (interfaces__unsigned_32!(low) >= 1 and then
                   interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C1768b : boolean;
               if low + by_length - 1 >= low then
                  [constraint_error when
                    not (interfaces__unsigned_32!(low) >= 1 and then
                      interfaces__unsigned_32!(low) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C1768b := (integer(low) < 1 or else low + by_length -
                    1 > integer(R1756b));
               else
                  C1768b := false;
               end if;
               [constraint_error when C1768b "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__replace_slice__B_46__T1770b__2 is
                 [subtype jwa__strings__replace_slice__B_46__T1769b__2 is
                   integer range low .. low {+} by_length - 1]
                   string (jwa__strings__replace_slice__B_46__T1769b__2)]
                 jwa__strings__replace_slice__B_46__T1770b__2'length /=
                   jwa__strings__replace_slice__S1662b__2'length
                 "length check failed"]
               R1759b.all.data.chr (low .. low {+} by_length - 1) := by;

-- 1685:             end;
            end B_46;

-- 1686:          end if;
         end if;

-- 1687:       end if;
      end if;

-- 1688:    end Replace_Slice;
      return;
   end jwa__strings__replace_slice;

-- 1689:
-- 1690:    ---------------------
-- 1691:    -- String_8.Insert --
-- 1692:    ---------------------

-- 1693:

-- 1694:    function Insert
   function jwa__strings__insert (source : jwa__strings__string_8;
     before : positive; new_item : string) return
     jwa__strings__string_8 is
      subtype jwa__strings__insert__S1771b is string (new_item'first(
        1) .. new_item'last(1));
      C1772b : natural;

-- 1695:      (Source   : String_8;

-- 1696:       Before   : Positive;

-- 1697:       New_Item : String) return String_8

-- 1698:    is

-- 1699:       Length : constant Natural := Source.Length;
      B1774b : declare
         L1773b : label
      begin
         if source.ptr = null then
            C1772b := 0;
            goto L1773b;
         else
            R1776b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1776b = null
              "access check failed"]
            subtype jwa__strings__insert__B1774b__S1775b is
              jwa__strings__string_8_data (R1776b.all.capacity);
            R1778b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1778b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1778b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1772b := R1778b.all.data.length;
            goto L1773b;
         end if;
         <<L1773b>>
      end B1774b;
      length : constant natural := C1772b;
      ni_length : constant natural := natural(new_item'length);
      new_length : constant natural := length {+} ni_length;
      B_47 : label
   begin

-- 1700:       NI_Length : constant Natural := New_Item'Length;

-- 1701:       New_Length : constant Natural := Length + NI_Length;

-- 1702:    begin

-- 1703:       if Before not in 1 .. Length + 1 then
      [constraint_error when
        not (interfaces__unsigned_32!(before) >= 1 and then
          interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
        "invalid data"]
      if not (before in 1 .. length {+} 1) then

-- 1704:          raise Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(
           ada__strings__index_error'reference), "jwa.strings.adb:1704");

-- 1705:       end if;
      end if;

-- 1706:

-- 1707:       if Length <= 0 then
      if length <= 0 then

-- 1708:          return To_String_8 (New_Item);
         type jwa__strings__insert__A1782b is access all
           jwa__strings__string_8;
         freeze jwa__strings__insert__A1782b []
         R1783b : jwa__strings__insert__A1782b :=
           jwa__strings__create__2 (new_item)'reference;
         return R1783b.all;

-- 1709:       end if;
      end if;

-- 1710:

-- 1711:       if NI_Length <= 0 then
      if ni_length <= 0 then

-- 1712:          return Source;
         type jwa__strings__insert__A1787b is access
           jwa__strings__string_8;
         freeze jwa__strings__insert__A1787b []
         P1789b : constant jwa__strings__insert__A1787b := new
           jwa__strings__string_8'(source)[storage_pool =
           system__secondary_stack__ss_pool];
         P1789b.all._tag := jwa__strings__string_8P;
         F1790b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P1789b.all);
         $system__finalization_implementation__attach_to_final_list (
           F1790b, system__finalization_root__finalizable?(P1789b.all),
           1);
         R1786b : jwa__strings__insert__A1787b := P1789b;
         return R1786b.all;

-- 1713:       end if;
      end if;

-- 1714:

-- 1715:       return Result : String_8 do
      R1791b : declare
         F1792b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__insert__R1791b___clean is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F1792b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__insert__R1791b___clean;
      begin
         result : jwa__strings__string_8;
         jwa__strings__string_8IP (result, P20s => true);
         B1793b : begin
            system__soft_links__abort_defer.all;
            $ada__finalization__initialize (result);
            $system__finalization_implementation__attach_to_final_list
              (F1792b, system__finalization_root__finalizable?(result),
              1);
         at end
            system__standard_library__abort_undefer_direct;
         end B1793b;
         B1816b : declare
         begin

-- 1716:          Result.Make_Buffer (New_Length);
            jwa__strings__make_buffer (result, new_length);

-- 1717:          declare
            B_47 : declare

-- 1718:             Source_Data : String_8_Data renames Source.Ptr.Data;
               R1795b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1795b = null
                 "access check failed"]
               subtype jwa__strings__insert__B_47__S1794b is
                 jwa__strings__string_8_data (R1795b.all.capacity);
               R1797b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1797b = null
                 "access check failed"]
               source_data___XR_R1797b___XEXAXRdata : _renaming_type;
               source_data : jwa__strings__string_8_data renames R1797b.all.
                 data;

-- 1719:             Result_Data : String_8_Data renames Result.Ptr.Data;
               R1799b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R1799b = null
                 "access check failed"]
               R1800b : constant natural := R1799b.all.capacity;
               subtype jwa__strings__insert__B_47__S1798b is
                 jwa__strings__string_8_data (R1800b);
               R1802b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R1802b = null
                 "access check failed"]
               R1803b : constant jwa__strings__string_8_internal_ptr :=
                 R1802b;
               result_data___XR_R1803b___XEXAXRdata : _renaming_type;
               result_data : jwa__strings__string_8_data renames R1803b.all.
                 data;
            begin
               [constraint_error when
                 R1803b = null
                 "access check failed"]

-- 1720:          begin

-- 1721:             Result_Data.chr (1 .. Before - 1) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 before - 1 >= 1 and then (before - 1 > integer(R1800b))
                 "range check failed"]

-- 1722:               Source_Data.chr (1 .. Before - 1);
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 before - 1 >= 1 and then (before - 1 > integer(R1795b.all.
                   capacity))
                 "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__insert__B_47__T1804b is integer range
                   1 .. before - 1]
                 [subtype jwa__strings__insert__B_47__T1805b is string (
                   jwa__strings__insert__B_47__T1804b)]
                 [subtype jwa__strings__insert__B_47__T1806b is integer range
                   1 .. before - 1]
                 [subtype jwa__strings__insert__B_47__T1807b is string (
                   jwa__strings__insert__B_47__T1806b)]
                 jwa__strings__insert__B_47__T1805b'length /=
                   jwa__strings__insert__B_47__T1807b'length
                 "length check failed"]
               R1803b.all.data.chr (1 .. before - 1) := R1797b.all.data.
                 chr (1 .. before - 1);

-- 1723:             Result_Data.chr (Before .. Before + NI_Length - 1) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C1808b : boolean;
               if before + ni_length - 1 >= before then
                  [constraint_error when
                    not (interfaces__unsigned_32!(before) >= 1 and then
                      interfaces__unsigned_32!(before) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1808b := (integer(before) < 1 or else before +
                    ni_length - 1 > integer(R1800b));
               else
                  C1808b := false;
               end if;
               [constraint_error when C1808b "range check failed"]

-- 1724:               New_Item;
               [constraint_error when
                 [subtype jwa__strings__insert__B_47__T1809b is integer range
                   before .. before {+} ni_length - 1]
                 [subtype jwa__strings__insert__B_47__T1810b is string (
                   jwa__strings__insert__B_47__T1809b)]
                 jwa__strings__insert__B_47__T1810b'length /=
                   jwa__strings__insert__S1771b'length
                 "length check failed"]
               R1803b.all.data.chr (before .. before {+} ni_length -
                 1) := new_item;
               [constraint_error when
                 R1797b = null
                 "access check failed"]
               [constraint_error when
                 R1803b = null
                 "access check failed"]

-- 1725:             Result_Data.chr (Before + NI_Length .. New_Length) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 new_length >= before + ni_length and then (before +
                   ni_length < 1 or else integer(new_length) > integer
                   (R1800b))
                 "range check failed"]

-- 1726:               Source_Data.chr (Before .. Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C1813b : boolean;
               if length >= before then
                  [constraint_error when
                    not (interfaces__unsigned_32!(before) >= 1 and then
                      interfaces__unsigned_32!(before) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1813b := (integer(before) < 1 or else integer(length) >
                    integer(R1795b.all.capacity));
               else
                  C1813b := false;
               end if;
               [constraint_error when C1813b "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__insert__B_47__T1811b is integer range
                   before {+} ni_length .. new_length]
                 [subtype jwa__strings__insert__B_47__T1812b is string (
                   jwa__strings__insert__B_47__T1811b)]
                 [subtype jwa__strings__insert__B_47__T1814b is integer range
                   before .. length]
                 [subtype jwa__strings__insert__B_47__T1815b is string (
                   jwa__strings__insert__B_47__T1814b)]
                 jwa__strings__insert__B_47__T1812b'length /=
                   jwa__strings__insert__B_47__T1815b'length
                 "length check failed"]
               R1803b.all.data.chr (before {+} ni_length .. new_length) :=
                 R1797b.all.data.chr (before .. length);

-- 1727:          end;
            end B_47;

-- 1728:       end return;
         end B1816b;
         type jwa__strings__insert__R1791b__A1819b is access
           jwa__strings__string_8;
         freeze jwa__strings__insert__R1791b__A1819b []
         P1821b : constant jwa__strings__insert__R1791b__A1819b := new
           jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P1821b.all._tag := jwa__strings__string_8P;
         F1822b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P1821b.all);
         $system__finalization_implementation__attach_to_final_list (
           F1822b, system__finalization_root__finalizable?(P1821b.all),
           1);
         R1818b : jwa__strings__insert__R1791b__A1819b := P1821b;
         return R1818b.all;
      at end
         jwa__strings__insert__R1791b___clean;

-- 1729:    end Insert;
      end R1791b;
   end jwa__strings__insert;

-- 1730:
-- 1731:    ---------------------
-- 1732:    -- String_8.Insert --
-- 1733:    ---------------------

-- 1734:

-- 1735:    procedure Insert
   procedure jwa__strings__insert (source : in out
     jwa__strings__string_8; before : positive; new_item : string) is
      subtype jwa__strings__insert__S1823b__2 is string (new_item'first
        (1) .. new_item'last(1));
      C1824b : natural;

-- 1736:      (Source   : in out String_8;

-- 1737:       Before   : Positive;

-- 1738:       New_Item : String)

-- 1739:    is

-- 1740:       Length : constant Natural := Source.Length;
      B1826b : declare
         L1825b : label
      begin
         if source.ptr = null then
            C1824b := 0;
            goto L1825b;
         else
            R1828b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1828b = null
              "access check failed"]
            R1829b : constant natural := R1828b.all.capacity;
            subtype jwa__strings__insert__B1826b__S1827b__2 is
              jwa__strings__string_8_data (R1829b);
            R1831b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1831b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1831b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1824b := R1831b.all.data.length;
            goto L1825b;
         end if;
         <<L1825b>>
      end B1826b;
      length : constant natural := C1824b;
      ni_length : constant natural := natural(new_item'length);
      new_length : constant natural := length {+} ni_length;
      B_48 : label
      B_50 : label
   begin

-- 1741:       NI_Length : constant Natural := New_Item'Length;

-- 1742:       New_Length : constant Natural := Length + NI_Length;

-- 1743:    begin

-- 1744:       if Before not in 1 .. Length + 1 then
      [constraint_error when
        not (interfaces__unsigned_32!(before) >= 1 and then
          interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
        "invalid data"]
      if not (before in 1 .. length {+} 1) then

-- 1745:          raise Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(
           ada__strings__index_error'reference), "jwa.strings.adb:1745");

-- 1746:       end if;
      end if;

-- 1747:

-- 1748:       if Length <= 0 then
      if length <= 0 then

-- 1749:          Source.Set_String_8 (New_Item);
         jwa__strings__set__2 (source, new_item);

-- 1750:          return;
         return;

-- 1751:       end if;
      end if;

-- 1752:

-- 1753:       if NI_Length <= 0 then
      if ni_length <= 0 then

-- 1754:          return;
         return;

-- 1755:       end if;
      end if;

-- 1756:

-- 1757:       if Source.Ptr.Counter.rc > 1 or else
      R1836b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R1836b = null
        "access check failed"]
      C1839b : boolean;
      if R1836b.all.counter.rc > 1 then
         C1839b := true;
      else

-- 1758:         not Good_Capacity (Source.Ptr.Capacity, New_Length) then
         R1837b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1837b = null
           "access check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(R1837b.all.capacity) <=
             16#7FFF_FFFF#)
           "invalid data"]
         R1838b : constant boolean := jwa__strings__good_capacity (
           R1837b.all.capacity, new_length);
         [constraint_error when
           not (interfaces__unsigned_32!(R1838b) >=
             interfaces__unsigned_32!(false) and then
             interfaces__unsigned_32!(R1838b) <=
             interfaces__unsigned_32!(true))
           "invalid data"]
         C1839b := not R1838b;
      end if;
      if C1839b then
-- 1759:          -- can't reuse allocated buffer

-- 1760:          declare
         B_48 : declare
            F1840b : system__finalization_root__finalizable_ptr := null;
            procedure jwa__strings__insert__B_48___clean__2 is
            begin
               system__soft_links__abort_defer.all;
               $system__finalization_implementation__finalize_list (
                 F1840b);
               system__soft_links__abort_undefer.all;
               return;
            end jwa__strings__insert__B_48___clean__2;
         begin
            source_copy : jwa__strings__string_8 := source;

-- 1761:             Source_Copy : String_8 := Source;
            source_copy._tag := jwa__strings__string_8P;
            jwa__strings__adjust__2 (source_copy);
            $system__finalization_implementation__attach_to_final_list
              (F1840b, system__finalization_root__finalizable?(
              source_copy), 1);
            B_49 : label

-- 1762:          begin

-- 1763:             Source.Make_Buffer (New_Length);
            jwa__strings__make_buffer (source, new_length);

-- 1764:             declare
            B_49 : declare

-- 1765:                Old_Data : String_8_Data renames Source_Copy.Ptr.Data;
               R1842b : jwa__strings__string_8_internal_ptr renames
                 source_copy.ptr;
               [constraint_error when
                 R1842b = null
                 "access check failed"]
               R1843b : constant natural := R1842b.all.capacity;
               subtype jwa__strings__insert__B_48__B_49__S1841b__2 is
                 jwa__strings__string_8_data (R1843b);
               R1845b : jwa__strings__string_8_internal_ptr renames
                 source_copy.ptr;
               [constraint_error when
                 R1845b = null
                 "access check failed"]
               R1846b : constant jwa__strings__string_8_internal_ptr :=
                 R1845b;
               old_data___XR_R1846b___XEXAXRdata : _renaming_type;
               old_data : jwa__strings__string_8_data renames R1846b.all.
                 data;

-- 1766:                New_Data : String_8_Data renames Source.Ptr.Data;
               R1848b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1848b = null
                 "access check failed"]
               R1849b : constant natural := R1848b.all.capacity;
               subtype jwa__strings__insert__B_48__B_49__S1847b__2 is
                 jwa__strings__string_8_data (R1849b);
               R1851b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R1851b = null
                 "access check failed"]
               R1852b : constant jwa__strings__string_8_internal_ptr :=
                 R1851b;
               new_data___XR_R1852b___XEXAXRdata : _renaming_type;
               new_data : jwa__strings__string_8_data renames R1852b.all.
                 data;
            begin
               [constraint_error when
                 R1846b = null
                 "access check failed"]
               [constraint_error when
                 R1852b = null
                 "access check failed"]

-- 1767:             begin

-- 1768:                New_Data.chr (1 .. Before - 1) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 before - 1 >= 1 and then (before - 1 > integer(R1849b))
                 "range check failed"]

-- 1769:                  Old_Data.chr (1 .. Before - 1);
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 before - 1 >= 1 and then (before - 1 > integer(R1843b))
                 "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__insert__B_48__B_49__T1854b__2 is
                 [subtype jwa__strings__insert__B_48__B_49__T1853b__2 is
                   integer range 1 .. before - 1]
                   string (jwa__strings__insert__B_48__B_49__T1853b__2)]
                 [subtype jwa__strings__insert__B_48__B_49__T1856b__2 is
                 [subtype jwa__strings__insert__B_48__B_49__T1855b__2 is
                   integer range 1 .. before - 1]
                   string (jwa__strings__insert__B_48__B_49__T1855b__2)]
                 jwa__strings__insert__B_48__B_49__T1854b__2'length /=
                   jwa__strings__insert__B_48__B_49__T1856b__2'length
                 "length check failed"]
               R1852b.all.data.chr (1 .. before - 1) := R1846b.all.data.
                 chr (1 .. before - 1);
               [constraint_error when
                 R1852b = null
                 "access check failed"]

-- 1770:                New_Data.chr (Before .. Before + NI_Length - 1) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C1857b : boolean;
               if before + ni_length - 1 >= before then
                  [constraint_error when
                    not (interfaces__unsigned_32!(before) >= 1 and then
                      interfaces__unsigned_32!(before) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1857b := (integer(before) < 1 or else before +
                    ni_length - 1 > integer(R1849b));
               else
                  C1857b := false;
               end if;
               [constraint_error when C1857b "range check failed"]

-- 1771:                  New_Item;
               [constraint_error when
                 [subtype jwa__strings__insert__B_48__B_49__T1859b__2 is
                 [subtype jwa__strings__insert__B_48__B_49__T1858b__2 is
                   integer range before .. before {+} ni_length - 1]
                   string (jwa__strings__insert__B_48__B_49__T1858b__2)]
                 jwa__strings__insert__B_48__B_49__T1859b__2'length /=
                   jwa__strings__insert__S1823b__2'length
                 "length check failed"]
               R1852b.all.data.chr (before .. before {+} ni_length -
                 1) := new_item;
               [constraint_error when
                 R1846b = null
                 "access check failed"]
               [constraint_error when
                 R1852b = null
                 "access check failed"]

-- 1772:                New_Data.chr (Before + NI_Length .. New_Length) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 new_length >= before + ni_length and then (before +
                   ni_length < 1 or else integer(new_length) > integer
                   (R1849b))
                 "range check failed"]

-- 1773:                  Old_Data.chr (Before .. Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C1862b : boolean;
               if length >= before then
                  [constraint_error when
                    not (interfaces__unsigned_32!(before) >= 1 and then
                      interfaces__unsigned_32!(before) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1862b := (integer(before) < 1 or else integer(length) >
                    integer(R1843b));
               else
                  C1862b := false;
               end if;
               [constraint_error when C1862b "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__insert__B_48__B_49__T1861b__2 is
                 [subtype jwa__strings__insert__B_48__B_49__T1860b__2 is
                   integer range before {+} ni_length .. new_length]
                   string (jwa__strings__insert__B_48__B_49__T1860b__2)]
                 [subtype jwa__strings__insert__B_48__B_49__T1864b__2 is
                 [subtype jwa__strings__insert__B_48__B_49__T1863b__2 is
                   integer range before .. length]
                   string (jwa__strings__insert__B_48__B_49__T1863b__2)]
                 jwa__strings__insert__B_48__B_49__T1861b__2'length /=
                   jwa__strings__insert__B_48__B_49__T1864b__2'length
                 "length check failed"]
               R1852b.all.data.chr (before {+} ni_length .. new_length) :=
                 R1846b.all.data.chr (before .. length);

-- 1774:             end;
            end B_49;
         at end
            jwa__strings__insert__B_48___clean__2;

-- 1775:          end;
         end B_48;

-- 1776:       else -- can reuse buffer
      else

-- 1777:          declare
         B_50 : declare

-- 1778:             Source_Data : String_8_Data renames Source.Ptr.Data;
            R1866b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1866b = null
              "access check failed"]
            R1867b : constant natural := R1866b.all.capacity;
            subtype jwa__strings__insert__B_50__S1865b__2 is
              jwa__strings__string_8_data (R1867b);
            R1869b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1869b = null
              "access check failed"]
            R1870b : constant jwa__strings__string_8_internal_ptr :=
              R1869b;
            source_data___XR_R1870b___XEXAXRdata : _renaming_type;
            source_data : jwa__strings__string_8_data renames R1870b.all.
              data;
         begin
            [constraint_error when
              R1870b = null
              "access check failed"]

-- 1779:          begin

-- 1780:             Source_Data.Length := New_Length;
            R1870b.all.data.length := new_length;
            [constraint_error when
              R1870b = null
              "access check failed"]
            null;

-- 1781:             Source_Data.chr (Before + NI_Length .. New_Length) :=
            [constraint_error when
              not (interfaces__unsigned_32!(before) >= 1 and then
                interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              new_length >= before + ni_length and then (before +
                ni_length < 1 or else integer(new_length) > integer(
                R1867b))
              "range check failed"]

-- 1782:               Source_Data.chr (Before .. Length);
            [constraint_error when
              not (interfaces__unsigned_32!(before) >= 1 and then
                interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
              "invalid data"]
            C1873b : boolean;
            if length >= before then
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C1873b := (integer(before) < 1 or else integer(length) >
                 integer(R1867b));
            else
               C1873b := false;
            end if;
            [constraint_error when C1873b "range check failed"]
            [constraint_error when
              [subtype jwa__strings__insert__B_50__T1871b__2 is integer range
                before {+} ni_length .. new_length]
              [subtype jwa__strings__insert__B_50__T1872b__2 is string (
                jwa__strings__insert__B_50__T1871b__2)]
              [subtype jwa__strings__insert__B_50__T1874b__2 is integer range
                before .. length]
              [subtype jwa__strings__insert__B_50__T1875b__2 is string (
                jwa__strings__insert__B_50__T1874b__2)]
              jwa__strings__insert__B_50__T1872b__2'length /=
                jwa__strings__insert__B_50__T1875b__2'length
              "length check failed"]
            R1870b.all.data.chr (before {+} ni_length .. new_length) :=
              R1870b.all.data.chr (before .. length);
            [constraint_error when
              R1870b = null
              "access check failed"]

-- 1783:             Source_Data.chr (Before .. Before + NI_Length - 1) :=
            [constraint_error when
              not (interfaces__unsigned_32!(before) >= 1 and then
                interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (interfaces__unsigned_32!(before) >= 1 and then
                interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
              "invalid data"]
            C1876b : boolean;
            if before + ni_length - 1 >= before then
               [constraint_error when
                 not (interfaces__unsigned_32!(before) >= 1 and then
                   interfaces__unsigned_32!(before) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C1876b := (integer(before) < 1 or else before +
                 ni_length - 1 > integer(R1867b));
            else
               C1876b := false;
            end if;
            [constraint_error when C1876b "range check failed"]

-- 1784:               New_Item;
            [constraint_error when
              [subtype jwa__strings__insert__B_50__T1877b__2 is integer range
                before .. before {+} ni_length - 1]
              [subtype jwa__strings__insert__B_50__T1878b__2 is string (
                jwa__strings__insert__B_50__T1877b__2)]
              jwa__strings__insert__B_50__T1878b__2'length /=
                jwa__strings__insert__S1823b__2'length
              "length check failed"]
            R1870b.all.data.chr (before .. before {+} ni_length - 1) :=
              new_item;

-- 1785:          end;
         end B_50;

-- 1786:       end if;
      end if;

-- 1787:    end Insert;
      return;
   end jwa__strings__insert;

-- 1788:
-- 1789:    ------------------------
-- 1790:    -- String_8.Overwrite --
-- 1791:    ------------------------

-- 1792:

-- 1793:    function Overwrite
   function jwa__strings__overwrite (source : jwa__strings__string_8;
     position : positive; new_item : string) return
     jwa__strings__string_8 is
      subtype jwa__strings__overwrite__S1879b is string (new_item'first
        (1) .. new_item'last(1));
      C1880b : natural;

-- 1794:      (Source   : String_8;

-- 1795:       Position : Positive;

-- 1796:       New_Item : String) return String_8

-- 1797:    is

-- 1798:       Length : constant Natural := Source.Length;
      B1882b : declare
         L1881b : label
      begin
         if source.ptr = null then
            C1880b := 0;
            goto L1881b;
         else
            R1884b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1884b = null
              "access check failed"]
            subtype jwa__strings__overwrite__B1882b__S1883b is
              jwa__strings__string_8_data (R1884b.all.capacity);
            R1886b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1886b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1886b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1880b := R1886b.all.data.length;
            goto L1881b;
         end if;
         <<L1881b>>
      end B1882b;
      length : constant natural := C1880b;
      ni_length : constant natural := natural(new_item'length);
      new_length : natural;
      B_51 : label
      B_52 : label
   begin

-- 1799:       NI_Length : constant Natural := New_Item'Length;

-- 1800:       New_Length : Natural;

-- 1801:    begin

-- 1802:       if Position not in 1 .. Length + 1 then
      [constraint_error when
        not (interfaces__unsigned_32!(position) >= 1 and then
          interfaces__unsigned_32!(position) <= 16#7FFF_FFFF#)
        "invalid data"]
      if not (position in 1 .. length {+} 1) then

-- 1803:          raise Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(
           ada__strings__index_error'reference), "jwa.strings.adb:1803");

-- 1804:       end if;
      end if;

-- 1805:

-- 1806:       if Position = 1 and Length <= NI_Length then
      [constraint_error when
        not (interfaces__unsigned_32!(position) >= 1 and then
          interfaces__unsigned_32!(position) <= 16#7FFF_FFFF#)
        "invalid data"]
      if position = 1 and length <= ni_length then

-- 1807:          return To_String_8 (New_Item);
         type jwa__strings__overwrite__A1890b is access all
           jwa__strings__string_8;
         freeze jwa__strings__overwrite__A1890b []
         R1891b : jwa__strings__overwrite__A1890b :=
           jwa__strings__create__2 (new_item)'reference;
         return R1891b.all;

-- 1808:       end if;
      end if;

-- 1809:

-- 1810:       if NI_Length <= 0 then
      if ni_length <= 0 then

-- 1811:          return Source;
         type jwa__strings__overwrite__A1895b is access
           jwa__strings__string_8;
         freeze jwa__strings__overwrite__A1895b []
         P1897b : constant jwa__strings__overwrite__A1895b := new
           jwa__strings__string_8'(source)[storage_pool =
           system__secondary_stack__ss_pool];
         P1897b.all._tag := jwa__strings__string_8P;
         F1898b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P1897b.all);
         $system__finalization_implementation__attach_to_final_list (
           F1898b, system__finalization_root__finalizable?(P1897b.all),
           1);
         R1894b : jwa__strings__overwrite__A1895b := P1897b;
         return R1894b.all;

-- 1812:       end if;
      end if;

-- 1813:

-- 1814:       if Position + NI_Length - 1 <= Length then
      [constraint_error when
        not (interfaces__unsigned_32!(position) >= 1 and then
          interfaces__unsigned_32!(position) <= 16#7FFF_FFFF#)
        "invalid data"]
      if position {+} ni_length - 1 <= length then
-- 1815:          -- Length remains the same

-- 1816:          New_Length := Length;
         new_length := length;

-- 1817:          return Result : String_8 do
         R1899b : declare
            F1900b : system__finalization_root__finalizable_ptr := null;
            procedure jwa__strings__overwrite__R1899b___clean is
            begin
               system__soft_links__abort_defer.all;
               $system__finalization_implementation__finalize_list (
                 F1900b);
               system__soft_links__abort_undefer.all;
               return;
            end jwa__strings__overwrite__R1899b___clean;
         begin
            result : jwa__strings__string_8;
            jwa__strings__string_8IP (result, P20s => true);
            B1901b : begin
               system__soft_links__abort_defer.all;
               $ada__finalization__initialize (result);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F1900b, system__finalization_root__finalizable?(
                 result), 1);
            at end
               system__standard_library__abort_undefer_direct;
            end B1901b;
            B1926b : declare
            begin

-- 1818:             Result.Make_Buffer (New_Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               jwa__strings__make_buffer (result, new_length);

-- 1819:             declare
               B_51 : declare

-- 1820:                Source_Data : String_8_Data renames Source.Ptr.Data;
                  R1903b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1903b = null
                    "access check failed"]
                  subtype jwa__strings__overwrite__B_51__S1902b is
                    jwa__strings__string_8_data (R1903b.all.capacity);
                  R1905b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1905b = null
                    "access check failed"]
                  source_data___XR_R1905b___XEXAXRdata : _renaming_type;
                  source_data : jwa__strings__string_8_data renames
                    R1905b.all.data;

-- 1821:                Result_Data : String_8_Data renames Result.Ptr.Data;
                  R1907b : jwa__strings__string_8_internal_ptr renames
                    result.ptr;
                  [constraint_error when
                    R1907b = null
                    "access check failed"]
                  R1908b : constant natural := R1907b.all.capacity;
                  subtype jwa__strings__overwrite__B_51__S1906b is
                    jwa__strings__string_8_data (R1908b);
                  R1910b : jwa__strings__string_8_internal_ptr renames
                    result.ptr;
                  [constraint_error when
                    R1910b = null
                    "access check failed"]
                  R1911b : constant jwa__strings__string_8_internal_ptr :=
                    R1910b;
                  result_data___XR_R1911b___XEXAXRdata : _renaming_type;
                  result_data : jwa__strings__string_8_data renames
                    R1911b.all.data;
               begin
                  [constraint_error when
                    R1905b = null
                    "access check failed"]
                  [constraint_error when
                    R1911b = null
                    "access check failed"]

-- 1822:             begin

-- 1823:                Result_Data.chr (1 .. Position - 1) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    position - 1 >= 1 and then (position - 1 > integer
                      (R1908b))
                    "range check failed"]

-- 1824:                  Source_Data.chr (1 .. Position - 1);
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    position - 1 >= 1 and then (position - 1 > integer
                      (R1903b.all.capacity))
                    "range check failed"]
                  [constraint_error when
                    [subtype jwa__strings__overwrite__B_51__T1913b is
                    [subtype jwa__strings__overwrite__B_51__T1912b is
                      integer range 1 .. position - 1]
                      string (jwa__strings__overwrite__B_51__T1912b)]
                    [subtype jwa__strings__overwrite__B_51__T1915b is
                    [subtype jwa__strings__overwrite__B_51__T1914b is
                      integer range 1 .. position - 1]
                      string (jwa__strings__overwrite__B_51__T1914b)]
                    jwa__strings__overwrite__B_51__T1913b'length /=
                      jwa__strings__overwrite__B_51__T1915b'length
                    "length check failed"]
                  R1911b.all.data.chr (1 .. position - 1) := R1905b.all.
                    data.chr (1 .. position - 1);
                  [constraint_error when
                    R1911b = null
                    "access check failed"]

-- 1825:                Result_Data.chr (Position .. Position + NI_Length - 1) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1916b : boolean;
                  if position + ni_length - 1 >= position then
                     [constraint_error when
                       not (interfaces__unsigned_32!(position) >= 1 and then
                         interfaces__unsigned_32!(position) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1916b := (integer(position) < 1 or else position +
                       ni_length - 1 > integer(R1908b));
                  else
                     C1916b := false;
                  end if;
                  [constraint_error when C1916b "range check failed"]

-- 1826:                  New_Item;
                  [constraint_error when
                    [subtype jwa__strings__overwrite__B_51__T1918b is
                    [subtype jwa__strings__overwrite__B_51__T1917b is
                      integer range position .. position {+} ni_length -
                      1]
                      string (jwa__strings__overwrite__B_51__T1917b)]
                    jwa__strings__overwrite__B_51__T1918b'length /=
                      jwa__strings__overwrite__S1879b'length
                    "length check failed"]
                  R1911b.all.data.chr (position .. position {+}
                    ni_length - 1) := new_item;
                  [constraint_error when
                    R1905b = null
                    "access check failed"]
                  [constraint_error when
                    R1911b = null
                    "access check failed"]

-- 1827:                Result_Data.chr (Position + NI_Length .. New_Length) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(new_length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1920b : boolean;
                  if new_length >= position + ni_length then
                     C1919b : boolean;
                     if position + ni_length < 1 then
                        C1919b := true;
                     else
                        [constraint_error when
                          not (interfaces__unsigned_32!(new_length) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C1919b := integer(new_length) > integer(R1908b);
                     end if;
                     C1920b := (C1919b);
                  else
                     C1920b := false;
                  end if;
                  [constraint_error when C1920b "range check failed"]
                  R1921b : constant natural := new_length;

-- 1828:                  Source_Data.chr (Position + NI_Length .. Length);
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    length >= position + ni_length and then (position +
                      ni_length < 1 or else integer(length) > integer
                      (R1903b.all.capacity))
                    "range check failed"]
                  [constraint_error when
                    [subtype jwa__strings__overwrite__B_51__T1923b is
                    [subtype jwa__strings__overwrite__B_51__T1922b is
                      integer range position {+} ni_length .. R1921b]
                      string (jwa__strings__overwrite__B_51__T1922b)]
                    [subtype jwa__strings__overwrite__B_51__T1925b is
                    [subtype jwa__strings__overwrite__B_51__T1924b is
                      integer range position {+} ni_length .. length]
                      string (jwa__strings__overwrite__B_51__T1924b)]
                    jwa__strings__overwrite__B_51__T1923b'length /=
                      jwa__strings__overwrite__B_51__T1925b'length
                    "length check failed"]
                  R1911b.all.data.chr (position {+} ni_length .. R1921b) :=
                    R1905b.all.data.chr (position {+} ni_length ..
                    length);

-- 1829:             end;
               end B_51;

-- 1830:          end return;
            end B1926b;
            type jwa__strings__overwrite__R1899b__A1929b is access
              jwa__strings__string_8;
            freeze jwa__strings__overwrite__R1899b__A1929b []
            P1931b : constant jwa__strings__overwrite__R1899b__A1929b :=
              new jwa__strings__string_8'(result)[storage_pool =
              system__secondary_stack__ss_pool];
            P1931b.all._tag := jwa__strings__string_8P;
            F1932b : system__finalization_root__finalizable_ptr := null;
            jwa__strings__adjust__2 (P1931b.all);
            $system__finalization_implementation__attach_to_final_list
              (F1932b, system__finalization_root__finalizable?(P1931b.all),
              1);
            R1928b : jwa__strings__overwrite__R1899b__A1929b := P1931b;
            return R1928b.all;
         at end
            jwa__strings__overwrite__R1899b___clean;
         end R1899b;

-- 1831:       else -- Length is increased
      else

-- 1832:          New_Length := Position + NI_Length - 1;
         [constraint_error when
           not (interfaces__unsigned_32!(position) >= 1 and then
             interfaces__unsigned_32!(position) <= 16#7FFF_FFFF#)
           "invalid data"]
         new_length := position {+} ni_length - 1;

-- 1833:          return Result : String_8 do
         R1933b : declare
            F1934b : system__finalization_root__finalizable_ptr := null;
            procedure jwa__strings__overwrite__R1933b___clean is
            begin
               system__soft_links__abort_defer.all;
               $system__finalization_implementation__finalize_list (
                 F1934b);
               system__soft_links__abort_undefer.all;
               return;
            end jwa__strings__overwrite__R1933b___clean;
         begin
            result : jwa__strings__string_8;
            jwa__strings__string_8IP (result, P20s => true);
            B1935b : begin
               system__soft_links__abort_defer.all;
               $ada__finalization__initialize (result);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F1934b, system__finalization_root__finalizable?(
                 result), 1);
            at end
               system__standard_library__abort_undefer_direct;
            end B1935b;
            B1955b : declare
            begin

-- 1834:             Result.Make_Buffer (New_Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               jwa__strings__make_buffer (result, new_length);

-- 1835:             declare
               B_52 : declare

-- 1836:                Source_Data : String_8_Data renames Source.Ptr.Data;
                  R1937b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1937b = null
                    "access check failed"]
                  subtype jwa__strings__overwrite__B_52__S1936b is
                    jwa__strings__string_8_data (R1937b.all.capacity);
                  R1939b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1939b = null
                    "access check failed"]
                  source_data___XR_R1939b___XEXAXRdata : _renaming_type;
                  source_data : jwa__strings__string_8_data renames
                    R1939b.all.data;

-- 1837:                Result_Data : String_8_Data renames Result.Ptr.Data;
                  R1941b : jwa__strings__string_8_internal_ptr renames
                    result.ptr;
                  [constraint_error when
                    R1941b = null
                    "access check failed"]
                  R1942b : constant natural := R1941b.all.capacity;
                  subtype jwa__strings__overwrite__B_52__S1940b is
                    jwa__strings__string_8_data (R1942b);
                  R1944b : jwa__strings__string_8_internal_ptr renames
                    result.ptr;
                  [constraint_error when
                    R1944b = null
                    "access check failed"]
                  R1945b : constant jwa__strings__string_8_internal_ptr :=
                    R1944b;
                  result_data___XR_R1945b___XEXAXRdata : _renaming_type;
                  result_data : jwa__strings__string_8_data renames
                    R1945b.all.data;
               begin
                  [constraint_error when
                    R1939b = null
                    "access check failed"]
                  [constraint_error when
                    R1945b = null
                    "access check failed"]

-- 1838:             begin

-- 1839:                Result_Data.chr (1 .. Position - 1) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    position - 1 >= 1 and then (position - 1 > integer
                      (R1942b))
                    "range check failed"]

-- 1840:                  Source_Data.chr (1 .. Position - 1);
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    position - 1 >= 1 and then (position - 1 > integer
                      (R1937b.all.capacity))
                    "range check failed"]
                  [constraint_error when
                    [subtype jwa__strings__overwrite__B_52__T1947b is
                    [subtype jwa__strings__overwrite__B_52__T1946b is
                      integer range 1 .. position - 1]
                      string (jwa__strings__overwrite__B_52__T1946b)]
                    [subtype jwa__strings__overwrite__B_52__T1949b is
                    [subtype jwa__strings__overwrite__B_52__T1948b is
                      integer range 1 .. position - 1]
                      string (jwa__strings__overwrite__B_52__T1948b)]
                    jwa__strings__overwrite__B_52__T1947b'length /=
                      jwa__strings__overwrite__B_52__T1949b'length
                    "length check failed"]
                  R1945b.all.data.chr (1 .. position - 1) := R1939b.all.
                    data.chr (1 .. position - 1);
                  [constraint_error when
                    R1945b = null
                    "access check failed"]

-- 1841:                Result_Data.chr (Position .. New_Length) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(new_length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1951b : boolean;
                  if new_length >= position then
                     [constraint_error when
                       not (interfaces__unsigned_32!(position) >= 1 and then
                         interfaces__unsigned_32!(position) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1950b : boolean;
                     if integer(position) < 1 then
                        C1950b := true;
                     else
                        [constraint_error when
                          not (interfaces__unsigned_32!(new_length) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C1950b := integer(new_length) > integer(R1942b);
                     end if;
                     C1951b := (C1950b);
                  else
                     C1951b := false;
                  end if;
                  [constraint_error when C1951b "range check failed"]
                  R1952b : constant natural := new_length;

-- 1842:                  New_Item;
                  [constraint_error when
                    [subtype jwa__strings__overwrite__B_52__T1954b is
                    [subtype jwa__strings__overwrite__B_52__T1953b is
                      integer range position .. R1952b]
                      string (jwa__strings__overwrite__B_52__T1953b)]
                    jwa__strings__overwrite__B_52__T1954b'length /=
                      jwa__strings__overwrite__S1879b'length
                    "length check failed"]
                  R1945b.all.data.chr (position .. R1952b) := new_item;

-- 1843:             end;
               end B_52;

-- 1844:          end return;
            end B1955b;
            type jwa__strings__overwrite__R1933b__A1958b is access
              jwa__strings__string_8;
            freeze jwa__strings__overwrite__R1933b__A1958b []
            P1960b : constant jwa__strings__overwrite__R1933b__A1958b :=
              new jwa__strings__string_8'(result)[storage_pool =
              system__secondary_stack__ss_pool];
            P1960b.all._tag := jwa__strings__string_8P;
            F1961b : system__finalization_root__finalizable_ptr := null;
            jwa__strings__adjust__2 (P1960b.all);
            $system__finalization_implementation__attach_to_final_list
              (F1961b, system__finalization_root__finalizable?(P1960b.all),
              1);
            R1957b : jwa__strings__overwrite__R1933b__A1958b := P1960b;
            return R1957b.all;
         at end
            jwa__strings__overwrite__R1933b___clean;

-- 1845:       end if;
         end R1933b;
      end if;

-- 1846:    end Overwrite;
   end jwa__strings__overwrite;

-- 1847:
-- 1848:    ------------------------
-- 1849:    -- String_8.Overwrite --
-- 1850:    ------------------------

-- 1851:

-- 1852:    procedure Overwrite
   procedure jwa__strings__overwrite (source : in out
     jwa__strings__string_8; position : positive; new_item : string) is
      subtype jwa__strings__overwrite__S1962b__2 is string (new_item'
        first(1) .. new_item'last(1));
      C1963b : natural;

-- 1853:      (Source   : in out String_8;

-- 1854:       Position : Positive;

-- 1855:       New_Item : String)

-- 1856:    is

-- 1857:       Length : constant Natural := Source.Length;
      B1965b : declare
         L1964b : label
      begin
         if source.ptr = null then
            C1963b := 0;
            goto L1964b;
         else
            R1967b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1967b = null
              "access check failed"]
            R1968b : constant natural := R1967b.all.capacity;
            subtype jwa__strings__overwrite__B1965b__S1966b__2 is
              jwa__strings__string_8_data (R1968b);
            R1970b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R1970b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R1970b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C1963b := R1970b.all.data.length;
            goto L1964b;
         end if;
         <<L1964b>>
      end B1965b;
      length : constant natural := C1963b;
      ni_length : constant natural := natural(new_item'length);
      new_length : natural;
      B_53 : label
      B_55 : label
      B_56 : label
      B_58 : label
   begin

-- 1858:       NI_Length : constant Natural := New_Item'Length;

-- 1859:       New_Length : Natural;

-- 1860:    begin

-- 1861:       if Position not in 1 .. Length + 1 then
      [constraint_error when
        not (interfaces__unsigned_32!(position) >= 1 and then
          interfaces__unsigned_32!(position) <= 16#7FFF_FFFF#)
        "invalid data"]
      if not (position in 1 .. length {+} 1) then

-- 1862:          raise Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(
           ada__strings__index_error'reference), "jwa.strings.adb:1862");

-- 1863:       end if;
      end if;

-- 1864:

-- 1865:       if Position = 1 and Length <= NI_Length then
      [constraint_error when
        not (interfaces__unsigned_32!(position) >= 1 and then
          interfaces__unsigned_32!(position) <= 16#7FFF_FFFF#)
        "invalid data"]
      if position = 1 and length <= ni_length then

-- 1866:          Source.Set_String_8 (New_Item);
         jwa__strings__set__2 (source, new_item);

-- 1867:          return;
         return;

-- 1868:       end if;
      end if;

-- 1869:

-- 1870:       if NI_Length <= 0 then
      if ni_length <= 0 then

-- 1871:          return;
         return;

-- 1872:       end if;
      end if;

-- 1873:

-- 1874:       if Position + NI_Length - 1 <= Length then
      [constraint_error when
        not (interfaces__unsigned_32!(position) >= 1 and then
          interfaces__unsigned_32!(position) <= 16#7FFF_FFFF#)
        "invalid data"]
      if position {+} ni_length - 1 <= length then
-- 1875:          -- Length remains the same

-- 1876:          New_Length := Length;
         new_length := length;

-- 1877:          if Source.Ptr.Counter.rc > 1 then
         R1975b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R1975b = null
           "access check failed"]
         if R1975b.all.counter.rc > 1 then
-- 1878:             -- can't reuse allocated buffer

-- 1879:             declare
            B_53 : declare
               F1976b : system__finalization_root__finalizable_ptr :=
                 null;
               procedure jwa__strings__overwrite__B_53___clean__2 is
               begin
                  system__soft_links__abort_defer.all;
                  $system__finalization_implementation__finalize_list (
                    F1976b);
                  system__soft_links__abort_undefer.all;
                  return;
               end jwa__strings__overwrite__B_53___clean__2;
            begin
               source_copy : jwa__strings__string_8 := source;

-- 1880:                Source_Copy : String_8 := Source;
               source_copy._tag := jwa__strings__string_8P;
               jwa__strings__adjust__2 (source_copy);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F1976b, system__finalization_root__finalizable?(
                 source_copy), 1);
               B_54 : label

-- 1881:             begin

-- 1882:                Source.Make_Buffer (New_Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               jwa__strings__make_buffer (source, new_length);

-- 1883:                declare
               B_54 : declare

-- 1884:                   Old_Data : String_8_Data renames Source_Copy.Ptr.Data;
                  R1978b : jwa__strings__string_8_internal_ptr renames
                    source_copy.ptr;
                  [constraint_error when
                    R1978b = null
                    "access check failed"]
                  R1979b : constant natural := R1978b.all.capacity;
                  subtype
                    jwa__strings__overwrite__B_53__B_54__S1977b__2 is
                    jwa__strings__string_8_data (R1979b);
                  R1981b : jwa__strings__string_8_internal_ptr renames
                    source_copy.ptr;
                  [constraint_error when
                    R1981b = null
                    "access check failed"]
                  R1982b : constant jwa__strings__string_8_internal_ptr :=
                    R1981b;
                  old_data___XR_R1982b___XEXAXRdata : _renaming_type;
                  old_data : jwa__strings__string_8_data renames R1982b.all.
                    data;

-- 1885:                   New_Data : String_8_Data renames Source.Ptr.Data;
                  R1984b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1984b = null
                    "access check failed"]
                  R1985b : constant natural := R1984b.all.capacity;
                  subtype
                    jwa__strings__overwrite__B_53__B_54__S1983b__2 is
                    jwa__strings__string_8_data (R1985b);
                  R1987b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R1987b = null
                    "access check failed"]
                  R1988b : constant jwa__strings__string_8_internal_ptr :=
                    R1987b;
                  new_data___XR_R1988b___XEXAXRdata : _renaming_type;
                  new_data : jwa__strings__string_8_data renames R1988b.all.
                    data;
               begin
                  [constraint_error when
                    R1982b = null
                    "access check failed"]
                  [constraint_error when
                    R1988b = null
                    "access check failed"]

-- 1886:                begin

-- 1887:                   New_Data.chr (1 .. Position - 1) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    position - 1 >= 1 and then (position - 1 > integer
                      (R1985b))
                    "range check failed"]

-- 1888:                     Old_Data.chr (1 .. Position - 1);
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    position - 1 >= 1 and then (position - 1 > integer
                      (R1979b))
                    "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T1990b__2 is
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T1989b__2 is
                      integer range 1 .. position - 1]
                      string (
                      jwa__strings__overwrite__B_53__B_54__T1989b__2)]
                    jwa__strings__overwrite__B_53__B_54__T1990b__2'
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T1992b__2 is
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T1991b__2 is
                      integer range 1 .. position - 1]
                      string (
                      jwa__strings__overwrite__B_53__B_54__T1991b__2)]
                      length /=
                      jwa__strings__overwrite__B_53__B_54__T1992b__2'
                      length
                    "length check failed"]
                  R1988b.all.data.chr (1 .. position - 1) := R1982b.all.
                    data.chr (1 .. position - 1);
                  [constraint_error when
                    R1988b = null
                    "access check failed"]

-- 1889:                   New_Data.chr (Position .. Position + NI_Length - 1) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1993b : boolean;
                  if position + ni_length - 1 >= position then
                     [constraint_error when
                       not (interfaces__unsigned_32!(position) >= 1 and then
                         interfaces__unsigned_32!(position) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C1993b := (integer(position) < 1 or else position +
                       ni_length - 1 > integer(R1985b));
                  else
                     C1993b := false;
                  end if;
                  [constraint_error when C1993b "range check failed"]

-- 1890:                     New_Item;
                  [constraint_error when
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T1995b__2 is
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T1994b__2 is
                      integer range position .. position {+} ni_length -
                      1]
                      string (
                      jwa__strings__overwrite__B_53__B_54__T1994b__2)]
                    jwa__strings__overwrite__B_53__B_54__T1995b__2'
                      length /= jwa__strings__overwrite__S1962b__2'
                      length
                    "length check failed"]
                  R1988b.all.data.chr (position .. position {+}
                    ni_length - 1) := new_item;
                  [constraint_error when
                    R1982b = null
                    "access check failed"]
                  [constraint_error when
                    R1988b = null
                    "access check failed"]

-- 1891:                   New_Data.chr (Position + NI_Length .. New_Length) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(new_length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C1997b : boolean;
                  if new_length >= position + ni_length then
                     C1996b : boolean;
                     if position + ni_length < 1 then
                        C1996b := true;
                     else
                        [constraint_error when
                          not (interfaces__unsigned_32!(new_length) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C1996b := integer(new_length) > integer(R1985b);
                     end if;
                     C1997b := (C1996b);
                  else
                     C1997b := false;
                  end if;
                  [constraint_error when C1997b "range check failed"]
                  R1998b : constant natural := new_length;

-- 1892:                     Old_Data.chr (Position + NI_Length .. Length);
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    length >= position + ni_length and then (position +
                      ni_length < 1 or else integer(length) > integer
                      (R1979b))
                    "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T2000b__2 is
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T1999b__2 is
                      integer range position {+} ni_length .. R1998b]
                      string (
                      jwa__strings__overwrite__B_53__B_54__T1999b__2)]
                    jwa__strings__overwrite__B_53__B_54__T2000b__2'
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T2002b__2 is
                    [subtype
                      jwa__strings__overwrite__B_53__B_54__T2001b__2 is
                      integer range position {+} ni_length .. length]
                      string (
                      jwa__strings__overwrite__B_53__B_54__T2001b__2)]
                      length /=
                      jwa__strings__overwrite__B_53__B_54__T2002b__2'
                      length
                    "length check failed"]
                  R1988b.all.data.chr (position {+} ni_length .. R1998b) :=
                    R1982b.all.data.chr (position {+} ni_length ..
                    length);

-- 1893:                end;
               end B_54;
            at end
               jwa__strings__overwrite__B_53___clean__2;

-- 1894:             end;
            end B_53;

-- 1895:          else -- can reuse buffer
         else

-- 1896:             declare
            B_55 : declare

-- 1897:                Source_Data : String_8_Data renames Source.Ptr.Data;
               R2004b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R2004b = null
                 "access check failed"]
               R2005b : constant natural := R2004b.all.capacity;
               subtype jwa__strings__overwrite__B_55__S2003b__2 is
                 jwa__strings__string_8_data (R2005b);
               R2007b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R2007b = null
                 "access check failed"]
               R2008b : constant jwa__strings__string_8_internal_ptr :=
                 R2007b;
               source_data___XR_R2008b___XEXAXRdata : _renaming_type;
               source_data : jwa__strings__string_8_data renames R2008b.all.
                 data;
            begin
               [constraint_error when
                 R2008b = null
                 "access check failed"]

-- 1898:             begin

-- 1899:                Source_Data.chr (Position .. Position + NI_Length - 1) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(position) >= 1 and then
                   interfaces__unsigned_32!(position) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (interfaces__unsigned_32!(position) >= 1 and then
                   interfaces__unsigned_32!(position) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C2009b : boolean;
               if position + ni_length - 1 >= position then
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C2009b := (integer(position) < 1 or else position +
                    ni_length - 1 > integer(R2005b));
               else
                  C2009b := false;
               end if;
               [constraint_error when C2009b "range check failed"]

-- 1900:                  New_Item;
               [constraint_error when
                 [subtype jwa__strings__overwrite__B_55__T2011b__2 is
                 [subtype jwa__strings__overwrite__B_55__T2010b__2 is
                   integer range position .. position {+} ni_length -
                   1]
                   string (jwa__strings__overwrite__B_55__T2010b__2)]
                 jwa__strings__overwrite__B_55__T2011b__2'length /=
                   jwa__strings__overwrite__S1962b__2'length
                 "length check failed"]
               R2008b.all.data.chr (position .. position {+} ni_length -
                 1) := new_item;

-- 1901:             end;
            end B_55;

-- 1902:          end if;
         end if;

-- 1903:       else -- Length is increased
      else

-- 1904:          New_Length := Position + NI_Length - 1;
         [constraint_error when
           not (interfaces__unsigned_32!(position) >= 1 and then
             interfaces__unsigned_32!(position) <= 16#7FFF_FFFF#)
           "invalid data"]
         new_length := position {+} ni_length - 1;

-- 1905:          if Source.Ptr.Counter.rc > 1 or else
         R2012b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R2012b = null
           "access check failed"]
         C2015b : boolean;
         if R2012b.all.counter.rc > 1 then
            C2015b := true;
         else

-- 1906:            not Good_Capacity (Source.Ptr.Capacity, New_Length) then
            R2013b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R2013b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R2013b.all.capacity) <=
                16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              not (interfaces__unsigned_32!(new_length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            R2014b : constant boolean := jwa__strings__good_capacity (
              R2013b.all.capacity, new_length);
            [constraint_error when
              not (interfaces__unsigned_32!(R2014b) >=
                interfaces__unsigned_32!(false) and then
                interfaces__unsigned_32!(R2014b) <=
                interfaces__unsigned_32!(true))
              "invalid data"]
            C2015b := not R2014b;
         end if;
         if C2015b then
-- 1907:             -- can't reuse allocated buffer

-- 1908:             declare
            B_56 : declare
               F2016b : system__finalization_root__finalizable_ptr :=
                 null;
               procedure jwa__strings__overwrite__B_56___clean__2 is
               begin
                  system__soft_links__abort_defer.all;
                  $system__finalization_implementation__finalize_list (
                    F2016b);
                  system__soft_links__abort_undefer.all;
                  return;
               end jwa__strings__overwrite__B_56___clean__2;
            begin
               source_copy : jwa__strings__string_8 := source;

-- 1909:                Source_Copy : String_8 := Source;
               source_copy._tag := jwa__strings__string_8P;
               jwa__strings__adjust__2 (source_copy);

                 $
                 system__finalization_implementation__attach_to_final_list
                 (F2016b, system__finalization_root__finalizable?(
                 source_copy), 1);
               B_57 : label

-- 1910:             begin

-- 1911:                Source.Make_Buffer (New_Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               jwa__strings__make_buffer (source, new_length);

-- 1912:                declare
               B_57 : declare

-- 1913:                   Old_Data : String_8_Data renames Source_Copy.Ptr.Data;
                  R2018b : jwa__strings__string_8_internal_ptr renames
                    source_copy.ptr;
                  [constraint_error when
                    R2018b = null
                    "access check failed"]
                  R2019b : constant natural := R2018b.all.capacity;
                  subtype
                    jwa__strings__overwrite__B_56__B_57__S2017b__2 is
                    jwa__strings__string_8_data (R2019b);
                  R2021b : jwa__strings__string_8_internal_ptr renames
                    source_copy.ptr;
                  [constraint_error when
                    R2021b = null
                    "access check failed"]
                  R2022b : constant jwa__strings__string_8_internal_ptr :=
                    R2021b;
                  old_data___XR_R2022b___XEXAXRdata : _renaming_type;
                  old_data : jwa__strings__string_8_data renames R2022b.all.
                    data;

-- 1914:                   New_Data : String_8_Data renames Source.Ptr.Data;
                  R2024b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R2024b = null
                    "access check failed"]
                  R2025b : constant natural := R2024b.all.capacity;
                  subtype
                    jwa__strings__overwrite__B_56__B_57__S2023b__2 is
                    jwa__strings__string_8_data (R2025b);
                  R2027b : jwa__strings__string_8_internal_ptr renames
                    source.ptr;
                  [constraint_error when
                    R2027b = null
                    "access check failed"]
                  R2028b : constant jwa__strings__string_8_internal_ptr :=
                    R2027b;
                  new_data___XR_R2028b___XEXAXRdata : _renaming_type;
                  new_data : jwa__strings__string_8_data renames R2028b.all.
                    data;
               begin
                  [constraint_error when
                    R2022b = null
                    "access check failed"]
                  [constraint_error when
                    R2028b = null
                    "access check failed"]

-- 1915:                begin

-- 1916:                   New_Data.chr (1 .. Position - 1) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    position - 1 >= 1 and then (position - 1 > integer
                      (R2025b))
                    "range check failed"]

-- 1917:                     Old_Data.chr (1 .. Position - 1);
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    position - 1 >= 1 and then (position - 1 > integer
                      (R2019b))
                    "range check failed"]
                  [constraint_error when
                    [subtype
                      jwa__strings__overwrite__B_56__B_57__T2030b__2 is
                    [subtype
                      jwa__strings__overwrite__B_56__B_57__T2029b__2 is
                      integer range 1 .. position - 1]
                      string (
                      jwa__strings__overwrite__B_56__B_57__T2029b__2)]
                    jwa__strings__overwrite__B_56__B_57__T2030b__2'
                    [subtype
                      jwa__strings__overwrite__B_56__B_57__T2032b__2 is
                    [subtype
                      jwa__strings__overwrite__B_56__B_57__T2031b__2 is
                      integer range 1 .. position - 1]
                      string (
                      jwa__strings__overwrite__B_56__B_57__T2031b__2)]
                      length /=
                      jwa__strings__overwrite__B_56__B_57__T2032b__2'
                      length
                    "length check failed"]
                  R2028b.all.data.chr (1 .. position - 1) := R2022b.all.
                    data.chr (1 .. position - 1);
                  [constraint_error when
                    R2028b = null
                    "access check failed"]

-- 1918:                   New_Data.chr (Position .. New_Length) :=
                  [constraint_error when
                    not (interfaces__unsigned_32!(new_length) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C2034b : boolean;
                  if new_length >= position then
                     [constraint_error when
                       not (interfaces__unsigned_32!(position) >= 1 and then
                         interfaces__unsigned_32!(position) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C2033b : boolean;
                     if integer(position) < 1 then
                        C2033b := true;
                     else
                        [constraint_error when
                          not (interfaces__unsigned_32!(new_length) <=
                            16#7FFF_FFFF#)
                          "invalid data"]
                        C2033b := integer(new_length) > integer(R2025b);
                     end if;
                     C2034b := (C2033b);
                  else
                     C2034b := false;
                  end if;
                  [constraint_error when C2034b "range check failed"]
                  R2035b : constant natural := new_length;

-- 1919:                     New_Item;
                  [constraint_error when
                    [subtype
                      jwa__strings__overwrite__B_56__B_57__T2037b__2 is
                    [subtype
                      jwa__strings__overwrite__B_56__B_57__T2036b__2 is
                      integer range position .. R2035b]
                      string (
                      jwa__strings__overwrite__B_56__B_57__T2036b__2)]
                    jwa__strings__overwrite__B_56__B_57__T2037b__2'
                      length /= jwa__strings__overwrite__S1962b__2'
                      length
                    "length check failed"]
                  R2028b.all.data.chr (position .. R2035b) := new_item;

-- 1920:                end;
               end B_57;
            at end
               jwa__strings__overwrite__B_56___clean__2;

-- 1921:             end;
            end B_56;

-- 1922:          else -- can reuse buffer
         else

-- 1923:             declare
            B_58 : declare

-- 1924:                Source_Data : String_8_Data renames Source.Ptr.Data;
               R2039b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R2039b = null
                 "access check failed"]
               R2040b : constant natural := R2039b.all.capacity;
               subtype jwa__strings__overwrite__B_58__S2038b__2 is
                 jwa__strings__string_8_data (R2040b);
               R2042b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R2042b = null
                 "access check failed"]
               R2043b : constant jwa__strings__string_8_internal_ptr :=
                 R2042b;
               source_data___XR_R2043b___XEXAXRdata : _renaming_type;
               source_data : jwa__strings__string_8_data renames R2043b.all.
                 data;
            begin
               [constraint_error when
                 R2043b = null
                 "access check failed"]

-- 1925:             begin

-- 1926:                Source_Data.Length := New_Length;
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               R2043b.all.data.length := new_length;
               [constraint_error when
                 R2043b = null
                 "access check failed"]

-- 1927:                Source_Data.chr (Position .. New_Length) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(new_length) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 not (interfaces__unsigned_32!(position) >= 1 and then
                   interfaces__unsigned_32!(position) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               C2045b : boolean;
               if new_length >= position then
                  [constraint_error when
                    not (interfaces__unsigned_32!(position) >= 1 and then
                      interfaces__unsigned_32!(position) <=
                      16#7FFF_FFFF#)
                    "invalid data"]
                  C2044b : boolean;
                  if integer(position) < 1 then
                     C2044b := true;
                  else
                     [constraint_error when
                       not (interfaces__unsigned_32!(new_length) <=
                         16#7FFF_FFFF#)
                       "invalid data"]
                     C2044b := integer(new_length) > integer(R2040b);
                  end if;
                  C2045b := (C2044b);
               else
                  C2045b := false;
               end if;
               [constraint_error when C2045b "range check failed"]
               R2046b : constant natural := new_length;

-- 1928:                  New_Item;
               [constraint_error when
                 [subtype jwa__strings__overwrite__B_58__T2048b__2 is
                 [subtype jwa__strings__overwrite__B_58__T2047b__2 is
                   integer range position .. R2046b]
                   string (jwa__strings__overwrite__B_58__T2047b__2)]
                 jwa__strings__overwrite__B_58__T2048b__2'length /=
                   jwa__strings__overwrite__S1962b__2'length
                 "length check failed"]
               R2043b.all.data.chr (position .. R2046b) := new_item;

-- 1929:             end;
            end B_58;

-- 1930:          end if;
         end if;

-- 1931:       end if;
      end if;

-- 1932:    end Overwrite;
      return;
   end jwa__strings__overwrite;

-- 1933:
-- 1934:    ---------------------
-- 1935:    -- String_8.Delete --
-- 1936:    ---------------------

-- 1937:

-- 1938:    function Delete
   function jwa__strings__delete (source : jwa__strings__string_8; from :
     positive; through : natural) return jwa__strings__string_8 is
      C2049b : natural;

-- 1939:      (Source  : String_8;

-- 1940:       From    : Positive;

-- 1941:       Through : Natural) return String_8

-- 1942:    is

-- 1943:       Length : constant Natural := Source.Length;
      B2051b : declare
         L2050b : label
      begin
         if source.ptr = null then
            C2049b := 0;
            goto L2050b;
         else
            R2053b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R2053b = null
              "access check failed"]
            subtype jwa__strings__delete__B2051b__S2052b is
              jwa__strings__string_8_data (R2053b.all.capacity);
            R2055b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R2055b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R2055b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C2049b := R2055b.all.data.length;
            goto L2050b;
         end if;
         <<L2050b>>
      end B2051b;
      length : constant natural := C2049b;
      new_length : natural;
      B_59 : label
   begin

-- 1944:       New_Length : Natural;

-- 1945:    begin

-- 1946:       if From > Through then
      [constraint_error when
        not (interfaces__unsigned_32!(from) >= 1 and then
          interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(through) <= 16#7FFF_FFFF#)
        "invalid data"]
      if from > through then

-- 1947:          return Source;
         type jwa__strings__delete__A2058b is access
           jwa__strings__string_8;
         freeze jwa__strings__delete__A2058b []
         P2060b : constant jwa__strings__delete__A2058b := new
           jwa__strings__string_8'(source)[storage_pool =
           system__secondary_stack__ss_pool];
         P2060b.all._tag := jwa__strings__string_8P;
         F2061b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P2060b.all);
         $system__finalization_implementation__attach_to_final_list (
           F2061b, system__finalization_root__finalizable?(P2060b.all),
           1);
         R2057b : jwa__strings__delete__A2058b := P2060b;
         return R2057b.all;

-- 1948:       end if;
      end if;

-- 1949:

-- 1950:       if From > Length + 1 or Through < 0 then
      [constraint_error when
        not (interfaces__unsigned_32!(from) >= 1 and then
          interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(through) <= 16#7FFF_FFFF#)
        "invalid data"]
      if from > length {+} 1 or through < 0 then

-- 1951:          raise Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(
           ada__strings__index_error'reference), "jwa.strings.adb:1951");

-- 1952:       end if;
      end if;

-- 1953:

-- 1954:       if From = 1 and Through = Length then
      [constraint_error when
        not (interfaces__unsigned_32!(from) >= 1 and then
          interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(through) <= 16#7FFF_FFFF#)
        "invalid data"]
      if from = 1 and through = length then

-- 1955:          return Null_String_8;
         type jwa__strings__delete__A2066b is access
           jwa__strings__string_8;
         freeze jwa__strings__delete__A2066b []
         P2068b : constant jwa__strings__delete__A2066b := new
           jwa__strings__string_8'(jwa__strings__null_string_8)
           [storage_pool = system__secondary_stack__ss_pool];
         P2068b.all._tag := jwa__strings__string_8P;
         F2069b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P2068b.all);
         $system__finalization_implementation__attach_to_final_list (
           F2069b, system__finalization_root__finalizable?(P2068b.all),
           1);
         R2065b : jwa__strings__delete__A2066b := P2068b;
         return R2065b.all;

-- 1956:       end if;
      end if;

-- 1957:

-- 1958:       New_Length := Length + From - Through - 1;
      [constraint_error when
        not (interfaces__unsigned_32!(from) >= 1 and then
          interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(through) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (length {+} from {-} through - 1 in 0 .. 16#7FFF_FFFF#)
        "range check failed"]
      new_length := length {+} from {-} through - 1;

-- 1959:

-- 1960:       return Result : String_8 do
      R2070b : declare
         F2071b : system__finalization_root__finalizable_ptr := null;
         procedure jwa__strings__delete__R2070b___clean is
         begin
            system__soft_links__abort_defer.all;
            $system__finalization_implementation__finalize_list (F2071b);
            system__soft_links__abort_undefer.all;
            return;
         end jwa__strings__delete__R2070b___clean;
      begin
         result : jwa__strings__string_8;
         jwa__strings__string_8IP (result, P20s => true);
         B2072b : begin
            system__soft_links__abort_defer.all;
            $ada__finalization__initialize (result);
            $system__finalization_implementation__attach_to_final_list
              (F2071b, system__finalization_root__finalizable?(result),
              1);
         at end
            system__standard_library__abort_undefer_direct;
         end B2072b;
         B2093b : declare
         begin

-- 1961:          Result.Make_Buffer (New_Length);
            jwa__strings__make_buffer (result, new_length);

-- 1962:          declare
            B_59 : declare

-- 1963:             Source_Data : String_8_Data renames Source.Ptr.Data;
               R2074b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R2074b = null
                 "access check failed"]
               subtype jwa__strings__delete__B_59__S2073b is
                 jwa__strings__string_8_data (R2074b.all.capacity);
               R2076b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R2076b = null
                 "access check failed"]
               source_data___XR_R2076b___XEXAXRdata : _renaming_type;
               source_data : jwa__strings__string_8_data renames R2076b.all.
                 data;

-- 1964:             Result_Data : String_8_Data renames Result.Ptr.Data;
               R2078b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R2078b = null
                 "access check failed"]
               R2079b : constant natural := R2078b.all.capacity;
               subtype jwa__strings__delete__B_59__S2077b is
                 jwa__strings__string_8_data (R2079b);
               R2081b : jwa__strings__string_8_internal_ptr renames
                 result.ptr;
               [constraint_error when
                 R2081b = null
                 "access check failed"]
               R2082b : constant jwa__strings__string_8_internal_ptr :=
                 R2081b;
               result_data___XR_R2082b___XEXAXRdata : _renaming_type;
               result_data : jwa__strings__string_8_data renames R2082b.all.
                 data;
            begin
               [constraint_error when
                 R2082b = null
                 "access check failed"]

-- 1965:          begin

-- 1966:             Result_Data.chr (1 .. From - 1) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(from) >= 1 and then
                   interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 from - 1 >= 1 and then (from - 1 > integer(R2079b))
                 "range check failed"]

-- 1967:               Source_Data.chr (1 .. From - 1);
               [constraint_error when
                 not (interfaces__unsigned_32!(from) >= 1 and then
                   interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 from - 1 >= 1 and then (from - 1 > integer(R2074b.all.
                   capacity))
                 "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__delete__B_59__T2083b is integer range
                   1 .. from - 1]
                 [subtype jwa__strings__delete__B_59__T2084b is string (
                   jwa__strings__delete__B_59__T2083b)]
                 [subtype jwa__strings__delete__B_59__T2085b is integer range
                   1 .. from - 1]
                 [subtype jwa__strings__delete__B_59__T2086b is string (
                   jwa__strings__delete__B_59__T2085b)]
                 jwa__strings__delete__B_59__T2084b'length /=
                   jwa__strings__delete__B_59__T2086b'length
                 "length check failed"]
               R2082b.all.data.chr (1 .. from - 1) := R2076b.all.data.
                 chr (1 .. from - 1);

-- 1968:             Result_Data.chr (From .. New_Length) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(from) >= 1 and then
                   interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C2087b : boolean;
               if new_length >= from then
                  [constraint_error when
                    not (interfaces__unsigned_32!(from) >= 1 and then
                      interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C2087b := (integer(from) < 1 or else integer(
                    new_length) > integer(R2079b));
               else
                  C2087b := false;
               end if;
               [constraint_error when C2087b "range check failed"]
               R2088b : constant natural := new_length;

-- 1969:               Source_Data.chr (Through + 1 .. Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(through) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 length >= through + 1 and then (through + 1 < 1 or else
                   integer(length) > integer(R2074b.all.capacity))
                 "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__delete__B_59__T2089b is integer range
                   from .. R2088b]
                 [subtype jwa__strings__delete__B_59__T2090b is string (
                   jwa__strings__delete__B_59__T2089b)]
                 [subtype jwa__strings__delete__B_59__T2091b is integer range
                   through {+} 1 .. length]
                 [subtype jwa__strings__delete__B_59__T2092b is string (
                   jwa__strings__delete__B_59__T2091b)]
                 jwa__strings__delete__B_59__T2090b'length /=
                   jwa__strings__delete__B_59__T2092b'length
                 "length check failed"]
               R2082b.all.data.chr (from .. R2088b) := R2076b.all.data.
                 chr (through {+} 1 .. length);

-- 1970:          end;
            end B_59;

-- 1971:       end return;
         end B2093b;
         type jwa__strings__delete__R2070b__A2096b is access
           jwa__strings__string_8;
         freeze jwa__strings__delete__R2070b__A2096b []
         P2098b : constant jwa__strings__delete__R2070b__A2096b := new
           jwa__strings__string_8'(result)[storage_pool =
           system__secondary_stack__ss_pool];
         P2098b.all._tag := jwa__strings__string_8P;
         F2099b : system__finalization_root__finalizable_ptr := null;
         jwa__strings__adjust__2 (P2098b.all);
         $system__finalization_implementation__attach_to_final_list (
           F2099b, system__finalization_root__finalizable?(P2098b.all),
           1);
         R2095b : jwa__strings__delete__R2070b__A2096b := P2098b;
         return R2095b.all;
      at end
         jwa__strings__delete__R2070b___clean;

-- 1972:    end Delete;
      end R2070b;
   end jwa__strings__delete;

-- 1973:
-- 1974:    ---------------------
-- 1975:    -- String_8.Delete --
-- 1976:    ---------------------

-- 1977:

-- 1978:    procedure Delete
   procedure jwa__strings__delete (source : in out
     jwa__strings__string_8; from : positive; through : natural) is
      C2100b : natural;

-- 1979:      (Source  : in out String_8;

-- 1980:       From    : Positive;

-- 1981:       Through : Natural)

-- 1982:    is

-- 1983:       Length : constant Natural := Source.Length;
      B2102b : declare
         L2101b : label
      begin
         if source.ptr = null then
            C2100b := 0;
            goto L2101b;
         else
            R2104b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R2104b = null
              "access check failed"]
            R2105b : constant natural := R2104b.all.capacity;
            subtype jwa__strings__delete__B2102b__S2103b__2 is
              jwa__strings__string_8_data (R2105b);
            R2107b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R2107b = null
              "access check failed"]
            [constraint_error when
              not (interfaces__unsigned_32!(R2107b.all.data.length) <=
                16#7FFF_FFFF#)
              "invalid data"]
            C2100b := R2107b.all.data.length;
            goto L2101b;
         end if;
         <<L2101b>>
      end B2102b;
      length : constant natural := C2100b;
      new_length : natural;
      B_60 : label
      B_62 : label
   begin

-- 1984:       New_Length : Natural;

-- 1985:    begin

-- 1986:       if From > Through then
      [constraint_error when
        not (interfaces__unsigned_32!(from) >= 1 and then
          interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(through) <= 16#7FFF_FFFF#)
        "invalid data"]
      if from > through then

-- 1987:          return;
         return;

-- 1988:       end if;
      end if;

-- 1989:

-- 1990:       if From > Length + 1 or Through < 0 then
      [constraint_error when
        not (interfaces__unsigned_32!(from) >= 1 and then
          interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(through) <= 16#7FFF_FFFF#)
        "invalid data"]
      if from > length {+} 1 or through < 0 then

-- 1991:          raise Index_Error;
         $__gnat_raise_exception (ada__exceptions__exception_id!(
           ada__strings__index_error'reference), "jwa.strings.adb:1991");

-- 1992:       end if;
      end if;

-- 1993:

-- 1994:       if From = 1 and Through = Length then
      [constraint_error when
        not (interfaces__unsigned_32!(from) >= 1 and then
          interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(through) <= 16#7FFF_FFFF#)
        "invalid data"]
      if from = 1 and through = length then

-- 1995:          Source.Set_Empty;
         jwa__strings__set_empty (source);

-- 1996:          return;
         return;

-- 1997:       end if;
      end if;

-- 1998:

-- 1999:       New_Length := Length + From - Through - 1;
      [constraint_error when
        not (interfaces__unsigned_32!(from) >= 1 and then
          interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (interfaces__unsigned_32!(through) <= 16#7FFF_FFFF#)
        "invalid data"]
      [constraint_error when
        not (length {+} from {-} through - 1 in 0 .. 16#7FFF_FFFF#)
        "range check failed"]
      new_length := length {+} from {-} through - 1;

-- 2000:

-- 2001:       if Source.Ptr.Counter.rc > 1 or else
      R2112b : jwa__strings__string_8_internal_ptr renames source.ptr;
      [constraint_error when
        R2112b = null
        "access check failed"]
      C2115b : boolean;
      if R2112b.all.counter.rc > 1 then
         C2115b := true;
      else

-- 2002:         not Good_Capacity (Source.Ptr.Capacity, New_Length) then
         R2113b : jwa__strings__string_8_internal_ptr renames source.
           ptr;
         [constraint_error when
           R2113b = null
           "access check failed"]
         [constraint_error when
           not (interfaces__unsigned_32!(R2113b.all.capacity) <=
             16#7FFF_FFFF#)
           "invalid data"]
         R2114b : constant boolean := jwa__strings__good_capacity (
           R2113b.all.capacity, new_length);
         [constraint_error when
           not (interfaces__unsigned_32!(R2114b) >=
             interfaces__unsigned_32!(false) and then
             interfaces__unsigned_32!(R2114b) <=
             interfaces__unsigned_32!(true))
           "invalid data"]
         C2115b := not R2114b;
      end if;
      if C2115b then
-- 2003:          -- can't reuse allocated buffer

-- 2004:          declare
         B_60 : declare
            F2116b : system__finalization_root__finalizable_ptr := null;
            procedure jwa__strings__delete__B_60___clean__2 is
            begin
               system__soft_links__abort_defer.all;
               $system__finalization_implementation__finalize_list (
                 F2116b);
               system__soft_links__abort_undefer.all;
               return;
            end jwa__strings__delete__B_60___clean__2;
         begin
            source_copy : jwa__strings__string_8 := source;

-- 2005:             Source_Copy : String_8 := Source;
            source_copy._tag := jwa__strings__string_8P;
            jwa__strings__adjust__2 (source_copy);
            $system__finalization_implementation__attach_to_final_list
              (F2116b, system__finalization_root__finalizable?(
              source_copy), 1);
            B_61 : label

-- 2006:          begin

-- 2007:             Source.Make_Buffer (New_Length);
            jwa__strings__make_buffer (source, new_length);

-- 2008:             declare
            B_61 : declare

-- 2009:                Old_Data : String_8_Data renames Source_Copy.Ptr.Data;
               R2118b : jwa__strings__string_8_internal_ptr renames
                 source_copy.ptr;
               [constraint_error when
                 R2118b = null
                 "access check failed"]
               R2119b : constant natural := R2118b.all.capacity;
               subtype jwa__strings__delete__B_60__B_61__S2117b__2 is
                 jwa__strings__string_8_data (R2119b);
               R2121b : jwa__strings__string_8_internal_ptr renames
                 source_copy.ptr;
               [constraint_error when
                 R2121b = null
                 "access check failed"]
               R2122b : constant jwa__strings__string_8_internal_ptr :=
                 R2121b;
               old_data___XR_R2122b___XEXAXRdata : _renaming_type;
               old_data : jwa__strings__string_8_data renames R2122b.all.
                 data;

-- 2010:                New_Data : String_8_Data renames Source.Ptr.Data;
               R2124b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R2124b = null
                 "access check failed"]
               R2125b : constant natural := R2124b.all.capacity;
               subtype jwa__strings__delete__B_60__B_61__S2123b__2 is
                 jwa__strings__string_8_data (R2125b);
               R2127b : jwa__strings__string_8_internal_ptr renames
                 source.ptr;
               [constraint_error when
                 R2127b = null
                 "access check failed"]
               R2128b : constant jwa__strings__string_8_internal_ptr :=
                 R2127b;
               new_data___XR_R2128b___XEXAXRdata : _renaming_type;
               new_data : jwa__strings__string_8_data renames R2128b.all.
                 data;
            begin
               [constraint_error when
                 R2122b = null
                 "access check failed"]
               [constraint_error when
                 R2128b = null
                 "access check failed"]

-- 2011:             begin

-- 2012:                New_Data.chr (1 .. From - 1) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(from) >= 1 and then
                   interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 from - 1 >= 1 and then (from - 1 > integer(R2125b))
                 "range check failed"]

-- 2013:                  Old_Data.chr (1 .. From - 1);
               [constraint_error when
                 not (interfaces__unsigned_32!(from) >= 1 and then
                   interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 from - 1 >= 1 and then (from - 1 > integer(R2119b))
                 "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__delete__B_60__B_61__T2130b__2 is
                 [subtype jwa__strings__delete__B_60__B_61__T2129b__2 is
                   integer range 1 .. from - 1]
                   string (jwa__strings__delete__B_60__B_61__T2129b__2)]
                 [subtype jwa__strings__delete__B_60__B_61__T2132b__2 is
                 [subtype jwa__strings__delete__B_60__B_61__T2131b__2 is
                   integer range 1 .. from - 1]
                   string (jwa__strings__delete__B_60__B_61__T2131b__2)]
                 jwa__strings__delete__B_60__B_61__T2130b__2'length /=
                   jwa__strings__delete__B_60__B_61__T2132b__2'length
                 "length check failed"]
               R2128b.all.data.chr (1 .. from - 1) := R2122b.all.data.
                 chr (1 .. from - 1);
               [constraint_error when
                 R2122b = null
                 "access check failed"]
               [constraint_error when
                 R2128b = null
                 "access check failed"]

-- 2014:                New_Data.chr (From .. New_Length) :=
               [constraint_error when
                 not (interfaces__unsigned_32!(from) >= 1 and then
                   interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C2133b : boolean;
               if new_length >= from then
                  [constraint_error when
                    not (interfaces__unsigned_32!(from) >= 1 and then
                      interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
                    "invalid data"]
                  C2133b := (integer(from) < 1 or else integer(
                    new_length) > integer(R2125b));
               else
                  C2133b := false;
               end if;
               [constraint_error when C2133b "range check failed"]
               R2134b : constant natural := new_length;

-- 2015:                  Old_Data.chr (Through + 1 .. Length);
               [constraint_error when
                 not (interfaces__unsigned_32!(through) <=
                   16#7FFF_FFFF#)
                 "invalid data"]
               [constraint_error when
                 length >= through + 1 and then (through + 1 < 1 or else
                   integer(length) > integer(R2119b))
                 "range check failed"]
               [constraint_error when
                 [subtype jwa__strings__delete__B_60__B_61__T2136b__2 is
                 [subtype jwa__strings__delete__B_60__B_61__T2135b__2 is
                   integer range from .. R2134b]
                   string (jwa__strings__delete__B_60__B_61__T2135b__2)]
                 [subtype jwa__strings__delete__B_60__B_61__T2138b__2 is
                 [subtype jwa__strings__delete__B_60__B_61__T2137b__2 is
                   integer range through {+} 1 .. length]
                   string (jwa__strings__delete__B_60__B_61__T2137b__2)]
                 jwa__strings__delete__B_60__B_61__T2136b__2'length /=
                   jwa__strings__delete__B_60__B_61__T2138b__2'length
                 "length check failed"]
               R2128b.all.data.chr (from .. R2134b) := R2122b.all.data.
                 chr (through {+} 1 .. length);

-- 2016:             end;
            end B_61;
         at end
            jwa__strings__delete__B_60___clean__2;

-- 2017:          end;
         end B_60;

-- 2018:       else -- can reuse buffer
      else

-- 2019:          declare
         B_62 : declare

-- 2020:             Source_Data : String_8_Data renames Source.Ptr.Data;
            R2140b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R2140b = null
              "access check failed"]
            R2141b : constant natural := R2140b.all.capacity;
            subtype jwa__strings__delete__B_62__S2139b__2 is
              jwa__strings__string_8_data (R2141b);
            R2143b : jwa__strings__string_8_internal_ptr renames source.
              ptr;
            [constraint_error when
              R2143b = null
              "access check failed"]
            R2144b : constant jwa__strings__string_8_internal_ptr :=
              R2143b;
            source_data___XR_R2144b___XEXAXRdata : _renaming_type;
            source_data : jwa__strings__string_8_data renames R2144b.all.
              data;
         begin
            [constraint_error when
              R2144b = null
              "access check failed"]

-- 2021:          begin

-- 2022:             Source_Data.Length := New_Length;
            R2144b.all.data.length := new_length;
            [constraint_error when
              R2144b = null
              "access check failed"]
            null;

-- 2023:             Source_Data.chr (From .. New_Length) :=
            [constraint_error when
              not (interfaces__unsigned_32!(from) >= 1 and then
                interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
              "invalid data"]
            C2145b : boolean;
            if new_length >= from then
               [constraint_error when
                 not (interfaces__unsigned_32!(from) >= 1 and then
                   interfaces__unsigned_32!(from) <= 16#7FFF_FFFF#)
                 "invalid data"]
               C2145b := (integer(from) < 1 or else integer(new_length) >
                 integer(R2141b));
            else
               C2145b := false;
            end if;
            [constraint_error when C2145b "range check failed"]
            R2146b : constant natural := new_length;

-- 2024:               Source_Data.chr (Through + 1 .. Length);
            [constraint_error when
              not (interfaces__unsigned_32!(through) <= 16#7FFF_FFFF#)
              "invalid data"]
            [constraint_error when
              length >= through + 1 and then (through + 1 < 1 or else
                integer(length) > integer(R2141b))
              "range check failed"]
            [constraint_error when
              [subtype jwa__strings__delete__B_62__T2147b__2 is integer range
                from .. R2146b]
              [subtype jwa__strings__delete__B_62__T2148b__2 is string (
                jwa__strings__delete__B_62__T2147b__2)]
              [subtype jwa__strings__delete__B_62__T2149b__2 is integer range
                through {+} 1 .. length]
              [subtype jwa__strings__delete__B_62__T2150b__2 is string (
                jwa__strings__delete__B_62__T2149b__2)]
              jwa__strings__delete__B_62__T2148b__2'length /=
                jwa__strings__delete__B_62__T2150b__2'length
              "length check failed"]
            R2144b.all.data.chr (from .. R2146b) := R2144b.all.data.chr
              (through {+} 1 .. length);

-- 2025:          end;
         end B_62;

-- 2026:       end if;
      end if;

-- 2027:    end Delete;
      return;
   end jwa__strings__delete;

-- 2028:
-- 2029:    --------------------------
-- 2030:    -- String_8.Trim (Side) --
-- 2031:    --------------------------

-- 2032:

-- 2033:    function Trim
   function jwa__strings__trim (source : jwa__strings__string_8; side :
     ada__strings__trim_end) return jwa__strings__string_8 is
   begin

-- 2034:      (Source : String_8;

-- 2035:       Side   : Trim_End) return String_8 is

-- 2036:    begin

-- 2037:       return +Ada.Strings.Fixed.Trim (+Source, Side);
      [constraint_error when
        not (interfaces__unsigned_32!(side) >= interfaces__unsigned_32!
          (ada__strings__left__3) and then interfaces__unsigned_32!(
          side) <= interfaces__unsigned_32!(ada__strings__both))
        "invalid data"]
      type jwa__strings__trim__A2152b is access all
        jwa__strings__string_8;
      freeze jwa__strings__trim__A2152b []
      R2153b : jwa__strings__trim__A2152b := jwa__strings__create__2 (
        ada.ada__strings.ada__strings__fixed.ada__strings__fixed__trim
        (jwa__strings__to_ada (source), side))'reference;
      return R2153b.all;

-- 2038:    end Trim;
   end jwa__strings__trim;

-- 2039:
-- 2040:    --------------------------
-- 2041:    -- String_8.Trim (Side) --
-- 2042:    --------------------------

-- 2043:

-- 2044:    procedure Trim
   procedure jwa__strings__trim (source : in out jwa__strings__string_8;
     side : ada__strings__trim_end) is
      M2156b : system__secondary_stack__mark_id :=
        $system__secondary_stack__ss_mark;
      procedure jwa__strings__trim___clean__2 is
      begin
         $system__secondary_stack__ss_release (M2156b);
         return;
      end jwa__strings__trim___clean__2;
   begin

-- 2045:      (Source : in out String_8;

-- 2046:       Side   : Trim_End) is

-- 2047:    begin

-- 2048:       Source.Set_String_8 (Ada.Strings.Fixed.Trim (+Source, Side));
      B2155b : declare
      begin
         [constraint_error when
           not (interfaces__unsigned_32!(side) >=
             interfaces__unsigned_32!(ada__strings__left__3) and then
             interfaces__unsigned_32!(side) <= interfaces__unsigned_32!
             (ada__strings__both))
           "invalid data"]
         jwa__strings__set__2 (source, ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__trim (
           jwa__strings__to_ada (source), side));

-- 2049:    end Trim;
      end B2155b;
      return;
   at end
      jwa__strings__trim___clean__2;
   end jwa__strings__trim;

-- 2050:
-- 2051:    ---------------------------------
-- 2052:    -- String_8.Trim (Left, Right) --
-- 2053:    ---------------------------------

-- 2054:

-- 2055:    function Trim
   function jwa__strings__trim (source : jwa__strings__string_8; left :
     ada__strings__maps.ada__strings__maps__character_set; right :
     ada__strings__maps.ada__strings__maps__character_set) return
     jwa__strings__string_8 is
   begin

-- 2056:      (Source : String_8;

-- 2057:       Left   : Maps.Character_Set;

-- 2058:       Right  : Maps.Character_Set) return String_8 is

-- 2059:    begin

-- 2060:       return +Ada.Strings.Fixed.Trim (+Source, Left, Right);
      type jwa__strings__trim__A2158b__3 is access all
        jwa__strings__string_8;
      freeze jwa__strings__trim__A2158b__3 []
      R2159b : jwa__strings__trim__A2158b__3 := jwa__strings__create__2
        (ada.ada__strings.ada__strings__fixed.
        ada__strings__fixed__trim__3 (jwa__strings__to_ada (source),
        left, right))'reference;
      return R2159b.all;

-- 2061:    end Trim;
   end jwa__strings__trim;

-- 2062:
-- 2063:    ---------------------------------
-- 2064:    -- String_8.Trim (Left, Right) --
-- 2065:    ---------------------------------

-- 2066:

-- 2067:    procedure Trim
   procedure jwa__strings__trim (source : in out jwa__strings__string_8;
     left : ada__strings__maps.ada__strings__maps__character_set; right :
     ada__strings__maps.ada__strings__maps__character_set) is
      M2162b : system__secondary_stack__mark_id :=
        $system__secondary_stack__ss_mark;
      procedure jwa__strings__trim___clean__4 is
      begin
         $system__secondary_stack__ss_release (M2162b);
         return;
      end jwa__strings__trim___clean__4;
   begin

-- 2068:      (Source : in out String_8;

-- 2069:       Left   : Maps.Character_Set;

-- 2070:       Right  : Maps.Character_Set) is

-- 2071:    begin

-- 2072:       Source.Set_String_8 (Ada.Strings.Fixed.Trim (+Source, Left, Right));
      B2161b : declare
      begin
         jwa__strings__set__2 (source, ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__trim__3 (
           jwa__strings__to_ada (source), left, right));

-- 2073:    end Trim;
      end B2161b;
      return;
   at end
      jwa__strings__trim___clean__4;
   end jwa__strings__trim;

-- 2074:
-- 2075:    -------------------
-- 2076:    -- String_8.Head --
-- 2077:    -------------------

-- 2078:

-- 2079:    function Head
   function jwa__strings__head (source : jwa__strings__string_8; count :
     natural; pad : character := ada__strings__space) return
     jwa__strings__string_8 is
   begin

-- 2080:      (Source : String_8;

-- 2081:       Count  : Natural;

-- 2082:       Pad    : Character := Space) return String_8 is

-- 2083:    begin

-- 2084:       return +Ada.Strings.Fixed.Head (+Source, Count, Pad);
      [constraint_error when
        not (interfaces__unsigned_32!(count) <= 16#7FFF_FFFF#)
        "invalid data"]
      type jwa__strings__head__A2164b is access all
        jwa__strings__string_8;
      freeze jwa__strings__head__A2164b []
      R2165b : jwa__strings__head__A2164b := jwa__strings__create__2 (
        ada.ada__strings.ada__strings__fixed.ada__strings__fixed__head
        (jwa__strings__to_ada (source), count, pad))'reference;
      return R2165b.all;

-- 2085:    end Head;
   end jwa__strings__head;

-- 2086:
-- 2087:    -------------------
-- 2088:    -- String_8.Head --
-- 2089:    -------------------

-- 2090:

-- 2091:    procedure Head
   procedure jwa__strings__head (source : in out jwa__strings__string_8;
     count : natural; pad : character := ada__strings__space) is
      M2168b : system__secondary_stack__mark_id :=
        $system__secondary_stack__ss_mark;
      procedure jwa__strings__head___clean__2 is
      begin
         $system__secondary_stack__ss_release (M2168b);
         return;
      end jwa__strings__head___clean__2;
   begin

-- 2092:      (Source : in out String_8;

-- 2093:       Count  : Natural;

-- 2094:       Pad    : Character := Space) is

-- 2095:    begin

-- 2096:       Source.Set_String_8 (Ada.Strings.Fixed.Head (+Source, Count, Pad));
      B2167b : declare
      begin
         [constraint_error when
           not (interfaces__unsigned_32!(count) <= 16#7FFF_FFFF#)
           "invalid data"]
         jwa__strings__set__2 (source, ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__head (
           jwa__strings__to_ada (source), count, pad));

-- 2097:    end Head;
      end B2167b;
      return;
   at end
      jwa__strings__head___clean__2;
   end jwa__strings__head;

-- 2098:
-- 2099:    -------------------
-- 2100:    -- String_8.Tail --
-- 2101:    -------------------

-- 2102:

-- 2103:    function Tail
   function jwa__strings__tail (source : jwa__strings__string_8; count :
     natural; pad : character := ada__strings__space) return
     jwa__strings__string_8 is
   begin

-- 2104:      (Source : String_8;

-- 2105:       Count  : Natural;

-- 2106:       Pad    : Character := Space) return String_8 is

-- 2107:    begin

-- 2108:       return +Ada.Strings.Fixed.Tail (+Source, Count, Pad);
      [constraint_error when
        not (interfaces__unsigned_32!(count) <= 16#7FFF_FFFF#)
        "invalid data"]
      type jwa__strings__tail__A2170b is access all
        jwa__strings__string_8;
      freeze jwa__strings__tail__A2170b []
      R2171b : jwa__strings__tail__A2170b := jwa__strings__create__2 (
        ada.ada__strings.ada__strings__fixed.ada__strings__fixed__tail
        (jwa__strings__to_ada (source), count, pad))'reference;
      return R2171b.all;

-- 2109:    end Tail;
   end jwa__strings__tail;

-- 2110:
-- 2111:    -------------------
-- 2112:    -- String_8.Tail --
-- 2113:    -------------------

-- 2114:

-- 2115:    procedure Tail
   procedure jwa__strings__tail (source : in out jwa__strings__string_8;
     count : natural; pad : character := ada__strings__space) is
      M2174b : system__secondary_stack__mark_id :=
        $system__secondary_stack__ss_mark;
      procedure jwa__strings__tail___clean__2 is
      begin
         $system__secondary_stack__ss_release (M2174b);
         return;
      end jwa__strings__tail___clean__2;
   begin

-- 2116:      (Source : in out String_8;

-- 2117:       Count  : Natural;

-- 2118:       Pad    : Character := Space) is

-- 2119:    begin

-- 2120:       Source.Set_String_8 (Ada.Strings.Fixed.Tail (+Source, Count, Pad));
      B2173b : declare
      begin
         [constraint_error when
           not (interfaces__unsigned_32!(count) <= 16#7FFF_FFFF#)
           "invalid data"]
         jwa__strings__set__2 (source, ada.ada__strings.
           ada__strings__fixed.ada__strings__fixed__tail (
           jwa__strings__to_ada (source), count, pad));

-- 2121:    end Tail;
      end B2173b;
      return;
   at end
      jwa__strings__tail___clean__2;

-- 2122:

-- 2123: end Jwa.Strings;
   end jwa__strings__tail;
begin
   null;
end jwa.jwa__strings;
