Class: Google::Apis::VisionV1p1beta1::VisionService
- Inherits:
-
Core::BaseService
- Object
- Core::BaseService
- Google::Apis::VisionV1p1beta1::VisionService
- Defined in:
- lib/google/apis/vision_v1p1beta1/service.rb
Overview
Cloud Vision API
Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications.
Constant Summary collapse
- DEFAULT_ENDPOINT_TEMPLATE =
"https://vision.$UNIVERSE_DOMAIN$/"
Instance Attribute Summary collapse
-
#key ⇒ String
API key.
-
#quota_user ⇒ String
Available to use for quota purposes for server-side applications.
Instance Method Summary collapse
-
#annotate_file(google_cloud_vision_v1p1beta1_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse
Service that performs image detection and annotation for a batch of files.
-
#annotate_image(google_cloud_vision_v1p1beta1_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse
Run image detection and annotation for a batch of images.
-
#annotate_project_file(parent, google_cloud_vision_v1p1beta1_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse
Service that performs image detection and annotation for a batch of files.
-
#annotate_project_image(parent, google_cloud_vision_v1p1beta1_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse
Run image detection and annotation for a batch of images.
-
#annotate_project_location_file(parent, google_cloud_vision_v1p1beta1_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse
Service that performs image detection and annotation for a batch of files.
-
#annotate_project_location_image(parent, google_cloud_vision_v1p1beta1_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse
Run image detection and annotation for a batch of images.
-
#async_file_batch_annotate(google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page.
-
#async_image_batch_annotate(google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of images.
-
#async_project_file_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page.
-
#async_project_image_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of images.
-
#async_project_location_file_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page.
-
#async_project_location_image_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of images.
-
#initialize ⇒ VisionService
constructor
A new instance of VisionService.
Constructor Details
#initialize ⇒ VisionService
Returns a new instance of VisionService.
49 50 51 52 53 54 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 49 def initialize super(DEFAULT_ENDPOINT_TEMPLATE, '', client_name: 'google-apis-vision_v1p1beta1', client_version: Google::Apis::VisionV1p1beta1::GEM_VERSION) @batch_path = 'batch' end |
Instance Attribute Details
#key ⇒ String
Returns API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
42 43 44 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 42 def key @key end |
#quota_user ⇒ String
Returns Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
47 48 49 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 47 def quota_user @quota_user end |
Instance Method Details
#annotate_file(google_cloud_vision_v1p1beta1_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse
Service that performs image detection and annotation for a batch of files. Now only "application/pdf", "image/tiff" and "image/gif" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 79 def annotate_file(google_cloud_vision_v1p1beta1_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/files:annotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_batch_annotate_files_request_object command.response_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse::Representation command.response_class = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#annotate_image(google_cloud_vision_v1p1beta1_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse
Run image detection and annotation for a batch of images.
144 145 146 147 148 149 150 151 152 153 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 144 def annotate_image(google_cloud_vision_v1p1beta1_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/images:annotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_batch_annotate_images_request_object command.response_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse::Representation command.response_class = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#annotate_project_file(parent, google_cloud_vision_v1p1beta1_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse
Service that performs image detection and annotation for a batch of files. Now only "application/pdf", "image/tiff" and "image/gif" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.
219 220 221 222 223 224 225 226 227 228 229 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 219 def annotate_project_file(parent, google_cloud_vision_v1p1beta1_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/{+parent}/files:annotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_batch_annotate_files_request_object command.response_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse::Representation command.response_class = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#annotate_project_image(parent, google_cloud_vision_v1p1beta1_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse
Run image detection and annotation for a batch of images.
298 299 300 301 302 303 304 305 306 307 308 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 298 def annotate_project_image(parent, google_cloud_vision_v1p1beta1_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/{+parent}/images:annotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_batch_annotate_images_request_object command.response_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse::Representation command.response_class = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#annotate_project_location_file(parent, google_cloud_vision_v1p1beta1_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse
Service that performs image detection and annotation for a batch of files. Now only "application/pdf", "image/tiff" and "image/gif" are supported. This service will extract at most 5 (customers can specify which 5 in AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each file provided and perform detection and annotation for each image extracted.
381 382 383 384 385 386 387 388 389 390 391 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 381 def annotate_project_location_file(parent, google_cloud_vision_v1p1beta1_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/{+parent}/files:annotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_batch_annotate_files_request_object command.response_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse::Representation command.response_class = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateFilesResponse command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#annotate_project_location_image(parent, google_cloud_vision_v1p1beta1_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse
Run image detection and annotation for a batch of images.
460 461 462 463 464 465 466 467 468 469 470 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 460 def annotate_project_location_image(parent, google_cloud_vision_v1p1beta1_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/{+parent}/images:annotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_batch_annotate_images_request_object command.response_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse::Representation command.response_class = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1BatchAnnotateImagesResponse command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#async_file_batch_annotate(google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of generic files,
such as PDF files, which may contain multiple pages and multiple images per
page. Progress and results can be retrieved through the google.longrunning.
Operations
interface. Operation.metadata
contains OperationMetadata
(
metadata). Operation.response
contains AsyncBatchAnnotateFilesResponse
(
results).
114 115 116 117 118 119 120 121 122 123 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 114 def async_file_batch_annotate(google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/files:asyncBatchAnnotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object command.response_representation = Google::Apis::VisionV1p1beta1::Operation::Representation command.response_class = Google::Apis::VisionV1p1beta1::Operation command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#async_image_batch_annotate(google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of images. Progress
and results can be retrieved through the google.longrunning.Operations
interface. Operation.metadata
contains OperationMetadata
(metadata).
Operation.response
contains AsyncBatchAnnotateImagesResponse
(results).
This service will write image annotation outputs to json files in customer GCS
bucket, each json file containing BatchAnnotateImagesResponse proto.
179 180 181 182 183 184 185 186 187 188 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 179 def async_image_batch_annotate(google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/images:asyncBatchAnnotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object command.response_representation = Google::Apis::VisionV1p1beta1::Operation::Representation command.response_class = Google::Apis::VisionV1p1beta1::Operation command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#async_project_file_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of generic files,
such as PDF files, which may contain multiple pages and multiple images per
page. Progress and results can be retrieved through the google.longrunning.
Operations
interface. Operation.metadata
contains OperationMetadata
(
metadata). Operation.response
contains AsyncBatchAnnotateFilesResponse
(
results).
261 262 263 264 265 266 267 268 269 270 271 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 261 def async_project_file_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/{+parent}/files:asyncBatchAnnotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object command.response_representation = Google::Apis::VisionV1p1beta1::Operation::Representation command.response_class = Google::Apis::VisionV1p1beta1::Operation command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#async_project_image_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of images. Progress
and results can be retrieved through the google.longrunning.Operations
interface. Operation.metadata
contains OperationMetadata
(metadata).
Operation.response
contains AsyncBatchAnnotateImagesResponse
(results).
This service will write image annotation outputs to json files in customer GCS
bucket, each json file containing BatchAnnotateImagesResponse proto.
340 341 342 343 344 345 346 347 348 349 350 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 340 def async_project_image_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/{+parent}/images:asyncBatchAnnotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object command.response_representation = Google::Apis::VisionV1p1beta1::Operation::Representation command.response_class = Google::Apis::VisionV1p1beta1::Operation command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#async_project_location_file_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of generic files,
such as PDF files, which may contain multiple pages and multiple images per
page. Progress and results can be retrieved through the google.longrunning.
Operations
interface. Operation.metadata
contains OperationMetadata
(
metadata). Operation.response
contains AsyncBatchAnnotateFilesResponse
(
results).
423 424 425 426 427 428 429 430 431 432 433 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 423 def async_project_location_file_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/{+parent}/files:asyncBatchAnnotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_async_batch_annotate_files_request_object command.response_representation = Google::Apis::VisionV1p1beta1::Operation::Representation command.response_class = Google::Apis::VisionV1p1beta1::Operation command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |
#async_project_location_image_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::VisionV1p1beta1::Operation
Run asynchronous image detection and annotation for a list of images. Progress
and results can be retrieved through the google.longrunning.Operations
interface. Operation.metadata
contains OperationMetadata
(metadata).
Operation.response
contains AsyncBatchAnnotateImagesResponse
(results).
This service will write image annotation outputs to json files in customer GCS
bucket, each json file containing BatchAnnotateImagesResponse proto.
502 503 504 505 506 507 508 509 510 511 512 |
# File 'lib/google/apis/vision_v1p1beta1/service.rb', line 502 def async_project_location_image_batch_annotate(parent, google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1p1beta1/{+parent}/images:asyncBatchAnnotate', ) command.request_representation = Google::Apis::VisionV1p1beta1::GoogleCloudVisionV1p1beta1AsyncBatchAnnotateImagesRequest::Representation command.request_object = google_cloud_vision_v1p1beta1_async_batch_annotate_images_request_object command.response_representation = Google::Apis::VisionV1p1beta1::Operation::Representation command.response_class = Google::Apis::VisionV1p1beta1::Operation command.params['parent'] = parent unless parent.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end |