#include "run-time.h"

/* Typedefs for referenced classes */

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D debug_name_;
  D class_implementation_class_;
  D class_subtype_bit_;
  D class_module_;
} _KLclassGVKd;

#define  define__KLmm_wrapperGVKi(nrepeated) \
  typedef struct { \
    D wrapper; \
    D mm_wrapper_implementation_class_; \
    D mm_wrapper_subtype_mask_; \
    DWORD mm_wrapper_fixed_part_; \
    DWORD mm_wrapper_variable_part_; \
    D mm_wrapper_number_patterns_; \
    DWORD mm_wrapper_pattern_element_[nrepeated+1]; \
  } _KLmm_wrapperGVKi_##nrepeated;
define__KLmm_wrapperGVKi(1);
define__KLmm_wrapperGVKi(0);

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    D vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(0);

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D Pgf_cache_;
  D debug_name_;
  D generic_function_methods_;
  D discriminator_;
  D incremental_gf_module_;
  D incremental_gf_domain_info_;
  D incremental_gf_method_libraries_;
  D incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D debug_name_;
  D class_implementation_class_;
  D class_subtype_bit_;
  D class_module_;
} _KLfunction_classGVKi;

typedef struct {
  D wrapper;
} _KLstringGVKd;

typedef struct {
  D wrapper;
  D registry_location_;
  D registry_root_;
  D registry_personalQ_;
} _KLregistryGYregistry_projects_internalVregistry_projects;

typedef struct {
  D wrapper;
  D symbol_name_;
} _KLsymbolGVKd;

typedef struct {
  D wrapper;
} _KLfile_locatorGYlocatorsVsystem;

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D Pgf_cache_;
  D debug_name_;
  D generic_function_methods_;
  D discriminator_;
} _KLsealed_generic_functionGVKe;

typedef struct {
  D wrapper;
  D outer_stream_;
  D private_stream_element_type_value_;
  D private_stream_direction_value_;
  D private_stream_lock_value_;
  D actual_stream_input_buffer_;
  D actual_stream_output_buffer_;
  D stream_shared_buffer_;
  D initial_position_;
  D current_position_;
  D final_position_;
  D stream_locator_;
  D accessor_;
} _KLfile_streamGYstreams_internalsVio;

typedef struct {
  D wrapper;
} _KLdirectory_locatorGYlocatorsVsystem;

typedef struct {
  D wrapper;
  D locator_directory_;
  D locator_base_;
  D locator_extension_;
} _KLposix_file_locatorGYfile_systemVsystem;

typedef struct {
  D wrapper;
  D head_;
  D tail_;
} _KLempty_listGVKd;

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D mep_;
} _KLsimple_methodGVKe;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D union_type1_;
  D union_type2_;
} _KLunionGVKe;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D singleton_object_;
} _KLsingletonGVKd;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(31);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(15);

#define  define__KLsimple_closure_methodGVKi(nrepeated) \
  typedef struct { \
    D wrapper; \
    D xep_; \
    D function_signature_; \
    D mep_; \
    D environment_size_; \
    D environment_element_[nrepeated+1]; \
  } _KLsimple_closure_methodGVKi_##nrepeated;
