# Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

{
  'sources': [
    'buffer_list.dart',
    'common.dart',
    'crypto.dart',
    'data_transformer.dart',
    'directory.dart',
    'directory_impl.dart',
    'eventhandler.dart',
    'file.dart',
    'file_impl.dart',
    'file_system_entity.dart',
    'http.dart',
    'http_body.dart',
    'http_body_impl.dart',
    'http_headers.dart',
    'http_impl.dart',
    'http_multipart_form_data.dart',
    'http_multipart_form_data_impl.dart',
    'http_parser.dart',
    'http_session.dart',
    'http_utils.dart',
    'io_sink.dart',
    'link.dart',
    'mime_multipart_parser.dart',
    'options.dart',
    'path.dart',
    'path_impl.dart',
    'platform.dart',
    'platform_impl.dart',
    'process.dart',
    'socket.dart',
    'stdio.dart',
    'string_transformer.dart',
    'timer_impl.dart',
    'secure_socket.dart',
    'secure_server_socket.dart',
    'websocket.dart',
    'websocket_impl.dart',
  ],
}
