#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;

typedef struct {
  D wrapper;
  D class_properties_;
  D iclass_class_;
  D class_mm_wrapper_;
  D repeated_slot_descriptor_;
  D instance_slot_descriptors_;
  D iclass_dispatch_key_;
  D class_constructor_;
  D direct_superclasses_;
  D class_rcpl_vector_;
  D class_rcpl_position_;
  D class_rcpl_other_positions_;
  D class_known_joint_;
  D iclass_dependent_generics_;
  D iclass_subclass_dependent_generics_;
  D direct_subclasses_;
  D direct_methods_;
  D direct_slot_descriptors_;
  D slot_descriptors_;
  D direct_inherited_slot_descriptors_;
  D direct_initialization_argument_descriptors_;
  D class_slot_descriptors_;
  D defaulted_initialization_arguments_slot_;
  D class_slot_storage_;
} _KLimplementation_classGVKe;

#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(5);
define__KLsimple_object_vectorGVKd(10);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(16);
define__KLsimple_object_vectorGVKd(6);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D mep_;
  D iep_;
  D keyword_specifiers_;
} _KLkeyword_methodGVKe;

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;
  D head_;
  D tail_;
} _KLempty_listGVKd;

typedef struct {
  D wrapper;
} _KLfile_locatorGYlocatorsVsystem;

typedef struct {
  D wrapper;
} _KLdirectory_locatorGYlocatorsVsystem;

typedef struct {
  D wrapper;
} _KLlocatorGYlocators_protocolVcommon_dylan;

typedef struct {
  D wrapper;
} _KLphysical_locatorGYlocators_protocolVcommon_dylan;

typedef struct {
  D wrapper;
} _KLfile_system_locatorGYfile_systemVsystem;

typedef struct {
  D wrapper;
  D namespace_name_;
  D home_library_;
} _KLmoduleGVKe;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(48);
define__KLbyte_stringGVKd(20);
define__KLbyte_stringGVKd(53);
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(27);
define__KLbyte_stringGVKd(0);

typedef struct {
  D wrapper;
} _KLstringGVKd;

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 instanceQ_iep_;
  D union_type1_;
  D union_type2_;
} _KLunionGVKe;

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

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

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_values_;
} _KLsignatureAvaluesGVKi;

typedef struct {
  D wrapper;
} _KLfile_system_directory_locatorGYfile_systemVsystem;

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

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_keys_;
  D signature_key_types_;
} _KLkeyword_signatureGVKe;

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

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_keys_;
  D signature_key_types_;
  D signature_values_;
} _KLkeyword_signatureAvaluesGVKi;

typedef struct {
  D wrapper;
  D slot_descriptor_properties_;
  D init_data_slot_;
  D slot_owner_;
  D init_keyword_;
  D slot_getter_;
  D slot_setter_;
  D slot_type_;
} _KLinstance_slot_descriptorGVKe;

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;
} _KLserver_locatorGYlocators_protocolVcommon_dylan;

typedef struct {
  D wrapper;
} _KLsequenceGVKd;

typedef struct {
  D wrapper;
} _KLfile_system_file_locatorGYfile_systemVsystem;

typedef struct {
  D wrapper;
} _KLintegerGVKd;

typedef struct {
  D wrapper;
  D instanceQ_iep_;
  D subclass_class_;
} _KLsubclassGVKe;

typedef struct {
  D wrapper;
  D domain_library_;
  D domain_next_;
  D domain_method_;
} _KLmethod_domainGVKe;

typedef struct {
  D wrapper;
  D namespace_name_;
  D library_major_version_;
  D library_minor_version_;
  D library_build_count_;
  D used_libraries_;
  D all_used_libraries_;
  D runtime_module_;
  D library_defined_generics_;
  D library_number_static_dispatches_;
  D library_number_dynamic_dispatches_;
} _KLlibraryGVKe;

#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;

typedef struct {
  D wrapper;
  D xep_;
  D method_slot_descriptor_;
} _KLgetter_methodGVKi;


/* Typedefs for defined classes */

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

typedef struct {
  D wrapper;
  D locator_relativeQ_;
  D locator_path_;
} _KLposix_directory_locatorGYfile_systemVsystem;

typedef struct {
  D wrapper;
} _KLposix_file_system_locatorGYfile_systemVsystem;


/* 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 KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLkeyword_methodGVKe Kdefault_class_constructorVKi;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
extern _KLclassGVKd KLfile_locatorGYlocatorsVsystem;
extern _KLmm_wrapperGVKi_0 KLfile_locatorGYlocatorsVsystemW;
extern _KLclassGVKd KLdirectory_locatorGYlocatorsVsystem;
extern _KLmm_wrapperGVKi_0 KLdirectory_locatorGYlocatorsVsystemW;
extern _KLclassGVKd KLlocatorGYlocators_protocolVcommon_dylan;
extern _KLmm_wrapperGVKi_0 KLlocatorGYlocators_protocolVcommon_dylanW;
extern _KLclassGVKd KLphysical_locatorGYlocators_protocolVcommon_dylan;
extern _KLmm_wrapperGVKi_0 KLphysical_locatorGYlocators_protocolVcommon_dylanW;
extern _KLclassGVKd KLfile_system_locatorGYfile_systemVsystem;
extern _KLmm_wrapperGVKi_0 KLfile_system_locatorGYfile_systemVsystemW;
D Kgeneral_rcpl_class_instanceQVKiI (D, D);
extern _KLmoduleGVKe Kfile_system_moduleYdylan_userVsystem;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLbyte_stringGVKd_0 KPempty_stringVKi;
D KmakeVKdMM33I (D, D, D, D);
extern _KLsealed_generic_functionGVKe KconcatenateVKd;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
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 _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
D KelementVKdMM11I (D, D, D, D);
extern _KLsealed_generic_functionGVKe Kunsupplied_objectVKi;
extern _KLclassGVKd KLfile_system_directory_locatorGYfile_systemVsystem;
extern _KLmm_wrapperGVKi_0 KLfile_system_directory_locatorGYfile_systemVsystemW;
D KerrorVKdMM1I (D, D);
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLclassGVKd KLkeyword_signatureGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureGVKeW;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLkeyword_methodGVKe KinitializeVKdMM1;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLincremental_generic_functionGVKe Klocator_pathYlocatorsVsystem;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLincremental_generic_functionGVKe Klocator_relativeQYlocatorsVsystem;
D Kclass_instanceQ_initialVKiI (D, D);
extern _KLclassGVKd KLserver_locatorGYlocators_protocolVcommon_dylan;
extern _KLmm_wrapperGVKi_0 KLserver_locatorGYlocators_protocolVcommon_dylanW;
D Klocator_errorYlocatorsVsystemI (D, D);
D Kobject_classVKdI (D);
extern _KLsealed_generic_functionGVKe Kconcatenate_asVKd;
extern _KLsimple_methodGVKe Kcanonicalize_pathYlocators_internalsVsystemMM0;
D Kclass_constructor_atomicallyVKiI (D);
extern _KLclassGVKd KLsequenceGVKd;
extern _KLmm_wrapperGVKi_0 KLsequenceGVKdW;
extern _KLclassGVKd KLfile_system_file_locatorGYfile_systemVsystem;
extern _KLmm_wrapperGVKi_0 KLfile_system_file_locatorGYfile_systemVsystemW;
extern _KLincremental_generic_functionGVKe KinitializeVKd;
extern _KLincremental_generic_functionGVKe Klocator_extensionYlocatorsVsystem;
extern _KLincremental_generic_functionGVKe Klocator_baseYlocatorsVsystem;
extern _KLincremental_generic_functionGVKe Klocator_directoryYlocatorsVsystem;
D Kcurrent_directory_locatorQYlocators_internalsVsystemMM0I (D);
D Kfind_delimiter_from_endYlocators_internalsVsystemMM0I (D, D, D, D, D);
extern _KLclassGVKd KLintegerGVKd;
extern _KLmm_wrapperGVKi_0 KLintegerGVKdW;
extern _KLincremental_generic_functionGVKe Kcopy_sequenceVKd;
extern _KLsymbolGVKd KJend_;
extern _KLsymbolGVKd KJstart_;
D Kpath_to_stringYlocators_internalsVsystemMM0I (D, D, D, D, D);
extern _KLsimple_object_vectorGVKd_2 KDsignature_LstringG_typesVKi;
extern _KLclassGVKd KLsubclassGVKe;
extern _KLmm_wrapperGVKi_0 KLsubclassGVKeW;
D Ksubclass_instanceQVKiI (D, D);
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLclassGVKd KLmethod_domainGVKe;
extern _KLmm_wrapperGVKi_0 KLmethod_domainGVKeW;
extern _KLlibraryGVKe Ksystem_libraryYdylan_userVsystem;
extern _KLclassGVKd KLlibraryGVKe;
extern _KLmm_wrapperGVKi_0 KLlibraryGVKeW;
extern _KLmethod_domainGVKe Klocator_as_stringYlocatorsVsystemRD_systemRD_3;
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLincremental_generic_functionGVKe K_VKd;
extern _KLsymbolGVKd KJtest_;
extern _KLsealed_generic_functionGVKe Kparse_pathYlocators_internalsVsystem;
extern _KLkeyword_methodGVKe KmakeVKdMM48;
D Kconcatenate_2VKeMM1I (D, D);
extern _KLsimple_methodGVKe KEEVKd;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern _KLsymbolGVKd KJname_;
extern _KLmethod_domainGVKe Kstring_as_locatorYlocatorsVsystemRD_systemRD_2;
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LfunctionG_typesVKi;
extern _KLmethod_domainGVKe Klocator_testYlocators_internalsVsystemRD_systemRD_0;
extern _KLclassGVKd KLgetter_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLgetter_methodGVKiW;
extern _KLmethod_domainGVKe Klocator_pathYlocatorsVsystemRD_systemRD_0;
extern _KLmethod_domainGVKe Klocator_baseYlocatorsVsystemRD_systemRD_0;
extern _KLmethod_domainGVKe Klocator_extensionYlocatorsVsystemRD_systemRD_0;
extern _KLmethod_domainGVKe Klocator_directoryYlocatorsVsystemRD_systemRD_0;
extern _KLmethod_domainGVKe Klocator_relativeQYlocatorsVsystemRD_systemRD_0;
D KPadd_a_methodVKnI (D, D, D, D, D, D);
extern _KLincremental_generic_functionGVKe KmakeVKd;
D KeveryQVKdMM0I (D, D, D);
extern _KLsimple_object_vectorGVKd_16 KDsignature_LbooleanG_typesVKi;

/* Defined object declarations */