define__KLsimple_closure_methodGVKi(0);

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
} _KLsignatureGVKe;


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLincremental_generic_functionGVKe Kas_lowercaseVKd;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLclassGVKd KLregistryGYregistry_projects_internalVregistry_projects;
extern _KLmm_wrapperGVKi_0 KLregistryGYregistry_projects_internalVregistry_projectsW;
extern _KLsymbolGVKd KJname_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLclassGVKd KLfile_locatorGYlocatorsVsystem;
extern _KLmm_wrapperGVKi_0 KLfile_locatorGYlocatorsVsystemW;
extern _KLsealed_generic_functionGVKe Kfile_existsQYfile_systemVsystem;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLincremental_generic_functionGVKe Kopen_file_streamYstreams_protocolVcommon_dylan;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLfile_streamGYstreams_internalsVio;
extern _KLmm_wrapperGVKi_0 KLfile_streamGYstreams_internalsVioW;
extern _KLincremental_generic_functionGVKe Kread_lineYstreamsVio;
extern _KLincremental_generic_functionGVKe Kstream_openQYstreams_protocolVcommon_dylan;
extern _KLincremental_generic_functionGVKe KcloseYcommon_extensionsVcommon_dylan;
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLincremental_generic_functionGVKe Kcopy_sequenceVKd;
extern _KLsymbolGVKd KJend_;
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLclassGVKd KLdirectory_locatorGYlocatorsVsystem;
extern _KLmm_wrapperGVKi_0 KLdirectory_locatorGYlocatorsVsystemW;
extern _KLsymbolGVKd KJstart_;
extern _KLclassGVKd KLposix_file_locatorGYfile_systemVsystem;
extern _KLmm_wrapperGVKi_0 KLposix_file_locatorGYfile_systemVsystemW;
extern _KLincremental_generic_functionGVKe Klocator_directoryYlocatorsVsystem;
extern _KLincremental_generic_functionGVKe Klocator_pathYlocatorsVsystem;
extern _KLincremental_generic_functionGVKe Klocator_serverYlocatorsVsystem;
extern _KLincremental_generic_functionGVKe Ktype_for_copyVKd;
extern _KLsealed_generic_functionGVKe Kconcatenate_asVKd;
extern _KLsealed_generic_functionGVKe Klocator_nameYlocatorsVsystem;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
D KmemberQVKdMM3I (D, D, D, D);
extern _KLsimple_methodGVKe KEEVKd;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
D Kunion_instanceQVKiI (D, D);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
D Ksingleton_pointer_idQ_instanceQVKiI (D, D);
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern D TdebuggingQTVKi;
extern D Tdebug_partsTVKi;
extern D Tdebug_out_functionTVKi;

/* Defined object declarations */

D Kfind_library_locatorYregistry_projects_internalVregistry_projectsI (D, D);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_find_library_locatorF15;
static D Kanonymous_of_find_library_locatorF15I ();
static _KLsymbolGVKd KJdirectory_;
static _KLsymbolGVKd KJserver_;
static _KLsymbolGVKd KJpath_;
static _KLsymbolGVKd KJproject_manager_;
static _KLunionGVKe K7;
static _KLunionGVKe K8;
static _KLsingletonGVKd K9;
static _KLbyte_stringGVKd_15 K10;
static _KLbyte_stringGVKd_4 K11;
static _KLbyte_stringGVKd_6 K12;
static _KLbyte_stringGVKd_9 K13;
static _KLbyte_stringGVKd_17 K14;
static _KLbyte_stringGVKd_31 K16;
static _KLsignatureGVKe K17;

/* Indirection variables */

static D IKJdirectory_ = &KJdirectory_;
static D IKJserver_ = &KJserver_;
static D IKJpath_ = &KJpath_;
static D IKJproject_manager_ = &KJproject_manager_;

/* Variables */

D Dabstract_host_prefixYregistry_projects_internalVregistry_projects = &K14;

/* Objects */

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_find_library_locatorF15 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K17,
  &Kanonymous_of_find_library_locatorF15I,
  (D) 1
};

static _KLsymbolGVKd KJdirectory_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K13
};

static _KLsymbolGVKd KJserver_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K12
};

static _KLsymbolGVKd KJpath_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K11
};

static _KLsymbolGVKd KJproject_manager_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K10
};

static _KLunionGVKe K7 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K9,
  &KLfile_locatorGYlocatorsVsystem
};

static _KLunionGVKe K8 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K9,
  &KLregistryGYregistry_projects_internalVregistry_projects
};

static _KLsingletonGVKd K9 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KPfalseVKi
};

static _KLbyte_stringGVKd_15 K10 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 61,
  "project-manager"
};

static _KLbyte_stringGVKd_4 K11 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 17,
  "path"
};

static _KLbyte_stringGVKd_6 K12 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "server"
};

static _KLbyte_stringGVKd_9 K13 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "directory"
};

static _KLbyte_stringGVKd_17 K14 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 69,
  "abstract://dylan/"
};

static _KLbyte_stringGVKd_31 K16 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 125,
  "Failed to find %s [%s under %s]"
};

static _KLsignatureGVKe K17 = {
  &KLsignatureGVKeW /* wrapper */,
  (D) 44040193,
  &KPempty_vectorVKi
};

/* Code */

