يتم إعطاؤك مقتطف رمز يمثل جزءًا من إطار عمل أكبر لاختبار البرامج. يحتوي مقتطف التعليمات البرمجية على تسلسل تسلسلي للأسلوب يقوم بإجراء التحقق من انهيار مؤشر مستوى النظام (SLI). يعد انهيار SLI طريقة لقياس أداء النظام بناءً على معايير محددة.

يتم استدعاء الأسلوب "verifySliBreakdown" باستخدام وسيطتين: كائن تفصيلي وقيمة منطقية تشير إلى ما إذا كان التحقق يجب أن يؤدي إلى خطأ في حالة فشله. يحتوي كائن الانهيار على البنية التالية:

```مخطوطة
{
  الاسم: سلسلة، // اسم تفصيل SLI
  القيمة: الرقم، // قيمة انهيار SLI
  النتيجة: سلسلة، // نتيجة التحقق من الانهيار (على سبيل المثال، "نجاح" أو "فشل")
  النتيجة: الرقم، // درجة التحقق من الانهيار
  أهداف المرور: [
    {
      المعايير: سلسلة، // معايير تمرير الهدف
      targetValue: number, // القيمة المستهدفة للمعايير
    },
    // يمكن تضمين أهداف تمريرة إضافية
  ]،
}
```

الهدف هو إجراء التحقق من تفاصيل SLI المقدمة وإرجاع نتيجة التحقق. يعتبر التقسيم بمثابة تمريرة إذا تم استيفاء المعايير المحددة لجميع أهداف النجاح بنجاح. إذا فشل أي من أهداف التمرير، فإن الانهيار يعتبر فاشلاً. يتم تحديد نتيجة التحقق من خلال مقارنة "قيمة" التوزيع مع "targetValue" لكل هدف تمرير باستخدام "المعايير" المقابلة.

مهمتك هي تنفيذ الوظيفة `performSliBreakdownVerification(breakdown: SliResult, throwError: boolean): boolean` التي تأخذ كائن الانهيار وقيمة منطقية تشير إلى ما إذا كان سيتم إلقاء خطأ أم لا. يجب أن تُرجع الدالة `صحيحًا` إذا نجح التقسيم في تجاوز جميع أهداف النجاح، و`خطأ` بخلاف ذلك. إذا كانت قيمة `throwError` `صحيحًا` وفشل الانهيار، فيجب ظهور خطأ مع الرسالة: "فشل التحقق من انهيار SLI".

**توقيع الوظيفة**: `performSliBreakdownVerification(الانهيار: SliResult, throwError: boolean): boolean`

**مدخل**
- `الانهيار`: كائن يمثل انهيار SLI. سيكون للكائن البنية التالية:
  - `name` (1 <= name.length <= 100): سلسلة تمثل اسم تقسيم SLI.
  - `value` (-10^6 <= value <= 10^6): رقم يمثل قيمة تقسيم SLI.
  - `النتيجة` ("نجاح" أو "فشل"): سلسلة تمثل نتيجة التحقق من العطل.
  - `النتيجة` (0 <= النتيجة <= 100): رقم يمثل درجة التحقق من الانهيار.
  - `passTargets` (0 <= passTargets.length <= 10): مصفوفة من أهداف التمرير. كل هدف تمرير هو كائن ذو البنية التالية:
    - `المعايير` (1 <= المعايير. الطول <= 100): سلسلة تمثل معايير تمرير الهدف.
    - `targetValue` (-10^6 <= targetValue <= 10^6): رقم يمثل القيمة المستهدفة للمعايير.
- `throwError`: قيمة منطقية تشير إلى ما إذا كان سيتم إلقاء خطأ إذا فشل الانهيار في التحقق.

**انتاج**
- إرجاع قيمة منطقية تشير إلى ما إذا كان التقسيم قد اجتاز عملية التحقق أم لا. إذا كانت قيمة `throwError` `صحيحًا` وفشل الانهيار، فيجب ظهور خطأ مع الرسالة: "فشل التحقق من انهيار SLI".

**ملحوظة**
- تمثل سلسلة المعايير متباينة رياضية يجب تحقيقها حتى يتمكن التقسيم من تجاوز الهدف. يمكن أن تتضمن سلسلة المعايير عوامل التشغيل: `<=`، `>=`، `<`، `>`، `=`.
- من المتوقع أن تكون سلسلة المعايير بالشكل: `<operator><value><unit>`، حيث:
  - `<operator>`: أحد العوامل المدعومة (`<=`، `>=`، `<`، `>`، `=`).
  - `<القيمة>`: رقم موجب أو سالب يمثل القيمة المراد مقارنتها بقيمة التقسيم.
  - `<unit>`: سلسلة اختيارية تمثل وحدة قياس المعايير.
- يجب مقارنة قيمة التقسيم بالقيمة المستهدفة باستخدام المعايير المحددة. إذا كانت قيمة التصنيف تفي بالمعايير، فسيتم اعتبار هدف النجاح المحدد ناجحًا.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}