extern _KLmethod_domainGVKe Klocator_relativeQYlocatorsVsystemRD_systemRD_1;
extern _KLgetter_methodGVKi Klocator_relativeQYlocatorsVsystemMM2;
extern _KLmethod_domainGVKe Klocator_directoryYlocatorsVsystemRD_systemRD_1;
extern _KLgetter_methodGVKi Klocator_directoryYlocatorsVsystemMM2;
extern _KLmethod_domainGVKe Klocator_extensionYlocatorsVsystemRD_systemRD_1;
extern _KLgetter_methodGVKi Klocator_extensionYlocatorsVsystemMM1;
extern _KLmethod_domainGVKe Klocator_baseYlocatorsVsystemRD_systemRD_1;
extern _KLgetter_methodGVKi Klocator_baseYlocatorsVsystemMM1;
extern _KLsimple_methodGVKe Ksimplify_locatorYlocatorsVsystemMM2;
D Ksimplify_locatorYlocatorsVsystemMM2I (D);
extern _KLsimple_methodGVKe Klocator_serverYlocatorsVsystemMM3;
D Klocator_serverYlocatorsVsystemMM3I (D);
extern _KLmethod_domainGVKe Klocator_pathYlocatorsVsystemRD_systemRD_1;
extern _KLgetter_methodGVKi Klocator_pathYlocatorsVsystemMM1;
extern _KLmethod_domainGVKe Klocator_testYlocators_internalsVsystemRD_systemRD_1;
extern _KLsimple_methodGVKe Klocator_testYlocators_internalsVsystemMM2;
D Klocator_testYlocators_internalsVsystemMM2I (D);
extern _KLsimple_methodGVKe Klocator_might_have_linksQYlocators_internalsVsystemMM1;
D Klocator_might_have_linksQYlocators_internalsVsystemMM1I (D);
extern _KLmethod_domainGVKe Kstring_as_locatorYlocatorsVsystemRD_systemRD_3;
extern _KLmethod_domainGVKe Kstring_as_locatorYlocatorsVsystemRD_systemRD_4;
extern _KLmethod_domainGVKe Kstring_as_locatorYlocatorsVsystemRD_systemRD_5;
extern _KLsimple_methodGVKe Kstring_as_locatorYlocatorsVsystemMM6;
D Kstring_as_locatorYlocatorsVsystemMM6I (D, D);
extern _KLsimple_methodGVKe Kstring_as_locatorYlocatorsVsystemMM5;
D Kstring_as_locatorYlocatorsVsystemMM5I (D, D);
extern _KLsimple_methodGVKe Kstring_as_locatorYlocatorsVsystemMM4;
D Kstring_as_locatorYlocatorsVsystemMM4I (D, D);
extern _KLmethod_domainGVKe Klocator_as_stringYlocatorsVsystemRD_systemRD_4;
extern _KLmethod_domainGVKe Klocator_as_stringYlocatorsVsystemRD_systemRD_5;
extern _KLsimple_methodGVKe Klocator_as_stringYlocatorsVsystemMM7;
D Klocator_as_stringYlocatorsVsystemMM7I (D, D);
extern _KLsimple_methodGVKe Klocator_as_stringYlocatorsVsystemMM6;
D Klocator_as_stringYlocatorsVsystemMM6I (D, D);
D KmakeVKdMsystemM7I (D, D, D, D, D, D);
extern _KLclassGVKd KLposix_file_locatorGYfile_systemVsystem;
extern _KLmm_wrapperGVKi_0 KLposix_file_locatorGYfile_systemVsystemW;
D KmakeVKdMsystemM6I (D, D, D, D, D, D, D);
extern _KLclassGVKd KLposix_directory_locatorGYfile_systemVsystem;
extern _KLmm_wrapperGVKi_0 KLposix_directory_locatorGYfile_systemVsystemW;
extern _KLsimple_methodGVKe Klocator_nameYlocatorsVsystemMM3;
D Klocator_nameYlocatorsVsystemMM3I (D);
extern _KLsimple_methodGVKe Klocator_nameYlocatorsVsystemMM4;
D Klocator_nameYlocatorsVsystemMM4I (D);
extern _KLclassGVKd KLposix_file_system_locatorGYfile_systemVsystem;
extern _KLmm_wrapperGVKi_0 KLposix_file_system_locatorGYfile_systemVsystemW;
static _KLimplementation_classGVKe K46;
static _KLsimple_object_vectorGVKd_1 K47;
static _KLsimple_object_vectorGVKd_6 K48;
static _KLsimple_object_vectorGVKd_1 K49;
static _KLsimple_object_vectorGVKd_2 K50;
static _KLbyte_stringGVKd_27 K51;
static _KLunionGVKe K52;
static _KLsingletonGVKd K53;
static _KLsignatureAvaluesGVKi K54;
static _KLsimple_object_vectorGVKd_1 K55;
static _KLsimple_object_vectorGVKd_1 K56;
static _KLsignatureAvaluesGVKi K57;
static _KLsimple_object_vectorGVKd_1 K58;
static _KLimplementation_classGVKe K59;
static _KLsimple_object_vectorGVKd_2 K60;
extern _KLkeyword_methodGVKe KLposix_directory_locatorGZ32ZconstructorYsystem_internalsVsystemMM0;
D KLposix_directory_locatorGZ32ZconstructorYsystem_internalsVsystemMM0I (D, D, D, D);
static _KLsimple_object_vectorGVKd_2 K63;
static _KLsimple_object_vectorGVKd_8 K64;
static _KLsymbolGVKd KJpath_;
static _KLbyte_stringGVKd_23 K66;
static _KLpairGVKd K67;
extern _KLkeyword_methodGVKe KinitializeVKdMsystemM3;
D KinitializeVKdMsystemM3I (D, D, D);
static _KLkeyword_signatureGVKe K70;
static _KLsimple_object_vectorGVKd_2 K71;
static _KLsymbolGVKd KJserver_;
static _KLbyte_stringGVKd_6 K73;
static _KLsimple_object_vectorGVKd_1 K74;
static _KLbyte_stringGVKd_4 K75;
static _KLkeyword_signatureAvaluesGVKi K76;
static _KLsimple_object_vectorGVKd_4 K77;
static _KLsymbolGVKd KJrelativeQ_;
static _KLbyte_stringGVKd_9 K79;
static _KLsimple_object_vectorGVKd_2 K80;
extern _KLinstance_slot_descriptorGVKe Klocator_relativeQYlocatorsVsystemHLposix_directory_locatorG;
extern _KLinstance_slot_descriptorGVKe Klocator_pathYlocatorsVsystemHLposix_directory_locatorG;
static _KLbyte_stringGVKd_25 K83;
static _KLunionGVKe K84;
static _KLunionGVKe K85;
static _KLunionGVKe K86;
static _KLbyte_stringGVKd_53 K87;
static _KLimplementation_classGVKe K88;
static _KLsimple_object_vectorGVKd_3 K89;
extern _KLkeyword_methodGVKe KLposix_file_locatorGZ32ZconstructorYsystem_internalsVsystemMM0;
D KLposix_file_locatorGZ32ZconstructorYsystem_internalsVsystemMM0I (D, D, D, D, D);
static _KLsimple_object_vectorGVKd_2 K92;
static _KLsimple_object_vectorGVKd_8 K93;
static _KLkeyword_signatureAvaluesGVKi K94;
static _KLsimple_object_vectorGVKd_6 K95;
static _KLsymbolGVKd KJdirectory_;
static _KLsymbolGVKd KJbase_;
static _KLsymbolGVKd KJextension_;
static _KLbyte_stringGVKd_9 K99;
static _KLbyte_stringGVKd_4 K100;
static _KLbyte_stringGVKd_9 K101;
static _KLsimple_object_vectorGVKd_3 K102;
extern _KLinstance_slot_descriptorGVKe Klocator_directoryYlocatorsVsystemHLposix_file_locatorG;
extern _KLinstance_slot_descriptorGVKe Klocator_baseYlocatorsVsystemHLposix_file_locatorG;
extern _KLinstance_slot_descriptorGVKe Klocator_extensionYlocatorsVsystemHLposix_file_locatorG;
static _KLbyte_stringGVKd_20 K106;
static _KLbyte_stringGVKd_48 K107;
static _KLsignatureAvaluesGVKi K108;
static _KLsimple_object_vectorGVKd_2 K109;
static _KLsubclassGVKe K110;
static _KLsignatureAvaluesGVKi K111;
static _KLsimple_object_vectorGVKd_2 K112;
static _KLsubclassGVKe K113;
static _KLsignatureAvaluesGVKi K114;
static _KLsimple_object_vectorGVKd_2 K115;
static _KLsimple_object_vectorGVKd_1 K116;
static _KLsingletonGVKd K117;
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_string_as_locatorF121;
static D Kanonymous_of_string_as_locatorF121I (D);
static _KLpairGVKd K120;
static _KLsignatureGVKe K122;
static _KLsignatureAvaluesGVKi K123;
static _KLsimple_object_vectorGVKd_2 K124;
static _KLsingletonGVKd K125;
static _KLsignatureAvaluesGVKi K126;
static _KLsimple_object_vectorGVKd_2 K127;
static _KLsingletonGVKd K128;
static _KLsignatureAvaluesGVKi K129;
static _KLsimple_object_vectorGVKd_1 K130;
static _KLsingletonGVKd K131;
static _KLsignatureAvaluesGVKi K132;
static _KLsignatureAvaluesGVKi K133;
static _KLsimple_object_vectorGVKd_1 K134;
static _KLsignatureAvaluesGVKi K135;
extern _KLsimple_methodGVKe KEVKdMsystemM6;
D KEVKdMsystemM6I (D, D);
extern _KLkeyword_methodGVKe KmakeVKdMsystemM7;
extern _KLsimple_methodGVKe KEVKdMsystemM5;
D KEVKdMsystemM5I (D, D);
extern _KLkeyword_methodGVKe KmakeVKdMsystemM6;
static _KLkeyword_signatureAvaluesGVKi K147;
static _KLsimple_object_vectorGVKd_10 K148;
static _KLsimple_object_vectorGVKd_1 K149;
static _KLsimple_object_vectorGVKd_5 K150;
static _KLsimple_object_vectorGVKd_5 K151;
static _KLsignatureAvaluesGVKi K152;
static _KLsimple_object_vectorGVKd_2 K153;
static _KLkeyword_signatureAvaluesGVKi K154;
static _KLsimple_object_vectorGVKd_8 K155;
static _KLsimple_object_vectorGVKd_1 K156;
static _KLsimple_object_vectorGVKd_4 K157;
static _KLsimple_object_vectorGVKd_4 K158;
static _KLsignatureAvaluesGVKi K159;
static _KLsimple_object_vectorGVKd_2 K160;
static _KLpairGVKd K161;
static _KLpairGVKd K162;

