// Copyright 2026 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SERVICES_WEBNN_ORT_TRIVIAL_MODEL_H_
#define SERVICES_WEBNN_ORT_TRIVIAL_MODEL_H_

#include <stdint.h>

namespace webnn::ort {

// ONNX model with a single Add operator:
// ir_version: 10
// opset_import: { version: 21 }
// graph {
//   name: "add_graph"
//   node {
//     input: "A"
//     input: "B"
//     output: "C"
//     op_type: "Add"
//   }
// input { name: "A" type { tensor_type { elem_type: FLOAT shape { dim {
// dim_value: 1 } } } } }
// input { name: "B" type { tensor_type { elem_type: FLOAT shape { dim {
// dim_value: 1 } } } } }
// output { name: "C" type { tensor_type { elem_type: FLOAT shape { dim {
// dim_value: 1 } } } } }
inline constexpr uint8_t kTrivialModel[] = {
    0x08, 0x0a, 0x3a, 0x4e, 0x0a, 0x0e, 0x0a, 0x01, 0x41, 0x0a, 0x01,
    0x42, 0x12, 0x01, 0x43, 0x22, 0x03, 0x41, 0x64, 0x64, 0x12, 0x09,
    0x61, 0x64, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5a, 0x0f,
    0x0a, 0x01, 0x41, 0x12, 0x0a, 0x0a, 0x08, 0x08, 0x01, 0x12, 0x04,
    0x0a, 0x02, 0x08, 0x01, 0x5a, 0x0f, 0x0a, 0x01, 0x42, 0x12, 0x0a,
    0x0a, 0x08, 0x08, 0x01, 0x12, 0x04, 0x0a, 0x02, 0x08, 0x01, 0x62,
    0x0f, 0x0a, 0x01, 0x43, 0x12, 0x0a, 0x0a, 0x08, 0x08, 0x01, 0x12,
    0x04, 0x0a, 0x02, 0x08, 0x01, 0x42, 0x04, 0x0a, 0x00, 0x10, 0x15,
};

}  // namespace webnn::ort

#endif  // SERVICES_WEBNN_ORT_TRIVIAL_MODEL_H_
