procedure Test is
type Cat is null record;
type Cats is array(Positive range <>) of Cat;
type Access_Cats is access Cats;
function Allocate_Cats return Access_Cats is
begin
return new Cats'(Cat'(null record), Cat'(null record));
end Allocate_Cats;
Kitty : Cat;
function Two return Positive is
begin
return 2;
end Two;
begin
Kitty := Allocate_Cats(Two);
end Test;
cHJvY2VkdXJlIFRlc3QgaXMKICB0eXBlIENhdCBpcyBudWxsIHJlY29yZDsKICB0eXBlIENhdHMgaXMgYXJyYXkoUG9zaXRpdmUgcmFuZ2UgPD4pIG9mIENhdDsKICB0eXBlIEFjY2Vzc19DYXRzIGlzIGFjY2VzcyBDYXRzOwogIGZ1bmN0aW9uIEFsbG9jYXRlX0NhdHMgcmV0dXJuIEFjY2Vzc19DYXRzIGlzCiAgYmVnaW4KICAgIHJldHVybiBuZXcgQ2F0cycoQ2F0JyhudWxsIHJlY29yZCksIENhdCcobnVsbCByZWNvcmQpKTsKICBlbmQgQWxsb2NhdGVfQ2F0czsKICBLaXR0eSA6IENhdDsKICBmdW5jdGlvbiBUd28gcmV0dXJuIFBvc2l0aXZlIGlzCiAgYmVnaW4KICAgIHJldHVybiAyOwogIGVuZCBUd287CmJlZ2luCiAgS2l0dHkgOj0gQWxsb2NhdGVfQ2F0cyhUd28pOwplbmQgVGVzdDs=