/* Indirection variables */

static D IKJpath_ = &KJpath_;
static D IKJserver_ = &KJserver_;
static D IKJrelativeQ_ = &KJrelativeQ_;
static D IKJdirectory_ = &KJdirectory_;
static D IKJbase_ = &KJbase_;
static D IKJextension_ = &KJextension_;

/* Variables */

D Lposix_file_system_locatorGYfile_systemVsystem = &KLposix_file_system_locatorGYfile_systemVsystem;
D Lposix_directory_locatorGYfile_systemVsystem = &KLposix_directory_locatorGYfile_systemVsystem;
D Lposix_file_locatorGYfile_systemVsystem = &KLposix_file_locatorGYfile_systemVsystem;

/* Objects */

_KLmethod_domainGVKe Klocator_relativeQYlocatorsVsystemRD_systemRD_1 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Klocator_relativeQYlocatorsVsystemRD_systemRD_0,
  &Klocator_relativeQYlocatorsVsystemMM2
};

_KLgetter_methodGVKi Klocator_relativeQYlocatorsVsystemMM2 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Klocator_relativeQYlocatorsVsystemHLposix_directory_locatorG
};

_KLmethod_domainGVKe Klocator_directoryYlocatorsVsystemRD_systemRD_1 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Klocator_directoryYlocatorsVsystemRD_systemRD_0,
  &Klocator_directoryYlocatorsVsystemMM2
};

_KLgetter_methodGVKi Klocator_directoryYlocatorsVsystemMM2 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Klocator_directoryYlocatorsVsystemHLposix_file_locatorG
};

_KLmethod_domainGVKe Klocator_extensionYlocatorsVsystemRD_systemRD_1 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Klocator_extensionYlocatorsVsystemRD_systemRD_0,
  &Klocator_extensionYlocatorsVsystemMM1
};

_KLgetter_methodGVKi Klocator_extensionYlocatorsVsystemMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Klocator_extensionYlocatorsVsystemHLposix_file_locatorG
};

_KLmethod_domainGVKe Klocator_baseYlocatorsVsystemRD_systemRD_1 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Klocator_baseYlocatorsVsystemRD_systemRD_0,
  &Klocator_baseYlocatorsVsystemMM1
};

_KLgetter_methodGVKi Klocator_baseYlocatorsVsystemMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Klocator_baseYlocatorsVsystemHLposix_file_locatorG
};

_KLsimple_methodGVKe Ksimplify_locatorYlocatorsVsystemMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K135,
  &Ksimplify_locatorYlocatorsVsystemMM2I
};

_KLsimple_methodGVKe Klocator_serverYlocatorsVsystemMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K133,
  &Klocator_serverYlocatorsVsystemMM3I
};

_KLmethod_domainGVKe Klocator_pathYlocatorsVsystemRD_systemRD_1 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Klocator_pathYlocatorsVsystemRD_systemRD_0,
  &Klocator_pathYlocatorsVsystemMM1
};

_KLgetter_methodGVKi Klocator_pathYlocatorsVsystemMM1 = {
  &KLgetter_methodGVKiW /* wrapper */,
  &slotacc_single_q_instance_getter_xep,
  &Klocator_pathYlocatorsVsystemHLposix_directory_locatorG
};

_KLmethod_domainGVKe Klocator_testYlocators_internalsVsystemRD_systemRD_1 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Klocator_testYlocators_internalsVsystemRD_systemRD_0,
  &Klocator_testYlocators_internalsVsystemMM2
};

_KLsimple_methodGVKe Klocator_testYlocators_internalsVsystemMM2 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K132,
  &Klocator_testYlocators_internalsVsystemMM2I
};

_KLsimple_methodGVKe Klocator_might_have_linksQYlocators_internalsVsystemMM1 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K129,
  &Klocator_might_have_linksQYlocators_internalsVsystemMM1I
};

_KLmethod_domainGVKe Kstring_as_locatorYlocatorsVsystemRD_systemRD_3 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Kstring_as_locatorYlocatorsVsystemRD_systemRD_2,
  &Kstring_as_locatorYlocatorsVsystemMM6
};

_KLmethod_domainGVKe Kstring_as_locatorYlocatorsVsystemRD_systemRD_4 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Kstring_as_locatorYlocatorsVsystemRD_systemRD_3,
  &Kstring_as_locatorYlocatorsVsystemMM5
};

_KLmethod_domainGVKe Kstring_as_locatorYlocatorsVsystemRD_systemRD_5 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Kstring_as_locatorYlocatorsVsystemRD_systemRD_4,
  &Kstring_as_locatorYlocatorsVsystemMM4
};

_KLsimple_methodGVKe Kstring_as_locatorYlocatorsVsystemMM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K126,
  &Kstring_as_locatorYlocatorsVsystemMM6I
};

_KLsimple_methodGVKe Kstring_as_locatorYlocatorsVsystemMM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K123,
  &Kstring_as_locatorYlocatorsVsystemMM5I
};

_KLsimple_methodGVKe Kstring_as_locatorYlocatorsVsystemMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K114,
  &Kstring_as_locatorYlocatorsVsystemMM4I
};

_KLmethod_domainGVKe Klocator_as_stringYlocatorsVsystemRD_systemRD_4 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Klocator_as_stringYlocatorsVsystemRD_systemRD_3,
  &Klocator_as_stringYlocatorsVsystemMM7
};

_KLmethod_domainGVKe Klocator_as_stringYlocatorsVsystemRD_systemRD_5 = {
  &KLmethod_domainGVKeW /* wrapper */,
  &Ksystem_libraryYdylan_userVsystem,
  &Klocator_as_stringYlocatorsVsystemRD_systemRD_4,
  &Klocator_as_stringYlocatorsVsystemMM6
};

