azure_graph_rbac 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/lib/1.6/generated/azure_graph_rbac.rb +75 -0
- data/lib/1.6/generated/azure_graph_rbac/applications.rb +1131 -0
- data/lib/1.6/generated/azure_graph_rbac/domains.rb +200 -0
- data/lib/1.6/generated/azure_graph_rbac/graph_rbac_client.rb +150 -0
- data/lib/1.6/generated/azure_graph_rbac/groups.rb +1079 -0
- data/lib/1.6/generated/azure_graph_rbac/models/aadobject.rb +297 -0
- data/lib/1.6/generated/azure_graph_rbac/models/adgroup.rb +116 -0
- data/lib/1.6/generated/azure_graph_rbac/models/application.rb +196 -0
- data/lib/1.6/generated/azure_graph_rbac/models/application_add_owner_parameters.rb +69 -0
- data/lib/1.6/generated/azure_graph_rbac/models/application_create_parameters.rb +202 -0
- data/lib/1.6/generated/azure_graph_rbac/models/application_list_result.rb +98 -0
- data/lib/1.6/generated/azure_graph_rbac/models/application_update_parameters.rb +201 -0
- data/lib/1.6/generated/azure_graph_rbac/models/check_group_membership_parameters.rb +77 -0
- data/lib/1.6/generated/azure_graph_rbac/models/check_group_membership_result.rb +67 -0
- data/lib/1.6/generated/azure_graph_rbac/models/directory_object.rb +92 -0
- data/lib/1.6/generated/azure_graph_rbac/models/directory_object_list_result.rb +57 -0
- data/lib/1.6/generated/azure_graph_rbac/models/domain.rb +101 -0
- data/lib/1.6/generated/azure_graph_rbac/models/domain_list_result.rb +55 -0
- data/lib/1.6/generated/azure_graph_rbac/models/get_objects_parameters.rb +104 -0
- data/lib/1.6/generated/azure_graph_rbac/models/get_objects_result.rb +98 -0
- data/lib/1.6/generated/azure_graph_rbac/models/graph_error.rb +57 -0
- data/lib/1.6/generated/azure_graph_rbac/models/group_add_member_parameters.rb +69 -0
- data/lib/1.6/generated/azure_graph_rbac/models/group_create_parameters.rb +106 -0
- data/lib/1.6/generated/azure_graph_rbac/models/group_get_member_groups_parameters.rb +67 -0
- data/lib/1.6/generated/azure_graph_rbac/models/group_get_member_groups_result.rb +55 -0
- data/lib/1.6/generated/azure_graph_rbac/models/group_list_result.rb +98 -0
- data/lib/1.6/generated/azure_graph_rbac/models/key_credential.rb +121 -0
- data/lib/1.6/generated/azure_graph_rbac/models/key_credential_list_result.rb +55 -0
- data/lib/1.6/generated/azure_graph_rbac/models/key_credentials_update_parameters.rb +55 -0
- data/lib/1.6/generated/azure_graph_rbac/models/password_credential.rb +98 -0
- data/lib/1.6/generated/azure_graph_rbac/models/password_credential_list_result.rb +56 -0
- data/lib/1.6/generated/azure_graph_rbac/models/password_credentials_update_parameters.rb +56 -0
- data/lib/1.6/generated/azure_graph_rbac/models/password_profile.rb +76 -0
- data/lib/1.6/generated/azure_graph_rbac/models/required_resource_access.rb +94 -0
- data/lib/1.6/generated/azure_graph_rbac/models/resource_access.rb +80 -0
- data/lib/1.6/generated/azure_graph_rbac/models/service_principal.rb +124 -0
- data/lib/1.6/generated/azure_graph_rbac/models/service_principal_create_parameters.rb +117 -0
- data/lib/1.6/generated/azure_graph_rbac/models/service_principal_list_result.rb +98 -0
- data/lib/1.6/generated/azure_graph_rbac/models/sign_in_name.rb +79 -0
- data/lib/1.6/generated/azure_graph_rbac/models/user.rb +221 -0
- data/lib/1.6/generated/azure_graph_rbac/models/user_base.rb +118 -0
- data/lib/1.6/generated/azure_graph_rbac/models/user_create_parameters.rb +158 -0
- data/lib/1.6/generated/azure_graph_rbac/models/user_get_member_groups_parameters.rb +67 -0
- data/lib/1.6/generated/azure_graph_rbac/models/user_get_member_groups_result.rb +55 -0
- data/lib/1.6/generated/azure_graph_rbac/models/user_list_result.rb +98 -0
- data/lib/1.6/generated/azure_graph_rbac/models/user_type.rb +16 -0
- data/lib/1.6/generated/azure_graph_rbac/models/user_update_parameters.rb +147 -0
- data/lib/1.6/generated/azure_graph_rbac/module_definition.rb +8 -0
- data/lib/1.6/generated/azure_graph_rbac/objects.rb +314 -0
- data/lib/1.6/generated/azure_graph_rbac/service_principals.rb +949 -0
- data/lib/1.6/generated/azure_graph_rbac/users.rb +686 -0
- data/lib/azure_graph_rbac.rb +6 -0
- data/lib/module_definition.rb +6 -0
- data/lib/profiles/latest/graphrbac_latest_profile_client.rb +38 -0
- data/lib/profiles/latest/graphrbac_module_definition.rb +8 -0
- data/lib/profiles/latest/modules/graphrbac_profile_module.rb +237 -0
- data/lib/version.rb +7 -0
- metadata +177 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
|
4
|
+
# regenerated.
|
|
5
|
+
|
|
6
|
+
module Azure::GraphRbac::V1_6
|
|
7
|
+
module Models
|
|
8
|
+
#
|
|
9
|
+
# Request parameters for IsMemberOf API call.
|
|
10
|
+
#
|
|
11
|
+
class CheckGroupMembershipParameters
|
|
12
|
+
|
|
13
|
+
include MsRestAzure
|
|
14
|
+
|
|
15
|
+
# @return Unmatched properties from the message are deserialized this
|
|
16
|
+
# collection
|
|
17
|
+
attr_accessor :additional_properties
|
|
18
|
+
|
|
19
|
+
# @return [String] The object ID of the group to check.
|
|
20
|
+
attr_accessor :group_id
|
|
21
|
+
|
|
22
|
+
# @return [String] The object ID of the contact, group, user, or service
|
|
23
|
+
# principal to check for membership in the specified group.
|
|
24
|
+
attr_accessor :member_id
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
#
|
|
28
|
+
# Mapper for CheckGroupMembershipParameters class as Ruby Hash.
|
|
29
|
+
# This will be used for serialization/deserialization.
|
|
30
|
+
#
|
|
31
|
+
def self.mapper()
|
|
32
|
+
{
|
|
33
|
+
client_side_validation: true,
|
|
34
|
+
required: false,
|
|
35
|
+
serialized_name: 'CheckGroupMembershipParameters',
|
|
36
|
+
type: {
|
|
37
|
+
name: 'Composite',
|
|
38
|
+
class_name: 'CheckGroupMembershipParameters',
|
|
39
|
+
model_properties: {
|
|
40
|
+
additional_properties: {
|
|
41
|
+
client_side_validation: true,
|
|
42
|
+
required: false,
|
|
43
|
+
type: {
|
|
44
|
+
name: 'Dictionary',
|
|
45
|
+
value: {
|
|
46
|
+
client_side_validation: true,
|
|
47
|
+
required: false,
|
|
48
|
+
serialized_name: 'ObjectElementType',
|
|
49
|
+
type: {
|
|
50
|
+
name: 'Object'
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
group_id: {
|
|
56
|
+
client_side_validation: true,
|
|
57
|
+
required: true,
|
|
58
|
+
serialized_name: 'groupId',
|
|
59
|
+
type: {
|
|
60
|
+
name: 'String'
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
member_id: {
|
|
64
|
+
client_side_validation: true,
|
|
65
|
+
required: true,
|
|
66
|
+
serialized_name: 'memberId',
|
|
67
|
+
type: {
|
|
68
|
+
name: 'String'
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
|
4
|
+
# regenerated.
|
|
5
|
+
|
|
6
|
+
module Azure::GraphRbac::V1_6
|
|
7
|
+
module Models
|
|
8
|
+
#
|
|
9
|
+
# Server response for IsMemberOf API call
|
|
10
|
+
#
|
|
11
|
+
class CheckGroupMembershipResult
|
|
12
|
+
|
|
13
|
+
include MsRestAzure
|
|
14
|
+
|
|
15
|
+
# @return Unmatched properties from the message are deserialized this
|
|
16
|
+
# collection
|
|
17
|
+
attr_accessor :additional_properties
|
|
18
|
+
|
|
19
|
+
# @return [Boolean] True if the specified user, group, contact, or
|
|
20
|
+
# service principal has either direct or transitive membership in the
|
|
21
|
+
# specified group; otherwise, false.
|
|
22
|
+
attr_accessor :value
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
#
|
|
26
|
+
# Mapper for CheckGroupMembershipResult class as Ruby Hash.
|
|
27
|
+
# This will be used for serialization/deserialization.
|
|
28
|
+
#
|
|
29
|
+
def self.mapper()
|
|
30
|
+
{
|
|
31
|
+
client_side_validation: true,
|
|
32
|
+
required: false,
|
|
33
|
+
serialized_name: 'CheckGroupMembershipResult',
|
|
34
|
+
type: {
|
|
35
|
+
name: 'Composite',
|
|
36
|
+
class_name: 'CheckGroupMembershipResult',
|
|
37
|
+
model_properties: {
|
|
38
|
+
additional_properties: {
|
|
39
|
+
client_side_validation: true,
|
|
40
|
+
required: false,
|
|
41
|
+
type: {
|
|
42
|
+
name: 'Dictionary',
|
|
43
|
+
value: {
|
|
44
|
+
client_side_validation: true,
|
|
45
|
+
required: false,
|
|
46
|
+
serialized_name: 'ObjectElementType',
|
|
47
|
+
type: {
|
|
48
|
+
name: 'Object'
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
value: {
|
|
54
|
+
client_side_validation: true,
|
|
55
|
+
required: false,
|
|
56
|
+
serialized_name: 'value',
|
|
57
|
+
type: {
|
|
58
|
+
name: 'Boolean'
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
|
4
|
+
# regenerated.
|
|
5
|
+
|
|
6
|
+
module Azure::GraphRbac::V1_6
|
|
7
|
+
module Models
|
|
8
|
+
#
|
|
9
|
+
# Represents an Azure Active Directory object.
|
|
10
|
+
#
|
|
11
|
+
class DirectoryObject
|
|
12
|
+
|
|
13
|
+
include MsRestAzure
|
|
14
|
+
|
|
15
|
+
@@discriminatorMap = Hash.new
|
|
16
|
+
@@discriminatorMap["Application"] = "Application"
|
|
17
|
+
@@discriminatorMap["Group"] = "ADGroup"
|
|
18
|
+
@@discriminatorMap["ServicePrincipal"] = "ServicePrincipal"
|
|
19
|
+
@@discriminatorMap["User"] = "User"
|
|
20
|
+
|
|
21
|
+
def initialize
|
|
22
|
+
@objectType = "DirectoryObject"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
attr_accessor :objectType
|
|
26
|
+
|
|
27
|
+
# @return Unmatched properties from the message are deserialized this
|
|
28
|
+
# collection
|
|
29
|
+
attr_accessor :additional_properties
|
|
30
|
+
|
|
31
|
+
# @return [String] The object ID.
|
|
32
|
+
attr_accessor :object_id
|
|
33
|
+
|
|
34
|
+
# @return [DateTime] The time at which the directory object was deleted.
|
|
35
|
+
attr_accessor :deletion_timestamp
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
#
|
|
39
|
+
# Mapper for DirectoryObject class as Ruby Hash.
|
|
40
|
+
# This will be used for serialization/deserialization.
|
|
41
|
+
#
|
|
42
|
+
def self.mapper()
|
|
43
|
+
{
|
|
44
|
+
client_side_validation: true,
|
|
45
|
+
required: false,
|
|
46
|
+
serialized_name: 'DirectoryObject',
|
|
47
|
+
type: {
|
|
48
|
+
name: 'Composite',
|
|
49
|
+
polymorphic_discriminator: 'objectType',
|
|
50
|
+
uber_parent: 'DirectoryObject',
|
|
51
|
+
class_name: 'DirectoryObject',
|
|
52
|
+
model_properties: {
|
|
53
|
+
additional_properties: {
|
|
54
|
+
client_side_validation: true,
|
|
55
|
+
required: false,
|
|
56
|
+
type: {
|
|
57
|
+
name: 'Dictionary',
|
|
58
|
+
value: {
|
|
59
|
+
client_side_validation: true,
|
|
60
|
+
required: false,
|
|
61
|
+
serialized_name: 'ObjectElementType',
|
|
62
|
+
type: {
|
|
63
|
+
name: 'Object'
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
object_id: {
|
|
69
|
+
client_side_validation: true,
|
|
70
|
+
required: false,
|
|
71
|
+
read_only: true,
|
|
72
|
+
serialized_name: 'objectId',
|
|
73
|
+
type: {
|
|
74
|
+
name: 'String'
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
deletion_timestamp: {
|
|
78
|
+
client_side_validation: true,
|
|
79
|
+
required: false,
|
|
80
|
+
read_only: true,
|
|
81
|
+
serialized_name: 'deletionTimestamp',
|
|
82
|
+
type: {
|
|
83
|
+
name: 'DateTime'
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
|
4
|
+
# regenerated.
|
|
5
|
+
|
|
6
|
+
module Azure::GraphRbac::V1_6
|
|
7
|
+
module Models
|
|
8
|
+
#
|
|
9
|
+
# DirectoryObject list operation result.
|
|
10
|
+
#
|
|
11
|
+
class DirectoryObjectListResult
|
|
12
|
+
|
|
13
|
+
include MsRestAzure
|
|
14
|
+
|
|
15
|
+
# @return [Array<DirectoryObject>] A collection of DirectoryObject.
|
|
16
|
+
attr_accessor :value
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
#
|
|
20
|
+
# Mapper for DirectoryObjectListResult class as Ruby Hash.
|
|
21
|
+
# This will be used for serialization/deserialization.
|
|
22
|
+
#
|
|
23
|
+
def self.mapper()
|
|
24
|
+
{
|
|
25
|
+
client_side_validation: true,
|
|
26
|
+
required: false,
|
|
27
|
+
serialized_name: 'DirectoryObjectListResult',
|
|
28
|
+
type: {
|
|
29
|
+
name: 'Composite',
|
|
30
|
+
class_name: 'DirectoryObjectListResult',
|
|
31
|
+
model_properties: {
|
|
32
|
+
value: {
|
|
33
|
+
client_side_validation: true,
|
|
34
|
+
required: false,
|
|
35
|
+
serialized_name: 'value',
|
|
36
|
+
type: {
|
|
37
|
+
name: 'Sequence',
|
|
38
|
+
element: {
|
|
39
|
+
client_side_validation: true,
|
|
40
|
+
required: false,
|
|
41
|
+
serialized_name: 'DirectoryObjectElementType',
|
|
42
|
+
type: {
|
|
43
|
+
name: 'Composite',
|
|
44
|
+
polymorphic_discriminator: 'objectType',
|
|
45
|
+
uber_parent: 'DirectoryObject',
|
|
46
|
+
class_name: 'DirectoryObject'
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
|
4
|
+
# regenerated.
|
|
5
|
+
|
|
6
|
+
module Azure::GraphRbac::V1_6
|
|
7
|
+
module Models
|
|
8
|
+
#
|
|
9
|
+
# Active Directory Domain information.
|
|
10
|
+
#
|
|
11
|
+
class Domain
|
|
12
|
+
|
|
13
|
+
include MsRestAzure
|
|
14
|
+
|
|
15
|
+
# @return Unmatched properties from the message are deserialized this
|
|
16
|
+
# collection
|
|
17
|
+
attr_accessor :additional_properties
|
|
18
|
+
|
|
19
|
+
# @return [String] the type of the authentication into the domain.
|
|
20
|
+
attr_accessor :authentication_type
|
|
21
|
+
|
|
22
|
+
# @return [Boolean] if this is the default domain in the tenant.
|
|
23
|
+
attr_accessor :is_default
|
|
24
|
+
|
|
25
|
+
# @return [Boolean] if this domain's ownership is verified.
|
|
26
|
+
attr_accessor :is_verified
|
|
27
|
+
|
|
28
|
+
# @return [String] the domain name.
|
|
29
|
+
attr_accessor :name
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
#
|
|
33
|
+
# Mapper for Domain class as Ruby Hash.
|
|
34
|
+
# This will be used for serialization/deserialization.
|
|
35
|
+
#
|
|
36
|
+
def self.mapper()
|
|
37
|
+
{
|
|
38
|
+
client_side_validation: true,
|
|
39
|
+
required: false,
|
|
40
|
+
serialized_name: 'Domain',
|
|
41
|
+
type: {
|
|
42
|
+
name: 'Composite',
|
|
43
|
+
class_name: 'Domain',
|
|
44
|
+
model_properties: {
|
|
45
|
+
additional_properties: {
|
|
46
|
+
client_side_validation: true,
|
|
47
|
+
required: false,
|
|
48
|
+
type: {
|
|
49
|
+
name: 'Dictionary',
|
|
50
|
+
value: {
|
|
51
|
+
client_side_validation: true,
|
|
52
|
+
required: false,
|
|
53
|
+
serialized_name: 'ObjectElementType',
|
|
54
|
+
type: {
|
|
55
|
+
name: 'Object'
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
authentication_type: {
|
|
61
|
+
client_side_validation: true,
|
|
62
|
+
required: false,
|
|
63
|
+
read_only: true,
|
|
64
|
+
serialized_name: 'authenticationType',
|
|
65
|
+
type: {
|
|
66
|
+
name: 'String'
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
is_default: {
|
|
70
|
+
client_side_validation: true,
|
|
71
|
+
required: false,
|
|
72
|
+
read_only: true,
|
|
73
|
+
serialized_name: 'isDefault',
|
|
74
|
+
type: {
|
|
75
|
+
name: 'Boolean'
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
is_verified: {
|
|
79
|
+
client_side_validation: true,
|
|
80
|
+
required: false,
|
|
81
|
+
read_only: true,
|
|
82
|
+
serialized_name: 'isVerified',
|
|
83
|
+
type: {
|
|
84
|
+
name: 'Boolean'
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
name: {
|
|
88
|
+
client_side_validation: true,
|
|
89
|
+
required: true,
|
|
90
|
+
serialized_name: 'name',
|
|
91
|
+
type: {
|
|
92
|
+
name: 'String'
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
# Code generated by Microsoft (R) AutoRest Code Generator.
|
|
3
|
+
# Changes may cause incorrect behavior and will be lost if the code is
|
|
4
|
+
# regenerated.
|
|
5
|
+
|
|
6
|
+
module Azure::GraphRbac::V1_6
|
|
7
|
+
module Models
|
|
8
|
+
#
|
|
9
|
+
# Server response for Get tenant domains API call.
|
|
10
|
+
#
|
|
11
|
+
class DomainListResult
|
|
12
|
+
|
|
13
|
+
include MsRestAzure
|
|
14
|
+
|
|
15
|
+
# @return [Array<Domain>] the list of domains.
|
|
16
|
+
attr_accessor :value
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
#
|
|
20
|
+
# Mapper for DomainListResult class as Ruby Hash.
|
|
21
|
+
# This will be used for serialization/deserialization.
|
|
22
|
+
#
|
|
23
|
+
def self.mapper()
|
|
24
|
+
{
|
|
25
|
+
client_side_validation: true,
|
|
26
|
+
required: false,
|
|
27
|
+
serialized_name: 'DomainListResult',
|
|
28
|
+
type: {
|
|
29
|
+
name: 'Composite',
|
|
30
|
+
class_name: 'DomainListResult',
|
|
31
|
+
model_properties: {
|
|
32
|
+
value: {
|
|
33
|
+
client_side_validation: true,
|
|
34
|
+
required: false,
|
|
35
|
+
serialized_name: 'value',
|
|
36
|
+
type: {
|
|
37
|
+
name: 'Sequence',
|
|
38
|
+
element: {
|
|
39
|
+
client_side_validation: true,
|
|
40
|
+
required: false,
|
|
41
|
+
serialized_name: 'DomainElementType',
|
|
42
|
+
type: {
|
|
43
|
+
name: 'Composite',
|
|
44
|
+
class_name: 'Domain'
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|