D Kfind_library_locatorYregistry_projects_internalVregistry_projectsI (D library_name_, D registries_) {
  volatile D T2;
  volatile D name_;
  volatile D returnPexit_0_;
  volatile D T5;
  volatile D T6;
  volatile D T7;
  volatile D T8;
  volatile D T9;
  volatile D T10;
  volatile D T11;
  volatile D T12T, T12;
  volatile D T13;
  volatile D registry_;
  volatile D T15;
  volatile D locator_;
  volatile D T17;
  volatile D T18;
  volatile D T19;
  volatile D stream_;
  volatile D T21;
  volatile D T22;
  volatile D T23;
  volatile D T24;
  volatile D T25;
  volatile D T26;
  volatile D T27;
  volatile D root_;
  volatile D T29;
  volatile D file_;
  volatile D file_parent_;
  volatile D T32;
  volatile D file_parent_path_;
  volatile D T34;
  volatile D Utmp_;
  volatile D T36;
  volatile D T37;
  volatile D T38;
  volatile D T39;
  volatile D T40;
  volatile D filename_;
  volatile D T42;
  volatile D T43;
  volatile D T44_0;
  volatile D T44_1;
  volatile D T45_0;
  volatile D T45_1;
  volatile D Ustream_;
  volatile D T47;
  volatile D T48;
  volatile D T49;
  volatile D T50;
  volatile D T51;
  volatile D T52;
  volatile D T53;
  volatile _KLsimple_object_vectorGVKd_4 T54 = {&KLsimple_object_vectorGVKdW, (D) 17};
  volatile D T55_0;
  volatile D T56;
  volatile D T57;
  volatile _KLsimple_object_vectorGVKd_1 T58 = {&KLsimple_object_vectorGVKdW, (D) 5};
  volatile D T59;
  volatile D T60_0;
  volatile D T61;
  volatile _KLsimple_object_vectorGVKd_4 T62 = {&KLsimple_object_vectorGVKdW, (D) 17};
  volatile _KLsimple_object_vectorGVKd_4 T63 = {&KLsimple_object_vectorGVKdW, (D) 17};
  volatile _KLsimple_object_vectorGVKd_2 T64 = {&KLsimple_object_vectorGVKdW, (D) 9};
  volatile D T65;
  volatile D T66;
  volatile D T67;
  volatile D T68;
  volatile D T69;
  volatile D T70;
  volatile D T71;
  volatile D T72_0;
  volatile D T73;
  volatile D T74;
  volatile D T75;
  volatile D T76;

  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:9
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:12
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T2 = CONGRUENT_CALL2(&KLstringGVKd, library_name_);
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:12
  CONGRUENT_CALL_PROLOG(&Kas_lowercaseVKd, 1);
  name_ = CONGRUENT_CALL1(T2);
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:14
  T52 = SLOT_VALUE_INITD(Dabstract_host_prefixYregistry_projects_internalVregistry_projects, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:15
  ENTER_EXIT_FRAME(returnPexit_0_);
  if (nlx_setjmp(FRAME_DEST(returnPexit_0_))) {
    T44_0 = FRAME_RETVAL(returnPexit_0_);
    T44_1 = MV_GET_ELT(1);
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
    T6 = CALL1(&Kforward_iteration_protocolVKd, registries_);
    // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
    T7 = T6;
    // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
    T8 = MV_GET_ELT(1);
;
    // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
    T9 = MV_GET_ELT(2);
;
    // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
    T10 = MV_GET_ELT(3);
;
    // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
    T11 = MV_GET_ELT(5);
;
    // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
    T12T = T7;
  L0: ;
      // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
      T12 = T12T;
      // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
      T13 = CALL3(T10, registries_, T12, T8);
      // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
      if (T13 == &KPfalseVKi) {
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
        T15 = CALL2(T11, registries_, T12);
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
        primitive_type_check(T15, &KLregistryGYregistry_projects_internalVregistry_projects);
        registry_ = T15;
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:19
        T53 = SLOT_VALUE_INITD(registry_, 0);
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:18
        T54.vector_element_[0] = IKJdirectory_;
        T54.vector_element_[1] = T53;
        T54.vector_element_[2] = &KJname_;
        T54.vector_element_[3] = name_;
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:18
        CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
        locator_ = CONGRUENT_CALL2(&KLfile_locatorGYlocatorsVsystem, &T54);
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:21
        T17 = CALL1(&Kfile_existsQYfile_systemVsystem, locator_);
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:21
        if (T17 != &KPfalseVKi) {
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
          Ustream_ = &KPfalseVKi;
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
          ENTER_UNWIND_FRAME(T18);
          if (!nlx_setjmp(FRAME_DEST(T18))) {
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
            CONGRUENT_CALL_PROLOG(&Kopen_file_streamYstreams_protocolVcommon_dylan, 2);
            T19 = CONGRUENT_CALL2(locator_, &KPempty_vectorVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
            Ustream_ = T19;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
            T50 = Ustream_;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
            primitive_type_check(T50, &KLfile_streamGYstreams_internalsVio);
            stream_ = T50;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            CONGRUENT_CALL_PROLOG(&Kread_lineYstreamsVio, 2);
            T21 = CONGRUENT_CALL2(stream_, &KPempty_vectorVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
            FALL_THROUGH_UNWIND(T21);
          }
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
          T48 = Ustream_;
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
          if (T48 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
            T49 = Ustream_;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
            T22 = CALL1(&Kstream_openQYstreams_protocolVcommon_dylan, T49);
            T23 = T22;
          } else {
            T23 = &KPfalseVKi;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
          if (T23 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
            T47 = Ustream_;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
            CALL1(&KcloseYcommon_extensionsVcommon_dylan, T47);
          }
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:23
          CONTINUE_UNWIND();
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:27
          CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
          T24 = CONGRUENT_CALL1(T21);
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:27
          CONGRUENT_CALL_PROLOG(&KLVKd, 2);
          T55_0 = CONGRUENT_CALL2(T52, T24);
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:27
          T56 = T55_0;
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:27
          if (T56 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:28
            T25 = CALL3(&Kcopy_sequenceVKd, T21, &KJend_, T52);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:28
            CONGRUENT_CALL_PROLOG(&KEVKd, 2);
            T26 = CONGRUENT_CALL2(T25, Dabstract_host_prefixYregistry_projects_internalVregistry_projects);
            T27 = T26;
          } else {
            T27 = &KPfalseVKi;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:27
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:27
          if (T27 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:29
            T57 = SLOT_VALUE_INITD(registry_, 1);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:29
            CONGRUENT_CALL_PROLOG(&KasVKd, 2);
            root_ = CONGRUENT_CALL2(&KLdirectory_locatorGYlocatorsVsystem, T57);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:31
            T29 = CALL3(&Kcopy_sequenceVKd, T21, &KJstart_, T52);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:30
            CONGRUENT_CALL_PROLOG(&KasVKd, 2);
            file_ = CONGRUENT_CALL2(&KLposix_file_locatorGYfile_systemVsystem, T29);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:33
            file_parent_ = CALL1(&Klocator_directoryYlocatorsVsystem, file_);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:34
            if (file_parent_ != &KPfalseVKi) {
              // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/defaults.dylan:97
              T51 = file_parent_;
              // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:34
              CONGRUENT_CALL_PROLOG(&Klocator_pathYlocatorsVsystem, 1);
              T32 = CONGRUENT_CALL1(T51);
              file_parent_path_ = T32;
            } else {
              file_parent_path_ = &KPfalseVKi;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:34
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:37
            T34 = CALL1(&Klocator_serverYlocatorsVsystem, root_);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:38
            Utmp_ = CALL1(&Klocator_pathYlocatorsVsystem, root_);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:39
            if (file_parent_path_ != &KPfalseVKi) {
              T36 = file_parent_path_;
            } else {
              T36 = &KPempty_vectorVKi;
            }
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:39
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:38
            T58.vector_element_[0] = T36;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:38
            CONGRUENT_CALL_PROLOG(&Ktype_for_copyVKd, 1);
            T59 = CONGRUENT_CALL1(Utmp_);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:38
            T60_0 = APPLY3(&Kconcatenate_asVKd, T59, Utmp_, &T58);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:38
            T61 = T60_0;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:36
            T62.vector_element_[0] = IKJserver_;
            T62.vector_element_[1] = T34;
            T62.vector_element_[2] = IKJpath_;
            T62.vector_element_[3] = T61;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:36
            CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
            T37 = CONGRUENT_CALL2(&KLdirectory_locatorGYlocatorsVsystem, &T62);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:40
            CONGRUENT_CALL_PROLOG(&Klocator_nameYlocatorsVsystem, 1);
            T38 = CONGRUENT_CALL1(file_);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:35
            T63.vector_element_[0] = IKJdirectory_;
            T63.vector_element_[1] = T37;
            T63.vector_element_[2] = &KJname_;
            T63.vector_element_[3] = T38;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:35
            CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
            T39 = CONGRUENT_CALL2(&KLfile_locatorGYlocatorsVsystem, &T63);
            filename_ = T39;
          } else {
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:42
            CONGRUENT_CALL_PROLOG(&KasVKd, 2);
            T40 = CONGRUENT_CALL2(&KLfile_locatorGYlocatorsVsystem, T21);
            filename_ = T40;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:27
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:44
          T64.vector_element_[0] = filename_;
          T64.vector_element_[1] = registry_;
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:15
          T65 = MV_SET_REST_AT(&T64, 0);
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:15
          NLX(returnPexit_0_, T65);
        } else {
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
          T66 = TdebuggingQTVKi;
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
          if (T66 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
            T67 = Tdebug_partsTVKi;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
            T68 = primitive_idQ(T67,&KPempty_listVKi);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
            T69 = primitive_not(T68);
            T70 = T69;
          } else {
            T70 = &KPfalseVKi;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
          if (T70 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
            T71 = Tdebug_partsTVKi;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
            T72_0 = KmemberQVKdMM3I(IKJproject_manager_, T71, &KPempty_vectorVKi, &KEEVKd);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
            T73 = T72_0;
            T74 = T73;
          } else {
            T74 = &KPfalseVKi;
          }
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
          if (T74 != &KPfalseVKi) {
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
            T75 = Tdebug_out_functionTVKi;
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
            T42 = MAKE_CLOSURE_INITD(&Kanonymous_of_find_library_locatorF15, 3, locator_, registry_, name_);
            // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
            CALL1(T75, T42);
          }
          // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
        }
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:21
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
        T43 = CALL2(T9, registries_, T12);
        // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
        T12T = T43;
        goto L0;
      }
      // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
      // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
    // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:53
    T76 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_ELT(1, &KPfalseVKi);
    MV_SET_COUNT(2);
    // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:15
  T44_0 = T76;
  T44_1 = MV_GET_ELT(1);
    /* invalidate returnPexit_0_ */
  }
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:15
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:9
  T45_0 = T44_0;
  T45_1 = T44_1;
  {
    MV_CHECK_TYPE_PROLOGUE(T44_0);
    primitive_type_check(T45_0, &K7);
    primitive_type_check(T45_1, &K8);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:9
  MV_SET_ELT(1, T45_1);
  MV_SET_COUNT(2);
  return(T45_0);
}

static D Kanonymous_of_find_library_locatorF15I () {
  D T0;
  D T1;
  D T2;
  _KLsimple_object_vectorGVKd_4 T3 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T4;
  D T5_0;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:48
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T0 = CONGRUENT_CALL2(&KLstringGVKd, CREF(0));
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:50
  T2 = SLOT_VALUE_INITD(CREF(1), 0);
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:50
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T1 = CONGRUENT_CALL2(&KLstringGVKd, T2);
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
  T3.vector_element_[0] = &K16;
  T3.vector_element_[1] = T0;
  T3.vector_element_[2] = CREF(2);
  T3.vector_element_[3] = T1;
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
  T4 = primitive_copy_vector(&T3);
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
  T5_0 = T4;
  // /Users/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:46
  MV_SET_COUNT(1);
  return(T5_0);
}


/* SYSTEM INIT CODE */

void _Init_registry_projects__X_registry_for_system () {
  extern D KPresolve_symbolVKiI(D);
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdirectory_);
    if (T0 != &KJdirectory_) {
      IKJdirectory_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJserver_);
    if (T0 != &KJserver_) {
      IKJserver_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJpath_);
    if (T0 != &KJpath_) {
      IKJpath_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJproject_manager_);
    if (T0 != &KJproject_manager_) {
      IKJproject_manager_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_registry_projects__X_registry_for_user () {
  return;
}


/* eof */