_KLsimple_methodGVKe Klocator_as_stringYlocatorsVsystemMM7 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K111,
  &Klocator_as_stringYlocatorsVsystemMM7I
};

_KLsimple_methodGVKe Klocator_as_stringYlocatorsVsystemMM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K108,
  &Klocator_as_stringYlocatorsVsystemMM6I
};

_KLclassGVKd KLposix_file_locatorGYfile_systemVsystem = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K106,
  &K88,
  (D) 1,
  &Kfile_system_moduleYdylan_userVsystem
};

_KLmm_wrapperGVKi_0 KLposix_file_locatorGYfile_systemVsystemW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K88,
  (D) 1,
  13,
  33554439,
  (D) 1
};

_KLclassGVKd KLposix_directory_locatorGYfile_systemVsystem = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K83,
  &K59,
  (D) 1,
  &Kfile_system_moduleYdylan_userVsystem
};

_KLmm_wrapperGVKi_0 KLposix_directory_locatorGYfile_systemVsystemW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K59,
  (D) 1,
  9,
  33554439,
  (D) 1
};

_KLsimple_methodGVKe Klocator_nameYlocatorsVsystemMM3 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K57,
  &Klocator_nameYlocatorsVsystemMM3I
};

_KLsimple_methodGVKe Klocator_nameYlocatorsVsystemMM4 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K54,
  &Klocator_nameYlocatorsVsystemMM4I
};

_KLclassGVKd KLposix_file_system_locatorGYfile_systemVsystem = {
  &KLclassGVKdW /* wrapper */,
  &Kgeneral_rcpl_class_instanceQVKiI,
  &K51,
  &K46,
  (D) 1,
  &Kfile_system_moduleYdylan_userVsystem
};

_KLmm_wrapperGVKi_0 KLposix_file_system_locatorGYfile_systemVsystemW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K46,
  (D) 1,
  1,
  33554439,
  (D) 1
};

static _KLimplementation_classGVKe K46 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 410255361,
  &KLposix_file_system_locatorGYfile_systemVsystem,
  &KLposix_file_system_locatorGYfile_systemVsystemW,
  &KPfalseVKi,
  &KPempty_vectorVKi,
  (D) -3,
  &Kdefault_class_constructorVKi,
  &K47,
  &K48,
  (D) 17,
  &K49,
  &K50,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K161,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_1 K47 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLfile_system_locatorGYfile_systemVsystem
};

static _KLsimple_object_vectorGVKd_6 K48 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KLobjectGVKd,
  &KLlocatorGYlocators_protocolVcommon_dylan,
  &KLphysical_locatorGYlocators_protocolVcommon_dylan,
  &KLfile_system_locatorGYfile_systemVsystem,
  &KLposix_file_system_locatorGYfile_systemVsystem,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_1 K49 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  (D) 21
};

static _KLsimple_object_vectorGVKd_2 K50 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLfile_locatorGYlocatorsVsystem,
  &KLdirectory_locatorGYlocatorsVsystem
};

static _KLbyte_stringGVKd_27 K51 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 109,
  "<posix-file-system-locator>"
};

static _KLunionGVKe K52 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K53,
  &KLstringGVKd
};

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

static _KLsignatureAvaluesGVKi K54 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K55,
  &K56
};

static _KLsimple_object_vectorGVKd_1 K55 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLposix_file_locatorGYfile_systemVsystem
};

static _KLsimple_object_vectorGVKd_1 K56 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K52
};

static _KLsignatureAvaluesGVKi K57 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K58,
  &K56
};

static _KLsimple_object_vectorGVKd_1 K58 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLposix_directory_locatorGYfile_systemVsystem
};

static _KLimplementation_classGVKe K59 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 527433737,
  &KLposix_directory_locatorGYfile_systemVsystem,
  &KLposix_directory_locatorGYfile_systemVsystemW,
  &KPfalseVKi,
  &K60,
  (D) -3,
  &KLposix_directory_locatorGZ32ZconstructorYsystem_internalsVsystemMM0,
  &K63,
  &K64,
  (D) 29,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K60,
  &K60,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_2 K60 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &Klocator_relativeQYlocatorsVsystemHLposix_directory_locatorG,
  &Klocator_pathYlocatorsVsystemHLposix_directory_locatorG
};

_KLkeyword_methodGVKe KLposix_directory_locatorGZ32ZconstructorYsystem_internalsVsystemMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_4,
  &K76,
  &key_mep_2,
  &KLposix_directory_locatorGZ32ZconstructorYsystem_internalsVsystemMM0I,
  &K77
};

static _KLsimple_object_vectorGVKd_2 K63 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLfile_system_directory_locatorGYfile_systemVsystem,
  &KLposix_file_system_locatorGYfile_systemVsystem
};

static _KLsimple_object_vectorGVKd_8 K64 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 33,
  &KLobjectGVKd,
  &KLlocatorGYlocators_protocolVcommon_dylan,
  &KLphysical_locatorGYlocators_protocolVcommon_dylan,
  &KLdirectory_locatorGYlocatorsVsystem,
  &KLfile_system_locatorGYfile_systemVsystem,
  &KLposix_file_system_locatorGYfile_systemVsystem,
  &KLfile_system_directory_locatorGYfile_systemVsystem,
  &KLposix_directory_locatorGYfile_systemVsystem
};

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

static _KLbyte_stringGVKd_23 K66 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "Missing init keyword %="
};

static _KLpairGVKd K67 = {
  &KLpairGVKdW /* wrapper */,
  &KinitializeVKdMM1,
  &KPempty_listVKi
};

_KLkeyword_methodGVKe KinitializeVKdMsystemM3 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_3,
  &K70,
  &key_mep_3,
  &KinitializeVKdMsystemM3I,
  &K71
};

static _KLkeyword_signatureGVKe K70 = {
  &KLkeyword_signatureGVKeW /* wrapper */,
  (D) 46399493,
  &K58,
  &K74,
  &KDsignature_LobjectG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K71 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJserver_,
  &KPfalseVKi
};

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

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

static _KLsimple_object_vectorGVKd_1 K74 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KJserver_
};

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

static _KLkeyword_signatureAvaluesGVKi K76 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K80,
  &KDsignature_LobjectG_typesVKi,
  &K58
};

static _KLsimple_object_vectorGVKd_4 K77 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KJrelativeQ_,
  &KPfalseVKi,
  &KJpath_,
  &KPunboundVKi
};

static _KLsymbolGVKd KJrelativeQ_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K79
};

static _KLbyte_stringGVKd_9 K79 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "relative?"
};

static _KLsimple_object_vectorGVKd_2 K80 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KJrelativeQ_,
  &KJpath_
};

_KLinstance_slot_descriptorGVKe Klocator_relativeQYlocatorsVsystemHLposix_directory_locatorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPfalseVKi,
  &KLposix_directory_locatorGYfile_systemVsystem,
  &KJrelativeQ_,
  &Klocator_relativeQYlocatorsVsystem,
  &KPfalseVKi,
  &KLbooleanGVKd
};

_KLinstance_slot_descriptorGVKe Klocator_pathYlocatorsVsystemHLposix_directory_locatorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 193,
  &KPfalseVKi,
  &KLposix_directory_locatorGYfile_systemVsystem,
  &KJpath_,
  &Klocator_pathYlocatorsVsystem,
  &KPfalseVKi,
  &KLsimple_object_vectorGVKd
};

static _KLbyte_stringGVKd_25 K83 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "<posix-directory-locator>"
};

static _KLunionGVKe K84 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K53,
  &KLserver_locatorGYlocators_protocolVcommon_dylan
};

static _KLunionGVKe K85 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K53,
  &KLsequenceGVKd
};

static _KLunionGVKe K86 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K53,
  &KLposix_directory_locatorGYfile_systemVsystem
};

static _KLbyte_stringGVKd_53 K87 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 213,
  "Cannot specify server for posix directory locator: %="
};

static _KLimplementation_classGVKe K88 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 527433741,
  &KLposix_file_locatorGYfile_systemVsystem,
  &KLposix_file_locatorGYfile_systemVsystemW,
  &KPfalseVKi,
  &K89,
  (D) -3,
  &KLposix_file_locatorGZ32ZconstructorYsystem_internalsVsystemMM0,
  &K92,
  &K93,
  (D) 29,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &K89,
  &K89,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_3 K89 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &Klocator_directoryYlocatorsVsystemHLposix_file_locatorG,
  &Klocator_baseYlocatorsVsystemHLposix_file_locatorG,
  &Klocator_extensionYlocatorsVsystemHLposix_file_locatorG
};

_KLkeyword_methodGVKe KLposix_file_locatorGZ32ZconstructorYsystem_internalsVsystemMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K94,
  &key_mep_2,
  &KLposix_file_locatorGZ32ZconstructorYsystem_internalsVsystemMM0I,
  &K95
};

static _KLsimple_object_vectorGVKd_2 K92 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLfile_system_file_locatorGYfile_systemVsystem,
  &KLposix_file_system_locatorGYfile_systemVsystem
};

static _KLsimple_object_vectorGVKd_8 K93 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 33,
  &KLobjectGVKd,
  &KLlocatorGYlocators_protocolVcommon_dylan,
  &KLphysical_locatorGYlocators_protocolVcommon_dylan,
  &KLfile_locatorGYlocatorsVsystem,
  &KLfile_system_locatorGYfile_systemVsystem,
  &KLposix_file_system_locatorGYfile_systemVsystem,
  &KLfile_system_file_locatorGYfile_systemVsystem,
  &KLposix_file_locatorGYfile_systemVsystem
};

static _KLkeyword_signatureAvaluesGVKi K94 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K102,
  &KDsignature_LobjectG_typesVKi,
  &K55
};

static _KLsimple_object_vectorGVKd_6 K95 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KJdirectory_,
  &KPfalseVKi,
  &KJbase_,
  &KPfalseVKi,
  &KJextension_,
  &KPfalseVKi
};

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

static _KLsymbolGVKd KJbase_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K100
};

static _KLsymbolGVKd KJextension_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K99
};

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

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

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

static _KLsimple_object_vectorGVKd_3 K102 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KJdirectory_,
  &KJbase_,
  &KJextension_
};

_KLinstance_slot_descriptorGVKe Klocator_directoryYlocatorsVsystemHLposix_file_locatorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPfalseVKi,
  &KLposix_file_locatorGYfile_systemVsystem,
  &KJdirectory_,
  &Klocator_directoryYlocatorsVsystem,
  &KPfalseVKi,
  &K86
};

_KLinstance_slot_descriptorGVKe Klocator_baseYlocatorsVsystemHLposix_file_locatorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPfalseVKi,
  &KLposix_file_locatorGYfile_systemVsystem,
  &KJbase_,
  &Klocator_baseYlocatorsVsystem,
  &KPfalseVKi,
  &K52
};

_KLinstance_slot_descriptorGVKe Klocator_extensionYlocatorsVsystemHLposix_file_locatorG = {
  &KLinstance_slot_descriptorGVKeW /* wrapper */,
  (D) 157,
  &KPfalseVKi,
  &KLposix_file_locatorGYfile_systemVsystem,
  &KJextension_,
  &Klocator_extensionYlocatorsVsystem,
  &KPfalseVKi,
  &K52
};

static _KLbyte_stringGVKd_20 K106 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 81,
  "<posix-file-locator>"
};

static _KLbyte_stringGVKd_48 K107 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 193,
  "Attemped to create a file locator without a base"
};

static _KLsignatureAvaluesGVKi K108 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K109,
  &KDsignature_LstringG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K109 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &K110,
  &KLposix_directory_locatorGYfile_systemVsystem
};

static _KLsubclassGVKe K110 = {
  &KLsubclassGVKeW /* wrapper */,
  &Ksubclass_instanceQVKiI,
  &KLstringGVKd
};

static _KLsignatureAvaluesGVKi K111 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K112,
  &KDsignature_LstringG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K112 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &K113,
  &KLposix_file_locatorGYfile_systemVsystem
};

static _KLsubclassGVKe K113 = {
  &KLsubclassGVKeW /* wrapper */,
  &Ksubclass_instanceQVKiI,
  &KLstringGVKd
};

static _KLsignatureAvaluesGVKi K114 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K115,
  &K116
};

static _KLsimple_object_vectorGVKd_2 K115 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &K117,
  &KLstringGVKd
};

static _KLsimple_object_vectorGVKd_1 K116 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLposix_file_system_locatorGYfile_systemVsystem
};

static _KLsingletonGVKd K117 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KLposix_file_system_locatorGYfile_systemVsystem
};

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_string_as_locatorF121 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &rest_xep_0,
  &K122,
  &Kanonymous_of_string_as_locatorF121I,
  (D) 1
};

static _KLpairGVKd K120 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVKdMM48,
  &KPempty_listVKi
};

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

static _KLsignatureAvaluesGVKi K123 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K124,
  &K58
};

static _KLsimple_object_vectorGVKd_2 K124 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &K125,
  &KLstringGVKd
};

static _KLsingletonGVKd K125 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KLposix_directory_locatorGYfile_systemVsystem
};

static _KLsignatureAvaluesGVKi K126 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K127,
  &K55
};

static _KLsimple_object_vectorGVKd_2 K127 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &K128,
  &KLstringGVKd
};

static _KLsingletonGVKd K128 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KLposix_file_locatorGYfile_systemVsystem
};

static _KLsignatureAvaluesGVKi K129 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K58,
  &K130
};

static _KLsimple_object_vectorGVKd_1 K130 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K131
};

static _KLsingletonGVKd K131 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KPtrueVKi
};

static _KLsignatureAvaluesGVKi K132 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K58,
  &KDsignature_LfunctionG_typesVKi
};

static _KLsignatureAvaluesGVKi K133 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K58,
  &K134
};

static _KLsimple_object_vectorGVKd_1 K134 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K53
};

static _KLsignatureAvaluesGVKi K135 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K58,
  &K58
};

_KLsimple_methodGVKe KEVKdMsystemM6 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K159,
  &KEVKdMsystemM6I
};

_KLkeyword_methodGVKe KmakeVKdMsystemM7 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_6,
  &K154,
  &key_mep_6,
  &KmakeVKdMsystemM7I,
  &K155
};

_KLsimple_methodGVKe KEVKdMsystemM5 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_2,
  &K152,
  &KEVKdMsystemM5I
};

_KLkeyword_methodGVKe KmakeVKdMsystemM6 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_7,
  &K147,
  &key_mep_7,
  &KmakeVKdMsystemM6I,
  &K148
};

static _KLkeyword_signatureAvaluesGVKi K147 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 38011909,
  &K149,
  &K150,
  &K151,
  &K58
};

static _KLsimple_object_vectorGVKd_10 K148 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 41,
  &KJserver_,
  &KPfalseVKi,
  &KJpath_,
  &KPfalseVKi,
  &KJrelativeQ_,
  &KPfalseVKi,
  &KJdirectory_,
  &KPfalseVKi,
  &KJname_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_1 K149 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K125
};

static _KLsimple_object_vectorGVKd_5 K150 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &KJserver_,
  &KJpath_,
  &KJrelativeQ_,
  &KJdirectory_,
  &KJname_
};

static _KLsimple_object_vectorGVKd_5 K151 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 21,
  &K84,
  &K85,
  &KLbooleanGVKd,
  &K86,
  &K52
};

static _KLsignatureAvaluesGVKi K152 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K153,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K153 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLposix_directory_locatorGYfile_systemVsystem,
  &KLposix_directory_locatorGYfile_systemVsystem
};

static _KLkeyword_signatureAvaluesGVKi K154 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 38011909,
  &K156,
  &K157,
  &K158,
  &K55
};

static _KLsimple_object_vectorGVKd_8 K155 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 33,
  &KJdirectory_,
  &KPfalseVKi,
  &KJbase_,
  &KPfalseVKi,
  &KJextension_,
  &KPfalseVKi,
  &KJname_,
  &KPfalseVKi
};

static _KLsimple_object_vectorGVKd_1 K156 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &K128
};

static _KLsimple_object_vectorGVKd_4 K157 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &KJdirectory_,
  &KJbase_,
  &KJextension_,
  &KJname_
};

static _KLsimple_object_vectorGVKd_4 K158 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 17,
  &K86,
  &K52,
  &K52,
  &K52
};

static _KLsignatureAvaluesGVKi K159 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555465,
  &K160,
  &KDsignature_LbooleanG_typesVKi
};

static _KLsimple_object_vectorGVKd_2 K160 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 9,
  &KLposix_file_locatorGYfile_systemVsystem,
  &KLposix_file_locatorGYfile_systemVsystem
};

static _KLpairGVKd K161 = {
  &KLpairGVKdW /* wrapper */,
  &KLposix_file_locatorGYfile_systemVsystem,
  &K162
};

static _KLpairGVKd K162 = {
  &KLpairGVKdW /* wrapper */,
  &KLposix_directory_locatorGYfile_systemVsystem,
  &KPempty_listVKi
};

/* Code */

D Ksimplify_locatorYlocatorsVsystemMM2I (D locator_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:208
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:213
  T2_0 = locator_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:208
  MV_SET_COUNT(1);
  return(T2_0);
}

D Klocator_serverYlocatorsVsystemMM3I (D locator_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:66
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:68
  T2_0 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:66
  MV_SET_COUNT(1);
  return(T2_0);
}

D Klocator_testYlocators_internalsVsystemMM2I (D locator_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:109
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:111
  T2_0 = &KEVKd;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:109
  MV_SET_COUNT(1);
  return(T2_0);
}

D Klocator_might_have_linksQYlocators_internalsVsystemMM1I (D locator_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:114
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:116
  T2_0 = &KPtrueVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:114
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kstring_as_locatorYlocatorsVsystemMM6I (D class_, D string_) {
  D pos_;
  D T4;
  D T5;
  D T6;
  D T7_0;
  D T7_1;
  D directory_;
  D name_;
  D T10;
  DWORD T11;
  DWORD T12;
  D T13;
  _KLsimple_object_vectorGVKd_2 T14 = {&KLsimple_object_vectorGVKdW, (D) 9};
  DWORD T15;
  DWORD T16;
  D T17;
  _KLsimple_object_vectorGVKd_2 T18 = {&KLsimple_object_vectorGVKdW, (D) 9};
  D T19_0;
  D T19_1;
  D T20_0;
  D T20_1;
  _KLsimple_object_vectorGVKd_4 T21 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T22_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:188
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:191
  pos_ = Kfind_delimiter_from_endYlocators_internalsVsystemMM0I(string_, C('/'), &KPempty_vectorVKi, (D) 1, &KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:193
  if (pos_ != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:24
    T10 = pos_;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:195
    T11 = primitive_cast_integer_as_raw(T10);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:195
    T12 = primitive_machine_word_add_signal_overflow(T11,4);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:195
    T13 = primitive_cast_raw_as_integer(T12);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:195
    T14.vector_element_[0] = &KJend_;
    T14.vector_element_[1] = T13;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:195
    CONGRUENT_CALL_PROLOG(&Kcopy_sequenceVKd, 2);
    T4 = CONGRUENT_CALL2(string_, &T14);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:194
    CONGRUENT_CALL_PROLOG(&KasVKd, 2);
    T5 = CONGRUENT_CALL2(&KLposix_directory_locatorGYfile_systemVsystem, T4);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:196
    T15 = primitive_cast_integer_as_raw(T10);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:196
    T16 = primitive_machine_word_add_signal_overflow(T15,4);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:196
    T17 = primitive_cast_raw_as_integer(T16);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:196
    T18.vector_element_[0] = &KJstart_;
    T18.vector_element_[1] = T17;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:196
    CONGRUENT_CALL_PROLOG(&Kcopy_sequenceVKd, 2);
    T6 = CONGRUENT_CALL2(string_, &T18);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:194
    T19_0 = T5;
    T19_1 = T6;
    T7_0 = T19_0;
    T7_1 = T19_1;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:198
    T20_0 = &KPfalseVKi;
    T20_1 = string_;
    T7_0 = T20_0;
    T7_1 = T20_1;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:193
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:192
  directory_ = T7_0;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:192
  name_ = T7_1;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:200
  T21.vector_element_[0] = IKJdirectory_;
  T21.vector_element_[1] = directory_;
  T21.vector_element_[2] = &KJname_;
  T21.vector_element_[3] = name_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:200
  MIEP_CALL_PROLOG(&K120);
  T22_0 = KmakeVKdMsystemM7I(&KLposix_file_locatorGYfile_systemVsystem, &T21, directory_, &KPfalseVKi, &KPfalseVKi, name_);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:188
  MV_SET_COUNT(1);
  return(T22_0);
}

D Kstring_as_locatorYlocatorsVsystemMM5I (D class_, D string_) {
  D T3_0;
  D T3_1;
  D path_;
  D relativeQ_;
  _KLsimple_object_vectorGVKd_1 T6 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T7;
  D T8;
  _KLsimple_object_vectorGVKd_2 T9 = {&KLsimple_object_vectorGVKdW, (D) 9};
  _KLsimple_object_vectorGVKd_4 T10 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T11_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:89
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:93
  T6.vector_element_[0] = C('/');
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:93
  T7 = primitive_copy_vector(&T6);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:93
  T8 = MAKE_CLOSURE_INITD(&Kanonymous_of_string_as_locatorF121, 1, T7);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:93
  T9.vector_element_[0] = &KJtest_;
  T9.vector_element_[1] = T8;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:93
  CONGRUENT_CALL_PROLOG(&Kparse_pathYlocators_internalsVsystem, 2);
  T3_0 = CONGRUENT_CALL2(string_, &T9);
  T3_1 = MV_GET_ELT(1);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:92
  path_ = T3_0;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:92
  relativeQ_ = T3_1;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:94
  T10.vector_element_[0] = IKJpath_;
  T10.vector_element_[1] = path_;
  T10.vector_element_[2] = IKJrelativeQ_;
  T10.vector_element_[3] = relativeQ_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:94
  MIEP_CALL_PROLOG(&K120);
  T11_0 = KmakeVKdMsystemM6I(&KLposix_directory_locatorGYfile_systemVsystem, &T10, &KPfalseVKi, path_, relativeQ_, &KPfalseVKi, &KPfalseVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:89
  MV_SET_COUNT(1);
  return(T11_0);
}

D Kstring_as_locatorYlocatorsVsystemMM4I (D class_, D string_) {
  D pos_;
  D T4;
  D T5;
  D T6_0;
  D T7;
  D T8_0;
  D T9_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:17
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:20
  pos_ = Kfind_delimiter_from_endYlocators_internalsVsystemMM0I(string_, C('/'), &KPempty_vectorVKi, (D) 1, &KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:21
  CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
  T4 = CONGRUENT_CALL1(string_);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:21
  CONGRUENT_CALL_PROLOG(&K_VKd, 2);
  T5 = CONGRUENT_CALL2(T4, (D) 5);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:21
  T7 = primitive_idQ(pos_,T5);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:21
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:22
    T8_0 = Kstring_as_locatorYlocatorsVsystemMM5I(&KLposix_directory_locatorGYfile_systemVsystem, string_);
    T6_0 = T8_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:24
    T9_0 = Kstring_as_locatorYlocatorsVsystemMM6I(&KLposix_file_locatorGYfile_systemVsystem, string_);
    T6_0 = T9_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:21
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:17
  MV_SET_COUNT(1);
  return(T6_0);
}

D Klocator_as_stringYlocatorsVsystemMM7I (D class_, D locator_) {
  D T3;
  D T4_0;
  D T5_0;
  D T6_0;
  D T7;
  D T8;
  D name_;
  D T10_0;
  D T11_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:176
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:179
  T8 = SLOT_VALUE_INITD(locator_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:180
  name_ = Klocator_nameYlocatorsVsystemMM4I(locator_);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:181
  if (T8 != &KPfalseVKi) {
    T7 = T8;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:182
    CONGRUENT_CALL_PROLOG(&KasVKd, 2);
    T3 = CONGRUENT_CALL2(&KLstringGVKd, T7);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:182
    T4_0 = CALL3(&Kconcatenate_asVKd, class_, T3, name_);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:182
    T10_0 = T4_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T4_0);
      primitive_type_check(T10_0, &KLstringGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T6_0 = T10_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:184
    T5_0 = name_;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:184
    T11_0 = T5_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T5_0);
      primitive_type_check(T11_0, &KLstringGVKd);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T6_0 = T11_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:181
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:176
  MV_SET_COUNT(1);
  return(T6_0);
}

D Klocator_as_stringYlocatorsVsystemMM6I (D class_, D locator_) {
  D T3_0;
  D T4;
  D T5;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:99
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:103
  T4 = SLOT_VALUE_INITD(locator_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:106
  T5 = SLOT_VALUE_INITD(locator_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:103
  T3_0 = Kpath_to_stringYlocators_internalsVsystemMM0I(T4, &KPempty_vectorVKi, T5, C('/'), class_);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:99
  MV_SET_COUNT(1);
  return(T3_0);
}

D KmakeVKdMsystemM7I (D class_, D Urest_, D directory_, D base_, D extension_, D name_) {
  D directoryF7;
  D baseF8;
  D extensionF9;
  D nameF10;
  D T11;
  D T12;
  D directoryF13;
  D T14;
  D pos_;
  D T16;
  D T17;
  D baseF18;
  D T19;
  D T20;
  D extensionF21;
  D T22_0;
  D T23;
  D T24;
  D T25;
  D T26;
  DWORD T27;
  DWORD T28;
  D T29;
  D T30_0;
  _KLsimple_object_vectorGVKd_6 T31 = {&KLsimple_object_vectorGVKdW, (D) 25};
  D T32;
  D T33_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:130
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:130
  primitive_type_check(directory_, &K86);
  directoryF7 = directory_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:130
  primitive_type_check(base_, &K52);
  baseF8 = base_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:130
  primitive_type_check(extension_, &K52);
  extensionF9 = extension_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:130
  primitive_type_check(name_, &K52);
  nameF10 = name_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:138
  if (directoryF7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/unix-file-system.dylan:60
    T23 = directoryF7;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:138
    T11 = Kcurrent_directory_locatorQYlocators_internalsVsystemMM0I(T23);
    T12 = T11;
  } else {
    T12 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:138
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:138
  if (T12 != &KPfalseVKi) {
    directoryF13 = &KPfalseVKi;
  } else {
    directoryF13 = directoryF7;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:138
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:141
  if (nameF10 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/unix-file-system.dylan:60
    T24 = nameF10;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:141
    T14 = Kfind_delimiter_from_endYlocators_internalsVsystemMM0I(T24, C('.'), &KPempty_vectorVKi, (D) 1, &KPunboundVKi);
    pos_ = T14;
  } else {
    pos_ = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:141
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:142
  if (baseF8 != &KPfalseVKi) {
    baseF18 = baseF8;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:142
    if (pos_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/unix-file-system.dylan:60
      T25 = pos_;
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:142
      T16 = CALL3(&Kcopy_sequenceVKd, nameF10, &KJend_, T25);
      T17 = T16;
    } else {
      T17 = nameF10;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:142
    baseF18 = T17;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:142
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:143
  if (extensionF9 != &KPfalseVKi) {
    extensionF21 = extensionF9;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:143
    if (pos_ != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/unix-file-system.dylan:60
      T26 = pos_;
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:143
      T27 = primitive_cast_integer_as_raw(T26);
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:143
      T28 = primitive_machine_word_add_signal_overflow(T27,4);
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:143
      T29 = primitive_cast_raw_as_integer(T28);
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:143
      T19 = CALL3(&Kcopy_sequenceVKd, nameF10, &KJstart_, T29);
      T20 = T19;
    } else {
      T20 = &KPfalseVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:143
    extensionF21 = T20;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:143
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:144
  if (baseF18 == &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:145
    Klocator_errorYlocatorsVsystemI(&K107, &KPempty_vectorVKi);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:144
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:147
  T31.vector_element_[0] = IKJdirectory_;
  T31.vector_element_[1] = directoryF13;
  T31.vector_element_[2] = IKJbase_;
  T31.vector_element_[3] = baseF18;
  T31.vector_element_[4] = IKJextension_;
  T31.vector_element_[5] = extensionF21;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:147
  T32 = Kclass_constructor_atomicallyVKiI(class_);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:147
  T33_0 = APPLY2(T32, class_, &T31);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:147
  T30_0 = T33_0;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:130
  T22_0 = T30_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T30_0);
    primitive_type_check(T22_0, &KLposix_file_locatorGYfile_systemVsystem);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:130
  MV_SET_COUNT(1);
  return(T22_0);
}

D KmakeVKdMsystemM6I (D class_, D Urest_, D server_, D path_, D relativeQ_, D directory_, D name_) {
  D serverF8;
  D pathF9;
  D relativeQF10;
  D directoryF11;
  D nameF12;
  D T13;
  D T14;
  D T15;
  D pathF16;
  D T17;
  D T18_0;
  D T19;
  D T20;
  D T21;
  _KLsimple_object_vectorGVKd_1 T22 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T23;
  _KLsimple_object_vectorGVKd_1 T24 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T25;
  _KLsimple_object_vectorGVKd_1 T26 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T27_0;
  D T28;
  D T29_0;
  D T30;
  D T31_0;
  _KLsimple_object_vectorGVKd_4 T32 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T33;
  D T34_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:37
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:37
  primitive_type_check(server_, &K84);
  serverF8 = server_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:37
  primitive_type_check(path_, &K85);
  pathF9 = path_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:37
  primitive_type_check(relativeQ_, &KLbooleanGVKd);
  relativeQF10 = relativeQ_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:37
  primitive_type_check(directory_, &K86);
  directoryF11 = directory_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:37
  primitive_type_check(name_, &K52);
  nameF12 = name_;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:45
  if (serverF8 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/unix-file-system.dylan:35
    T19 = serverF8;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:46
    T22.vector_element_[0] = T19;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:46
    Klocator_errorYlocatorsVsystemI(&K87, &T22);
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:45
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:50
  if (nameF12 != &KPfalseVKi) {
    T13 = nameF12;
  } else {
    T13 = directoryF11;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:50
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:50
  if (T13 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:51
    if (directoryF11 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/unix-file-system.dylan:35
      T20 = directoryF11;
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:51
      T23 = SLOT_VALUE_INITD(T20, 1);
      T14 = T23;
    } else {
      T14 = &KPempty_vectorVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:51
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:52
    if (nameF12 != &KPfalseVKi) {
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/unix-file-system.dylan:35
      T21 = nameF12;
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:52
      T24.vector_element_[0] = T21;
      // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:52
      T25 = primitive_copy_vector(&T24);
      T15 = T25;
    } else {
      T15 = &KPempty_vectorVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:52
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:51
    T26.vector_element_[0] = T15;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:51
    T29_0 = Kobject_classVKdI(T14);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:51
    T30 = T29_0;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:51
    T27_0 = APPLY3(&Kconcatenate_asVKd, T30, T14, &T26);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:51
    T28 = T27_0;
    pathF16 = T28;
  } else {
    pathF16 = pathF9;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:50
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:57
  T17 = CALL1(&Kcanonicalize_pathYlocators_internalsVsystemMM0, pathF16);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:56
  T32.vector_element_[0] = IKJpath_;
  T32.vector_element_[1] = T17;
  T32.vector_element_[2] = IKJrelativeQ_;
  T32.vector_element_[3] = relativeQF10;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:56
  T33 = Kclass_constructor_atomicallyVKiI(class_);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:56
  T34_0 = APPLY2(T33, class_, &T32);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:56
  T31_0 = T34_0;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:37
  T18_0 = T31_0;
  {
    MV_CHECK_TYPE_PROLOGUE(T31_0);
    primitive_type_check(T18_0, &KLposix_directory_locatorGYfile_systemVsystem);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:37
  MV_SET_COUNT(1);
  return(T18_0);
}

D Klocator_nameYlocatorsVsystemMM3I (D locator_) {
  D T2_0;
  D T3_0;
  D T4;
  D T5;
  DWORD T6;
  D T7;
  DWORD T8;
  D T9;
  D T10_0;
  D T11_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:71
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:74
  T4 = SLOT_VALUE_INITD(locator_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:75
  T5 = SLOT_VALUE_INITD(T4, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:75
  T6 = primitive_cast_integer_as_raw(T5);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:75
  T7 = primitive_machine_word_equalQ(T6,1);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:75
  if (T7 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:75
    T2_0 = &KPfalseVKi;
    T3_0 = T2_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:76
    T8 = primitive_machine_word_subtract_signal_overflow(T6,4);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:76
    T9 = primitive_cast_raw_as_integer(T8);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:76
    T10_0 = KelementVKdMM11I(T4, T9, &KPempty_vectorVKi, &Kunsupplied_objectVKi);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:76
    T11_0 = T10_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T10_0);
      primitive_type_check(T11_0, &K52);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T3_0 = T11_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:75
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:71
  MV_SET_COUNT(1);
  return(T3_0);
}

D Klocator_nameYlocatorsVsystemMM4I (D locator_) {
  D T2;
  D T3_0;
  D T4_0;
  D T5_0;
  D T6;
  D T7;
  D T8;
  D T9_0;
  D T10;
  D T11_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:153
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:156
  T7 = SLOT_VALUE_INITD(locator_, 1);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:157
  T8 = SLOT_VALUE_INITD(locator_, 2);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:158
  if (T8 != &KPfalseVKi) {
    T6 = T8;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:159
    if (T7 != &KPfalseVKi) {
      T2 = T7;
    } else {
      T2 = &KPempty_stringVKi;
    }
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:159
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:160
    T9_0 = KmakeVKdMM33I(&KLbyte_stringGVKd, &KPempty_vectorVKi, C('.'), (D) 5);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:160
    T10 = T9_0;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:159
    T3_0 = CALL3(&KconcatenateVKd, T2, T10, T6);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:159
    T11_0 = T3_0;
    {
      MV_CHECK_TYPE_PROLOGUE(T3_0);
      primitive_type_check(T11_0, &K52);
      MV_CHECK_TYPE_EPILOGUE();
    }
    T5_0 = T11_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:163
    T4_0 = T7;
    T5_0 = T4_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:158
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:153
  MV_SET_COUNT(1);
  return(T5_0);
}

D KLposix_directory_locatorGZ32ZconstructorYsystem_internalsVsystemMM0I (D class_, D init_args_, D Uunique_locator_relativeQ_, D Uunique_locator_path_) {
  D T5;
  D Uunique_locator_pathF6;
  D T7;
  D Uunique_locator_relativeQF8;
  D Uunique_locator_pathF9;
  D T10_0;
  D T11;
  _KLsimple_object_vectorGVKd_1 T12 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T13;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:29
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:29
  T11 = primitive_idQ(Uunique_locator_path_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:29
  if (T11 != &KPfalseVKi) {
    T12.vector_element_[0] = IKJpath_;
    T13 = KerrorVKdMM1I(&K66, &T12);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:29
    T5 = T13;
    Uunique_locator_pathF6 = T5;
  } else {
    Uunique_locator_pathF6 = Uunique_locator_path_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:29
  T7 = primitive_object_allocate_filled(3,&KLposix_directory_locatorGYfile_systemVsystemW,2,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_locator_relativeQ_, &KLbooleanGVKd);
  Uunique_locator_relativeQF8 = Uunique_locator_relativeQ_;
  SLOT_VALUE_SETTER(Uunique_locator_relativeQF8, T7, 0);
  primitive_type_check(Uunique_locator_pathF6, &KLsimple_object_vectorGVKd);
  Uunique_locator_pathF9 = Uunique_locator_pathF6;
  SLOT_VALUE_SETTER(Uunique_locator_pathF9, T7, 1);
  MEP_APPLY2(&KinitializeVKdMsystemM3, &K67, T7, init_args_);
  T10_0 = T7;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:29
  MV_SET_COUNT(1);
  return(T10_0);
}

D KinitializeVKdMsystemM3I (D locator_, D Urest_, D server_) {
  D T4;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:61
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:63
  T4 = &KPfalseVKi;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:61
  MV_SET_COUNT(0);
  return(T4);
}

D KLposix_file_locatorGZ32ZconstructorYsystem_internalsVsystemMM0I (D class_, D init_args_, D Uunique_locator_directory_, D Uunique_locator_base_, D Uunique_locator_extension_) {
  D T6;
  D Uunique_locator_directoryF7;
  D Uunique_locator_baseF8;
  D Uunique_locator_extensionF9;
  D T10_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:120
  T6 = primitive_object_allocate_filled(4,&KLposix_file_locatorGYfile_systemVsystemW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_locator_directory_, &K86);
  Uunique_locator_directoryF7 = Uunique_locator_directory_;
  SLOT_VALUE_SETTER(Uunique_locator_directoryF7, T6, 0);
  primitive_type_check(Uunique_locator_base_, &K52);
  Uunique_locator_baseF8 = Uunique_locator_base_;
  SLOT_VALUE_SETTER(Uunique_locator_baseF8, T6, 1);
  primitive_type_check(Uunique_locator_extension_, &K52);
  Uunique_locator_extensionF9 = Uunique_locator_extension_;
  SLOT_VALUE_SETTER(Uunique_locator_extensionF9, T6, 2);
  APPLY2(&KinitializeVKd, T6, init_args_);
  T10_0 = T6;
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:120
  MV_SET_COUNT(1);
  return(T10_0);
}

static D Kanonymous_of_string_as_locatorF121I (D args_) {
  D T1;
  D T2;
  CAPTURE_ENVIRONMENT

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:93
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:93
  T1 = Kconcatenate_2VKeMM1I(CREF(0), args_);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:93
  T2 = APPLY1(&KEEVKd, T1);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:93
  return(T2);
}

D KEVKdMsystemM6I (D locator1_, D locator2_) {
  D T3;
  D T4;
  D T5;
  D T6_0;
  D T7_0;
  D T8_0;
  D T9;
  D T10;
  D T11;
  D T12;
  D T13;
  D T14;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:167
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:171
  T9 = SLOT_VALUE_INITD(locator1_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:171
  T10 = SLOT_VALUE_INITD(locator2_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:171
  CONGRUENT_CALL_PROLOG(&KEVKd, 2);
  T3 = CONGRUENT_CALL2(T9, T10);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:171
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:172
    T11 = SLOT_VALUE_INITD(locator1_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:172
    T12 = SLOT_VALUE_INITD(locator2_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:172
    CONGRUENT_CALL_PROLOG(&KEVKd, 2);
    T4 = CONGRUENT_CALL2(T11, T12);
    T5 = T4;
  } else {
    T5 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:171
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:171
  if (T5 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:173
    T13 = SLOT_VALUE_INITD(locator1_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:173
    T14 = SLOT_VALUE_INITD(locator2_, 2);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:173
    CONGRUENT_CALL_PROLOG(&KEVKd, 2);
    T6_0 = CONGRUENT_CALL2(T13, T14);
    T8_0 = T6_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:171
    T7_0 = &KPfalseVKi;
    T8_0 = T7_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:171
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:167
  MV_SET_COUNT(1);
  return(T8_0);
}

D KEVKdMsystemM5I (D locator1_, D locator2_) {
  D T3;
  D T4;
  D T5_0;
  D T6_0;
  D T7;
  D T8;
  D T9;
  D T10;
  D T11;
  D T12;
  DWORD T13;
  DWORD T14;
  D T15;
  D T16;
  D T17;
  _KLsimple_object_vectorGVKd_1 T18 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T19_0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:80
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:84
  T7 = SLOT_VALUE_INITD(locator1_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:84
  T8 = SLOT_VALUE_INITD(locator2_, 0);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:84
  CONGRUENT_CALL_PROLOG(&KEVKd, 2);
  T3 = CONGRUENT_CALL2(T7, T8);
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:84
  if (T3 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:85
    T9 = SLOT_VALUE_INITD(locator1_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:85
    T10 = SLOT_VALUE_INITD(T9, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:85
    T11 = SLOT_VALUE_INITD(locator2_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:85
    T12 = SLOT_VALUE_INITD(T11, 0);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:85
    T13 = primitive_cast_integer_as_raw(T10);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:85
    T14 = primitive_cast_integer_as_raw(T12);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:85
    T15 = primitive_machine_word_equalQ(T13,T14);
    T4 = T15;
  } else {
    T4 = &KPfalseVKi;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:84
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:84
  if (T4 != &KPfalseVKi) {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:86
    T16 = SLOT_VALUE_INITD(locator1_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:86
    T17 = SLOT_VALUE_INITD(locator2_, 1);
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:86
    T18.vector_element_[0] = T17;
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:86
    T19_0 = KeveryQVKdMM0I(&KEVKd, T16, &T18);
    T6_0 = T19_0;
  } else {
    // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:84
    T5_0 = &KPfalseVKi;
    T6_0 = T5_0;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:84
  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:80
  MV_SET_COUNT(1);
  return(T6_0);
}


/* SYSTEM INIT CODE */

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

    T0 = KPresolve_symbolVKiI(&KJpath_);
    if (T0 != &KJpath_) {
      primitive_repeated_slot_value_setter(T0, &K150, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 2);
      IKJpath_ = T0;
      primitive_slot_value_setter(T0, &Klocator_pathYlocatorsVsystemHLposix_directory_locatorG, 3);
      primitive_repeated_slot_value_setter(T0, &K80, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K77, 1, 2);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJserver_);
    if (T0 != &KJserver_) {
      primitive_repeated_slot_value_setter(T0, &K150, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K74, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K71, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJrelativeQ_);
    if (T0 != &KJrelativeQ_) {
      primitive_repeated_slot_value_setter(T0, &K150, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 4);
      IKJrelativeQ_ = T0;
      primitive_slot_value_setter(T0, &Klocator_relativeQYlocatorsVsystemHLposix_directory_locatorG, 3);
      primitive_repeated_slot_value_setter(T0, &K80, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K77, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJdirectory_);
    if (T0 != &KJdirectory_) {
      primitive_repeated_slot_value_setter(T0, &K157, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K155, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K150, 1, 3);
      primitive_repeated_slot_value_setter(T0, &K148, 1, 6);
      IKJdirectory_ = T0;
      primitive_slot_value_setter(T0, &Klocator_directoryYlocatorsVsystemHLposix_file_locatorG, 3);
      primitive_repeated_slot_value_setter(T0, &K102, 1, 0);
      primitive_repeated_slot_value_setter(T0, &K95, 1, 0);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJbase_);
    if (T0 != &KJbase_) {
      primitive_repeated_slot_value_setter(T0, &K157, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K155, 1, 2);
      IKJbase_ = T0;
      primitive_slot_value_setter(T0, &Klocator_baseYlocatorsVsystemHLposix_file_locatorG, 3);
      primitive_repeated_slot_value_setter(T0, &K102, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K95, 1, 2);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJextension_);
    if (T0 != &KJextension_) {
      primitive_repeated_slot_value_setter(T0, &K157, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K155, 1, 4);
      IKJextension_ = T0;
      primitive_slot_value_setter(T0, &Klocator_extensionYlocatorsVsystemHLposix_file_locatorG, 3);
      primitive_repeated_slot_value_setter(T0, &K102, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K95, 1, 4);
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_system__X_19Eposix_locators_for_user () {
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:37
  T0 = KPadd_a_methodVKnI(&KmakeVKd, &KmakeVKdMsystemM6, &Ksystem_libraryYdylan_userVsystem, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I146;
}
I146:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:61
  T0 = KPadd_a_methodVKnI(&KinitializeVKd, &KinitializeVKdMsystemM3, &Ksystem_libraryYdylan_userVsystem, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I144;
}
I144:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:80
  T0 = KPadd_a_methodVKnI(&KEVKd, &KEVKdMsystemM5, &Ksystem_libraryYdylan_userVsystem, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I143;
}
I143:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:130
  T0 = KPadd_a_methodVKnI(&KmakeVKd, &KmakeVKdMsystemM7, &Ksystem_libraryYdylan_userVsystem, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I140;
}
I140:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/system/file-system/posix-locators.dylan:167
  T0 = KPadd_a_methodVKnI(&KEVKd, &KEVKdMsystemM6, &Ksystem_libraryYdylan_userVsystem, &KPfalseVKi, &KPfalseVKi, &KPtrueVKi);
  goto I138;
}
I138:

  return;
}


/* eof */
