{"diffoscope-json-version": 1, "source1": "/input1", "source2": "/input2", "unified_diff": null, "details": [{"source1": "zipinfo {}", "source2": "zipinfo {}", "unified_diff": "@@ -1,46 +1,46 @@\n-Zip file size: 62878 bytes, number of entries: 44\n-drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-29 18:06 META-INF/\n--rw-r--r--  2.0 unx      132 b- defN 24-Jan-29 18:06 META-INF/MANIFEST.MF\n-drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-29 18:06 dev/\n-drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-29 18:06 dev/langchain4j/\n-drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-29 18:06 dev/langchain4j/model/\n-drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-29 18:06 dev/langchain4j/model/openai/\n-drwxr-xr-x  2.0 unx        0 b- stor 24-Jan-29 18:06 dev/langchain4j/model/openai/spi/\n--rw-r--r--  2.0 unx     7978 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiModerationModel.class\n--rw-r--r--  2.0 unx     8827 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiImageModel.class\n--rw-r--r--  2.0 unx     7112 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiLanguageModel.class\n--rw-r--r--  2.0 unx    13846 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiStreamingChatModel.class\n--rw-r--r--  2.0 unx     6005 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.class\n--rw-r--r--  2.0 unx     1360 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiLanguageModelName.class\n--rw-r--r--  2.0 unx     1569 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiModelName.class\n--rw-r--r--  2.0 unx     5857 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.class\n--rw-r--r--  2.0 unx     3930 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.class\n--rw-r--r--  2.0 unx      575 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory.class\n--rw-r--r--  2.0 unx      631 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory.class\n--rw-r--r--  2.0 unx      567 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory.class\n--rw-r--r--  2.0 unx      599 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory.class\n--rw-r--r--  2.0 unx      535 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory.class\n--rw-r--r--  2.0 unx      559 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory.class\n--rw-r--r--  2.0 unx      527 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory.class\n--rw-r--r--  2.0 unx     3865 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.class\n--rw-r--r--  2.0 unx     4944 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.class\n--rw-r--r--  2.0 unx     3379 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.class\n--rw-r--r--  2.0 unx     1390 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.class\n--rw-r--r--  2.0 unx     1473 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiModerationModelName.class\n--rw-r--r--  2.0 unx     2620 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiChatModelName.class\n--rw-r--r--  2.0 unx    15700 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/InternalOpenAiHelper.class\n--rw-r--r--  2.0 unx    11303 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiChatModel.class\n--rw-r--r--  2.0 unx     1565 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiEmbeddingModelName.class\n--rw-r--r--  2.0 unx     3980 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.class\n--rw-r--r--  2.0 unx     8725 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiEmbeddingModel.class\n--rw-r--r--  2.0 unx     1382 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiImageModelName.class\n--rw-r--r--  2.0 unx     9205 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.class\n--rw-r--r--  2.0 unx      296 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1.class\n--rw-r--r--  2.0 unx     8882 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.class\n--rw-r--r--  2.0 unx    12317 b- defN 24-Jan-29 18:06 dev/langchain4j/model/openai/OpenAiTokenizer.class\n-?rwsrwsrwt  2.0 unx        0 b- stor 24-Jan-29 18:06 META-INF/maven/\n-?rwsrwsrwt  2.0 unx        0 b- stor 24-Jan-29 18:06 META-INF/maven/dev.langchain4j/\n-?rwsrwsrwt  2.0 unx        0 b- stor 24-Jan-29 18:06 META-INF/maven/dev.langchain4j/langchain4j-open-ai/\n--rw-r--r--  2.0 unx     2707 b- defN 24-Jan-29 18:06 META-INF/maven/dev.langchain4j/langchain4j-open-ai/pom.xml\n--rw-r--r--  2.0 unx      120 b- defN 24-Jan-29 18:06 META-INF/maven/dev.langchain4j/langchain4j-open-ai/pom.properties\n-44 files, 154462 bytes uncompressed, 54496 bytes compressed:  64.7%\n+Zip file size: 63457 bytes, number of entries: 44\n+drwxr-xr-x  2.0 unx        0 b- stor 25-Jan-29 08:56 META-INF/\n+-rw-r--r--  2.0 unx      129 b- defN 25-Jan-29 08:56 META-INF/MANIFEST.MF\n+drwxrwxr-x  2.0 unx        0 b- stor 25-Jan-29 08:56 dev/\n+drwxrwxr-x  2.0 unx        0 b- stor 25-Jan-29 08:56 dev/langchain4j/\n+drwxrwxr-x  2.0 unx        0 b- stor 25-Jan-29 08:56 dev/langchain4j/model/\n+drwxrwxr-x  2.0 unx        0 b- stor 25-Jan-29 08:56 dev/langchain4j/model/openai/\n+drwxrwxr-x  2.0 unx        0 b- stor 25-Jan-29 08:56 dev/langchain4j/model/openai/spi/\n+-rw-rw-r--  2.0 unx     3379 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.class\n+-rw-rw-r--  2.0 unx     3930 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.class\n+-rw-rw-r--  2.0 unx    12285 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiTokenizer.class\n+-rw-rw-r--  2.0 unx      535 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory.class\n+-rw-rw-r--  2.0 unx      567 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory.class\n+-rw-rw-r--  2.0 unx      575 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory.class\n+-rw-rw-r--  2.0 unx      599 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory.class\n+-rw-rw-r--  2.0 unx      559 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory.class\n+-rw-rw-r--  2.0 unx      527 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory.class\n+-rw-rw-r--  2.0 unx      631 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory.class\n+-rw-rw-r--  2.0 unx     6005 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.class\n+-rw-rw-r--  2.0 unx     1532 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiModerationModelName.class\n+-rw-rw-r--  2.0 unx     3865 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.class\n+-rw-rw-r--  2.0 unx    15681 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/InternalOpenAiHelper.class\n+-rw-rw-r--  2.0 unx     1419 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiLanguageModelName.class\n+-rw-rw-r--  2.0 unx    13868 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiStreamingChatModel.class\n+-rw-rw-r--  2.0 unx     1624 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiEmbeddingModelName.class\n+-rw-rw-r--  2.0 unx     1441 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiImageModelName.class\n+-rw-rw-r--  2.0 unx     5857 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.class\n+-rw-rw-r--  2.0 unx     9178 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.class\n+-rw-rw-r--  2.0 unx     7948 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiModerationModel.class\n+-rw-rw-r--  2.0 unx     8927 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.class\n+-rw-rw-r--  2.0 unx     2679 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiChatModelName.class\n+-rw-rw-r--  2.0 unx     8710 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiEmbeddingModel.class\n+-rw-rw-r--  2.0 unx      296 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1.class\n+-rw-rw-r--  2.0 unx     4944 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.class\n+-rw-rw-r--  2.0 unx     7112 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiLanguageModel.class\n+-rw-rw-r--  2.0 unx     8807 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiImageModel.class\n+-rw-rw-r--  2.0 unx     3980 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.class\n+-rw-rw-r--  2.0 unx     1390 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.class\n+-rw-rw-r--  2.0 unx     1569 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiModelName.class\n+-rw-rw-r--  2.0 unx    11280 b- defN 25-Jan-29 08:56 dev/langchain4j/model/openai/OpenAiChatModel.class\n+?rwsrwsrwt  2.0 unx        0 b- stor 25-Jan-29 08:56 META-INF/maven/\n+?rwsrwsrwt  2.0 unx        0 b- stor 25-Jan-29 08:56 META-INF/maven/dev.langchain4j/\n+?rwsrwsrwt  2.0 unx        0 b- stor 25-Jan-29 08:56 META-INF/maven/dev.langchain4j/langchain4j-open-ai/\n+-rw-rw-r--  2.0 unx     2707 b- defN 25-Jan-29 08:56 META-INF/maven/dev.langchain4j/langchain4j-open-ai/pom.xml\n+-rw-rw-r--  2.0 unx      120 b- defN 25-Jan-29 08:56 META-INF/maven/dev.langchain4j/langchain4j-open-ai/pom.properties\n+44 files, 154655 bytes uncompressed, 55075 bytes compressed:  64.4%\n"}, {"source1": "zipnote \u00abTEMP\u00bb/diffoscope_udkazxse_mnt/tmpi1zsv14i_.zip", "source2": "zipnote \u00abTEMP\u00bb/diffoscope_udkazxse_mnt/tmpi1zsv14i_.zip", "unified_diff": "@@ -15,108 +15,108 @@\n \n Filename: dev/langchain4j/model/openai/\n Comment: \n \n Filename: dev/langchain4j/model/openai/spi/\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiModerationModel.class\n+Filename: dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiImageModel.class\n+Filename: dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiLanguageModel.class\n+Filename: dev/langchain4j/model/openai/OpenAiTokenizer.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiStreamingChatModel.class\n+Filename: dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.class\n+Filename: dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiLanguageModelName.class\n+Filename: dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiModelName.class\n+Filename: dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.class\n+Filename: dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.class\n+Filename: dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory.class\n+Filename: dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory.class\n+Filename: dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory.class\n+Filename: dev/langchain4j/model/openai/OpenAiModerationModelName.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory.class\n+Filename: dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory.class\n+Filename: dev/langchain4j/model/openai/InternalOpenAiHelper.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory.class\n+Filename: dev/langchain4j/model/openai/OpenAiLanguageModelName.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory.class\n+Filename: dev/langchain4j/model/openai/OpenAiStreamingChatModel.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.class\n+Filename: dev/langchain4j/model/openai/OpenAiEmbeddingModelName.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.class\n+Filename: dev/langchain4j/model/openai/OpenAiImageModelName.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.class\n+Filename: dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.class\n+Filename: dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiModerationModelName.class\n+Filename: dev/langchain4j/model/openai/OpenAiModerationModel.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiChatModelName.class\n+Filename: dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/InternalOpenAiHelper.class\n+Filename: dev/langchain4j/model/openai/OpenAiChatModelName.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiChatModel.class\n+Filename: dev/langchain4j/model/openai/OpenAiEmbeddingModel.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiEmbeddingModelName.class\n+Filename: dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.class\n+Filename: dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiEmbeddingModel.class\n+Filename: dev/langchain4j/model/openai/OpenAiLanguageModel.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiImageModelName.class\n+Filename: dev/langchain4j/model/openai/OpenAiImageModel.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.class\n+Filename: dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1.class\n+Filename: dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.class\n+Filename: dev/langchain4j/model/openai/OpenAiModelName.class\n Comment: \n \n-Filename: dev/langchain4j/model/openai/OpenAiTokenizer.class\n+Filename: dev/langchain4j/model/openai/OpenAiChatModel.class\n Comment: \n \n Filename: META-INF/maven/\n Comment: \n \n Filename: META-INF/maven/dev.langchain4j/\n Comment: \n"}, {"source1": "zipdetails --redact --scan --utc {}", "source2": "zipdetails --redact --scan --utc {}", "unified_diff": "@@ -1,14 +1,14 @@\n \n 0000 LOCAL HEADER #1       04034B50 (67324752)\n 0004 Extract Zip Spec      0A (10) '1.0'\n 0005 Extract OS            00 (0) 'MS-DOS'\n 0006 General Purpose Flag  0000 (0)\n 0008 Compression Method    0000 (0) 'Stored'\n-000A Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n+000A Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n 000E CRC                   00000000 (0)\n 0012 Compressed Size       00000000 (0)\n 0016 Uncompressed Size     00000000 (0)\n 001A Filename Length       0009 (9)\n 001C Extra Length          0000 (0)\n 001E Filename              'XXXXXXXXX'\n #\n@@ -18,33 +18,33 @@\n \n 0027 LOCAL HEADER #2       04034B50 (67324752)\n 002B Extract Zip Spec      0A (10) '1.0'\n 002C Extract OS            00 (0) 'MS-DOS'\n 002D General Purpose Flag  0000 (0)\n      [Bits 1-2]            0 'Normal Compression'\n 002F Compression Method    0008 (8) 'Deflated'\n-0031 Modification Time     583D90DB (1480429787) 'Mon Jan 29 18:06:54 2024'\n-0035 CRC                   5779D1A3 (1467601315)\n+0031 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+0035 CRC                   FFABC81E (4289447966)\n 0039 Compressed Size       0000006C (108)\n-003D Uncompressed Size     00000084 (132)\n+003D Uncompressed Size     00000081 (129)\n 0041 Filename Length       0014 (20)\n 0043 Extra Length          0000 (0)\n 0045 Filename              'XXXXXXXXXXXXXXXXXXXX'\n #\n # WARNING: Offset 0x45: Filename 'XXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n 0059 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n 00C5 LOCAL HEADER #3       04034B50 (67324752)\n 00C9 Extract Zip Spec      0A (10) '1.0'\n 00CA Extract OS            00 (0) 'MS-DOS'\n 00CB General Purpose Flag  0000 (0)\n 00CD Compression Method    0000 (0) 'Stored'\n-00CF Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n+00CF Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n 00D3 CRC                   00000000 (0)\n 00D7 Compressed Size       00000000 (0)\n 00DB Uncompressed Size     00000000 (0)\n 00DF Filename Length       0004 (4)\n 00E1 Extra Length          0000 (0)\n 00E3 Filename              'XXXX'\n #\n@@ -53,15 +53,15 @@\n #\n \n 00E7 LOCAL HEADER #4       04034B50 (67324752)\n 00EB Extract Zip Spec      0A (10) '1.0'\n 00EC Extract OS            00 (0) 'MS-DOS'\n 00ED General Purpose Flag  0000 (0)\n 00EF Compression Method    0000 (0) 'Stored'\n-00F1 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n+00F1 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n 00F5 CRC                   00000000 (0)\n 00F9 Compressed Size       00000000 (0)\n 00FD Uncompressed Size     00000000 (0)\n 0101 Filename Length       0010 (16)\n 0103 Extra Length          0000 (0)\n 0105 Filename              'XXXXXXXXXXXXXXXX'\n #\n@@ -70,15 +70,15 @@\n #\n \n 0115 LOCAL HEADER #5       04034B50 (67324752)\n 0119 Extract Zip Spec      0A (10) '1.0'\n 011A Extract OS            00 (0) 'MS-DOS'\n 011B General Purpose Flag  0000 (0)\n 011D Compression Method    0000 (0) 'Stored'\n-011F Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n+011F Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n 0123 CRC                   00000000 (0)\n 0127 Compressed Size       00000000 (0)\n 012B Uncompressed Size     00000000 (0)\n 012F Filename Length       0016 (22)\n 0131 Extra Length          0000 (0)\n 0133 Filename              'XXXXXXXXXXXXXXXXXXXXXX'\n #\n@@ -87,15 +87,15 @@\n #\n \n 0149 LOCAL HEADER #6       04034B50 (67324752)\n 014D Extract Zip Spec      0A (10) '1.0'\n 014E Extract OS            00 (0) 'MS-DOS'\n 014F General Purpose Flag  0000 (0)\n 0151 Compression Method    0000 (0) 'Stored'\n-0153 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n+0153 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n 0157 CRC                   00000000 (0)\n 015B Compressed Size       00000000 (0)\n 015F Uncompressed Size     00000000 (0)\n 0163 Filename Length       001D (29)\n 0165 Extra Length          0000 (0)\n 0167 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n@@ -104,15 +104,15 @@\n #\n \n 0184 LOCAL HEADER #7       04034B50 (67324752)\n 0188 Extract Zip Spec      0A (10) '1.0'\n 0189 Extract OS            00 (0) 'MS-DOS'\n 018A General Purpose Flag  0000 (0)\n 018C Compression Method    0000 (0) 'Stored'\n-018E Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n+018E Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n 0192 CRC                   00000000 (0)\n 0196 Compressed Size       00000000 (0)\n 019A Uncompressed Size     00000000 (0)\n 019E Filename Length       0021 (33)\n 01A0 Extra Length          0000 (0)\n 01A2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n@@ -122,1995 +122,1996 @@\n \n 01C3 LOCAL HEADER #8       04034B50 (67324752)\n 01C7 Extract Zip Spec      0A (10) '1.0'\n 01C8 Extract OS            00 (0) 'MS-DOS'\n 01C9 General Purpose Flag  0000 (0)\n      [Bits 1-2]            0 'Normal Compression'\n 01CB Compression Method    0008 (8) 'Deflated'\n-01CD Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-01D1 CRC                   A6E4BF6C (2800009068)\n-01D5 Compressed Size       00000B54 (2900)\n-01D9 Uncompressed Size     00001F2A (7978)\n-01DD Filename Length       0038 (56)\n+01CD Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+01D1 CRC                   83217F0A (2200010506)\n+01D5 Compressed Size       00000414 (1044)\n+01D9 Uncompressed Size     00000D33 (3379)\n+01DD Filename Length       0055 (85)\n 01DF Extra Length          0000 (0)\n-01E1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+01E1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x1E1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x1E1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-0219 PAYLOAD\n+0236 PAYLOAD\n \n-0D6D LOCAL HEADER #9       04034B50 (67324752)\n-0D71 Extract Zip Spec      0A (10) '1.0'\n-0D72 Extract OS            00 (0) 'MS-DOS'\n-0D73 General Purpose Flag  0000 (0)\n+064A LOCAL HEADER #9       04034B50 (67324752)\n+064E Extract Zip Spec      0A (10) '1.0'\n+064F Extract OS            00 (0) 'MS-DOS'\n+0650 General Purpose Flag  0000 (0)\n      [Bits 1-2]            0 'Normal Compression'\n-0D75 Compression Method    0008 (8) 'Deflated'\n-0D77 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-0D7B CRC                   2A02383A (704788538)\n-0D7F Compressed Size       00000D07 (3335)\n-0D83 Uncompressed Size     0000227B (8827)\n-0D87 Filename Length       0033 (51)\n-0D89 Extra Length          0000 (0)\n-0D8B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+0652 Compression Method    0008 (8) 'Deflated'\n+0654 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+0658 CRC                   DF426F8C (3745673100)\n+065C Compressed Size       00000498 (1176)\n+0660 Uncompressed Size     00000F5A (3930)\n+0664 Filename Length       0051 (81)\n+0666 Extra Length          0000 (0)\n+0668 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xD8B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x668: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-0DBE PAYLOAD\n+06B9 PAYLOAD\n \n-1AC5 LOCAL HEADER #10      04034B50 (67324752)\n-1AC9 Extract Zip Spec      0A (10) '1.0'\n-1ACA Extract OS            00 (0) 'MS-DOS'\n-1ACB General Purpose Flag  0000 (0)\n+0B51 LOCAL HEADER #10      04034B50 (67324752)\n+0B55 Extract Zip Spec      0A (10) '1.0'\n+0B56 Extract OS            00 (0) 'MS-DOS'\n+0B57 General Purpose Flag  0000 (0)\n      [Bits 1-2]            0 'Normal Compression'\n-1ACD Compression Method    0008 (8) 'Deflated'\n-1ACF Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-1AD3 CRC                   AC97EB3C (2895637308)\n-1AD7 Compressed Size       00000A13 (2579)\n-1ADB Uncompressed Size     00001BC8 (7112)\n-1ADF Filename Length       0036 (54)\n-1AE1 Extra Length          0000 (0)\n-1AE3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+0B59 Compression Method    0008 (8) 'Deflated'\n+0B5B Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+0B5F CRC                   637DAED3 (1669181139)\n+0B63 Compressed Size       00001434 (5172)\n+0B67 Uncompressed Size     00002FFD (12285)\n+0B6B Filename Length       0032 (50)\n+0B6D Extra Length          0000 (0)\n+0B6F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x1AE3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xB6F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-1B19 PAYLOAD\n+0BA1 PAYLOAD\n \n-252C LOCAL HEADER #11      04034B50 (67324752)\n-2530 Extract Zip Spec      0A (10) '1.0'\n-2531 Extract OS            00 (0) 'MS-DOS'\n-2532 General Purpose Flag  0000 (0)\n+1FD5 LOCAL HEADER #11      04034B50 (67324752)\n+1FD9 Extract Zip Spec      0A (10) '1.0'\n+1FDA Extract OS            00 (0) 'MS-DOS'\n+1FDB General Purpose Flag  0000 (0)\n      [Bits 1-2]            0 'Normal Compression'\n-2534 Compression Method    0008 (8) 'Deflated'\n-2536 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-253A CRC                   EA136B52 (3927141202)\n-253E Compressed Size       00001120 (4384)\n-2542 Uncompressed Size     00003616 (13846)\n-2546 Filename Length       003B (59)\n-2548 Extra Length          0000 (0)\n-254A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+1FDD Compression Method    0008 (8) 'Deflated'\n+1FDF Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+1FE3 CRC                   9FCDF535 (2681074997)\n+1FE7 Compressed Size       000000F5 (245)\n+1FEB Uncompressed Size     00000217 (535)\n+1FEF Filename Length       0045 (69)\n+1FF1 Extra Length          0000 (0)\n+1FF3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x254A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x1FF3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-2585 PAYLOAD\n+2038 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-36A5 LOCAL HEADER #12      04034B50 (67324752)\n-36A9 Extract Zip Spec      0A (10) '1.0'\n-36AA Extract OS            00 (0) 'MS-DOS'\n-36AB General Purpose Flag  0000 (0)\n+212D LOCAL HEADER #12      04034B50 (67324752)\n+2131 Extract Zip Spec      0A (10) '1.0'\n+2132 Extract OS            00 (0) 'MS-DOS'\n+2133 General Purpose Flag  0000 (0)\n      [Bits 1-2]            0 'Normal Compression'\n-36AD Compression Method    0008 (8) 'Deflated'\n-36AF Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-36B3 CRC                   0745DDF2 (122019314)\n-36B7 Compressed Size       00000671 (1649)\n-36BB Uncompressed Size     00001775 (6005)\n-36BF Filename Length       005B (91)\n-36C1 Extra Length          0000 (0)\n-36C3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+2135 Compression Method    0008 (8) 'Deflated'\n+2137 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+213B CRC                   91076967 (2433182055)\n+213F Compressed Size       000000F9 (249)\n+2143 Uncompressed Size     00000237 (567)\n+2147 Filename Length       0049 (73)\n+2149 Extra Length          0000 (0)\n+214B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x36C3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x214B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-371E PAYLOAD\n+2194 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-3D8F LOCAL HEADER #13      04034B50 (67324752)\n-3D93 Extract Zip Spec      0A (10) '1.0'\n-3D94 Extract OS            00 (0) 'MS-DOS'\n-3D95 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-3D97 Compression Method    0008 (8) 'Deflated'\n-3D99 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-3D9D CRC                   DC5A73E8 (3696915432)\n-3DA1 Compressed Size       0000027E (638)\n-3DA5 Uncompressed Size     00000550 (1360)\n-3DA9 Filename Length       003A (58)\n-3DAB Extra Length          0000 (0)\n-3DAD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+228D LOCAL HEADER #13      04034B50 (67324752)\n+2291 Extract Zip Spec      0A (10) '1.0'\n+2292 Extract OS            00 (0) 'MS-DOS'\n+2293 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+2295 Compression Method    0008 (8) 'Deflated'\n+2297 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+229B CRC                   BE7699EF (3195443695)\n+229F Compressed Size       000000F6 (246)\n+22A3 Uncompressed Size     0000023F (575)\n+22A7 Filename Length       004A (74)\n+22A9 Extra Length          0000 (0)\n+22AB Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x3DAD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x22AB: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-3DE7 PAYLOAD\n+22F5 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-4065 LOCAL HEADER #14      04034B50 (67324752)\n-4069 Extract Zip Spec      0A (10) '1.0'\n-406A Extract OS            00 (0) 'MS-DOS'\n-406B General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-406D Compression Method    0008 (8) 'Deflated'\n-406F Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-4073 CRC                   D65E206C (3596492908)\n-4077 Compressed Size       000002E6 (742)\n-407B Uncompressed Size     00000621 (1569)\n-407F Filename Length       0032 (50)\n-4081 Extra Length          0000 (0)\n-4083 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+23EB LOCAL HEADER #14      04034B50 (67324752)\n+23EF Extract Zip Spec      0A (10) '1.0'\n+23F0 Extract OS            00 (0) 'MS-DOS'\n+23F1 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+23F3 Compression Method    0008 (8) 'Deflated'\n+23F5 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+23F9 CRC                   AEE0F48D (2933978253)\n+23FD Compressed Size       00000100 (256)\n+2401 Uncompressed Size     00000257 (599)\n+2405 Filename Length       004D (77)\n+2407 Extra Length          0000 (0)\n+2409 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x2409: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+2456 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+\n+2556 LOCAL HEADER #15      04034B50 (67324752)\n+255A Extract Zip Spec      0A (10) '1.0'\n+255B Extract OS            00 (0) 'MS-DOS'\n+255C General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+255E Compression Method    0008 (8) 'Deflated'\n+2560 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+2564 CRC                   51CAEA39 (1372252729)\n+2568 Compressed Size       000000F7 (247)\n+256C Uncompressed Size     0000022F (559)\n+2570 Filename Length       0048 (72)\n+2572 Extra Length          0000 (0)\n+2574 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x2574: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+25BC PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+\n+26B3 LOCAL HEADER #16      04034B50 (67324752)\n+26B7 Extract Zip Spec      0A (10) '1.0'\n+26B8 Extract OS            00 (0) 'MS-DOS'\n+26B9 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+26BB Compression Method    0008 (8) 'Deflated'\n+26BD Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+26C1 CRC                   A160D4E4 (2707477732)\n+26C5 Compressed Size       000000F3 (243)\n+26C9 Uncompressed Size     0000020F (527)\n+26CD Filename Length       0044 (68)\n+26CF Extra Length          0000 (0)\n+26D1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4083: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x26D1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-40B5 PAYLOAD\n+2715 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-439B LOCAL HEADER #15      04034B50 (67324752)\n-439F Extract Zip Spec      0A (10) '1.0'\n-43A0 Extract OS            00 (0) 'MS-DOS'\n-43A1 General Purpose Flag  0000 (0)\n+2808 LOCAL HEADER #17      04034B50 (67324752)\n+280C Extract Zip Spec      0A (10) '1.0'\n+280D Extract OS            00 (0) 'MS-DOS'\n+280E General Purpose Flag  0000 (0)\n      [Bits 1-2]            0 'Normal Compression'\n-43A3 Compression Method    0008 (8) 'Deflated'\n-43A5 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-43A9 CRC                   8575B06E (2239082606)\n-43AD Compressed Size       00000689 (1673)\n-43B1 Uncompressed Size     000016E1 (5857)\n-43B5 Filename Length       0049 (73)\n-43B7 Extra Length          0000 (0)\n-43B9 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+2810 Compression Method    0008 (8) 'Deflated'\n+2812 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+2816 CRC                   B5B97BFA (3048831994)\n+281A Compressed Size       000000FD (253)\n+281E Uncompressed Size     00000277 (631)\n+2822 Filename Length       0051 (81)\n+2824 Extra Length          0000 (0)\n+2826 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x43B9: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x2826: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-4402 PAYLOAD\n+2877 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-4A8B LOCAL HEADER #16      04034B50 (67324752)\n-4A8F Extract Zip Spec      0A (10) '1.0'\n-4A90 Extract OS            00 (0) 'MS-DOS'\n-4A91 General Purpose Flag  0000 (0)\n+2974 LOCAL HEADER #18      04034B50 (67324752)\n+2978 Extract Zip Spec      0A (10) '1.0'\n+2979 Extract OS            00 (0) 'MS-DOS'\n+297A General Purpose Flag  0000 (0)\n      [Bits 1-2]            0 'Normal Compression'\n-4A93 Compression Method    0008 (8) 'Deflated'\n-4A95 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-4A99 CRC                   BAD85CBC (3134741692)\n-4A9D Compressed Size       00000489 (1161)\n-4AA1 Uncompressed Size     00000F5A (3930)\n-4AA5 Filename Length       0051 (81)\n-4AA7 Extra Length          0000 (0)\n-4AA9 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+297C Compression Method    0008 (8) 'Deflated'\n+297E Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+2982 CRC                   9FE4AE16 (2682564118)\n+2986 Compressed Size       00000685 (1669)\n+298A Uncompressed Size     00001775 (6005)\n+298E Filename Length       005B (91)\n+2990 Extra Length          0000 (0)\n+2992 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4AA9: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x2992: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-4AFA PAYLOAD\n+29ED PAYLOAD\n \n-4F83 LOCAL HEADER #17      04034B50 (67324752)\n-4F87 Extract Zip Spec      0A (10) '1.0'\n-4F88 Extract OS            00 (0) 'MS-DOS'\n-4F89 General Purpose Flag  0000 (0)\n+3072 LOCAL HEADER #19      04034B50 (67324752)\n+3076 Extract Zip Spec      0A (10) '1.0'\n+3077 Extract OS            00 (0) 'MS-DOS'\n+3078 General Purpose Flag  0000 (0)\n      [Bits 1-2]            0 'Normal Compression'\n-4F8B Compression Method    0008 (8) 'Deflated'\n-4F8D Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-4F91 CRC                   0C1B18E3 (203102435)\n-4F95 Compressed Size       000000F6 (246)\n-4F99 Uncompressed Size     0000023F (575)\n-4F9D Filename Length       004A (74)\n-4F9F Extra Length          0000 (0)\n-4FA1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+307A Compression Method    0008 (8) 'Deflated'\n+307C Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+3080 CRC                   D2D29897 (3537016983)\n+3084 Compressed Size       000002C0 (704)\n+3088 Uncompressed Size     000005FC (1532)\n+308C Filename Length       003C (60)\n+308E Extra Length          0000 (0)\n+3090 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x4FA1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x3090: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-4FEB PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+30CC PAYLOAD\n \n-50E1 LOCAL HEADER #18      04034B50 (67324752)\n-50E5 Extract Zip Spec      0A (10) '1.0'\n-50E6 Extract OS            00 (0) 'MS-DOS'\n-50E7 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-50E9 Compression Method    0008 (8) 'Deflated'\n-50EB Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-50EF CRC                   697CECA2 (1769794722)\n-50F3 Compressed Size       00000101 (257)\n-50F7 Uncompressed Size     00000277 (631)\n-50FB Filename Length       0051 (81)\n-50FD Extra Length          0000 (0)\n-50FF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x50FF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-5150 PAYLOAD\n-\n-5251 LOCAL HEADER #19      04034B50 (67324752)\n-5255 Extract Zip Spec      0A (10) '1.0'\n-5256 Extract OS            00 (0) 'MS-DOS'\n-5257 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-5259 Compression Method    0008 (8) 'Deflated'\n-525B Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-525F CRC                   C8C614FC (3368424700)\n-5263 Compressed Size       000000F9 (249)\n-5267 Uncompressed Size     00000237 (567)\n-526B Filename Length       0049 (73)\n-526D Extra Length          0000 (0)\n-526F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x526F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-52B8 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-\n-53B1 LOCAL HEADER #20      04034B50 (67324752)\n-53B5 Extract Zip Spec      0A (10) '1.0'\n-53B6 Extract OS            00 (0) 'MS-DOS'\n-53B7 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-53B9 Compression Method    0008 (8) 'Deflated'\n-53BB Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-53BF CRC                   5A2ED1B7 (1513017783)\n-53C3 Compressed Size       000000FF (255)\n-53C7 Uncompressed Size     00000257 (599)\n-53CB Filename Length       004D (77)\n-53CD Extra Length          0000 (0)\n-53CF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x53CF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-541C PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-\n-551B LOCAL HEADER #21      04034B50 (67324752)\n-551F Extract Zip Spec      0A (10) '1.0'\n-5520 Extract OS            00 (0) 'MS-DOS'\n-5521 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-5523 Compression Method    0008 (8) 'Deflated'\n-5525 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-5529 CRC                   F51179FA (4111563258)\n-552D Compressed Size       000000F4 (244)\n-5531 Uncompressed Size     00000217 (535)\n-5535 Filename Length       0045 (69)\n-5537 Extra Length          0000 (0)\n-5539 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5539: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-557E PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-\n-5672 LOCAL HEADER #22      04034B50 (67324752)\n-5676 Extract Zip Spec      0A (10) '1.0'\n-5677 Extract OS            00 (0) 'MS-DOS'\n-5678 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-567A Compression Method    0008 (8) 'Deflated'\n-567C Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-5680 CRC                   09959589 (160798089)\n-5684 Compressed Size       000000F6 (246)\n-5688 Uncompressed Size     0000022F (559)\n-568C Filename Length       0048 (72)\n-568E Extra Length          0000 (0)\n-5690 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5690: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-56D8 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-\n-57CE LOCAL HEADER #23      04034B50 (67324752)\n-57D2 Extract Zip Spec      0A (10) '1.0'\n-57D3 Extract OS            00 (0) 'MS-DOS'\n-57D4 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-57D6 Compression Method    0008 (8) 'Deflated'\n-57D8 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-57DC CRC                   248D6C5D (613248093)\n-57E0 Compressed Size       000000F3 (243)\n-57E4 Uncompressed Size     0000020F (527)\n-57E8 Filename Length       0044 (68)\n-57EA Extra Length          0000 (0)\n-57EC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x57EC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-5830 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-\n-5923 LOCAL HEADER #24      04034B50 (67324752)\n-5927 Extract Zip Spec      0A (10) '1.0'\n-5928 Extract OS            00 (0) 'MS-DOS'\n-5929 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-592B Compression Method    0008 (8) 'Deflated'\n-592D Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-5931 CRC                   AFA6A742 (2946934594)\n-5935 Compressed Size       00000452 (1106)\n-5939 Uncompressed Size     00000F19 (3865)\n-593D Filename Length       0063 (99)\n-593F Extra Length          0000 (0)\n-5941 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5941: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-59A4 PAYLOAD\n-\n-5DF6 LOCAL HEADER #25      04034B50 (67324752)\n-5DFA Extract Zip Spec      0A (10) '1.0'\n-5DFB Extract OS            00 (0) 'MS-DOS'\n-5DFC General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-5DFE Compression Method    0008 (8) 'Deflated'\n-5E00 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-5E04 CRC                   5BEA4F01 (1542082305)\n-5E08 Compressed Size       00000647 (1607)\n-5E0C Uncompressed Size     00001350 (4944)\n-5E10 Filename Length       004B (75)\n-5E12 Extra Length          0000 (0)\n-5E14 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5E14: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-5E5F PAYLOAD\n-\n-64A6 LOCAL HEADER #26      04034B50 (67324752)\n-64AA Extract Zip Spec      0A (10) '1.0'\n-64AB Extract OS            00 (0) 'MS-DOS'\n-64AC General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-64AE Compression Method    0008 (8) 'Deflated'\n-64B0 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-64B4 CRC                   E02B2907 (3760924935)\n-64B8 Compressed Size       0000040D (1037)\n-64BC Uncompressed Size     00000D33 (3379)\n-64C0 Filename Length       0055 (85)\n-64C2 Extra Length          0000 (0)\n-64C4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x64C4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-6519 PAYLOAD\n-\n-6926 LOCAL HEADER #27      04034B50 (67324752)\n-692A Extract Zip Spec      0A (10) '1.0'\n-692B Extract OS            00 (0) 'MS-DOS'\n-692C General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-692E Compression Method    0008 (8) 'Deflated'\n-6930 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-6934 CRC                   D7668659 (3613820505)\n-6938 Compressed Size       00000210 (528)\n-693C Uncompressed Size     0000056E (1390)\n-6940 Filename Length       005D (93)\n-6942 Extra Length          0000 (0)\n-6944 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x6944: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-69A1 PAYLOAD\n-\n-6BB1 LOCAL HEADER #28      04034B50 (67324752)\n-6BB5 Extract Zip Spec      0A (10) '1.0'\n-6BB6 Extract OS            00 (0) 'MS-DOS'\n-6BB7 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-6BB9 Compression Method    0008 (8) 'Deflated'\n-6BBB Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-6BBF CRC                   09491BDF (155786207)\n-6BC3 Compressed Size       000002A4 (676)\n-6BC7 Uncompressed Size     000005C1 (1473)\n-6BCB Filename Length       003C (60)\n-6BCD Extra Length          0000 (0)\n-6BCF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x6BCF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-6C0B PAYLOAD\n-\n-6EAF LOCAL HEADER #29      04034B50 (67324752)\n-6EB3 Extract Zip Spec      0A (10) '1.0'\n-6EB4 Extract OS            00 (0) 'MS-DOS'\n-6EB5 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-6EB7 Compression Method    0008 (8) 'Deflated'\n-6EB9 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-6EBD CRC                   40383E4E (1077427790)\n-6EC1 Compressed Size       000004CC (1228)\n-6EC5 Uncompressed Size     00000A3C (2620)\n-6EC9 Filename Length       0036 (54)\n-6ECB Extra Length          0000 (0)\n-6ECD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x6ECD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-6F03 PAYLOAD\n-\n-73CF LOCAL HEADER #30      04034B50 (67324752)\n-73D3 Extract Zip Spec      0A (10) '1.0'\n-73D4 Extract OS            00 (0) 'MS-DOS'\n-73D5 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-73D7 Compression Method    0008 (8) 'Deflated'\n-73D9 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-73DD CRC                   E1E75EFE (3790036734)\n-73E1 Compressed Size       00001550 (5456)\n-73E5 Uncompressed Size     00003D54 (15700)\n-73E9 Filename Length       0037 (55)\n-73EB Extra Length          0000 (0)\n-73ED Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x73ED: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7424 PAYLOAD\n-\n-8974 LOCAL HEADER #31      04034B50 (67324752)\n-8978 Extract Zip Spec      0A (10) '1.0'\n-8979 Extract OS            00 (0) 'MS-DOS'\n-897A General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-897C Compression Method    0008 (8) 'Deflated'\n-897E Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-8982 CRC                   CAB4373B (3400808251)\n-8986 Compressed Size       00000ED1 (3793)\n-898A Uncompressed Size     00002C27 (11303)\n-898E Filename Length       0032 (50)\n-8990 Extra Length          0000 (0)\n-8992 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x8992: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-89C4 PAYLOAD\n-\n-9895 LOCAL HEADER #32      04034B50 (67324752)\n-9899 Extract Zip Spec      0A (10) '1.0'\n-989A Extract OS            00 (0) 'MS-DOS'\n-989B General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-989D Compression Method    0008 (8) 'Deflated'\n-989F Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-98A3 CRC                   724E7A93 (1917745811)\n-98A7 Compressed Size       000002CF (719)\n-98AB Uncompressed Size     0000061D (1565)\n-98AF Filename Length       003B (59)\n-98B1 Extra Length          0000 (0)\n-98B3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x98B3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-98EE PAYLOAD\n-\n-9BBD LOCAL HEADER #33      04034B50 (67324752)\n-9BC1 Extract Zip Spec      0A (10) '1.0'\n-9BC2 Extract OS            00 (0) 'MS-DOS'\n-9BC3 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-9BC5 Compression Method    0008 (8) 'Deflated'\n-9BC7 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-9BCB CRC                   82D7EEB6 (2195189430)\n-9BCF Compressed Size       000004A3 (1187)\n-9BD3 Uncompressed Size     00000F8C (3980)\n-9BD7 Filename Length       0053 (83)\n-9BD9 Extra Length          0000 (0)\n-9BDB Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x9BDB: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9C2E PAYLOAD\n-\n-A0D1 LOCAL HEADER #34      04034B50 (67324752)\n-A0D5 Extract Zip Spec      0A (10) '1.0'\n-A0D6 Extract OS            00 (0) 'MS-DOS'\n-A0D7 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-A0D9 Compression Method    0008 (8) 'Deflated'\n-A0DB Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-A0DF CRC                   A919C03B (2837037115)\n-A0E3 Compressed Size       00000C1B (3099)\n-A0E7 Uncompressed Size     00002215 (8725)\n-A0EB Filename Length       0037 (55)\n-A0ED Extra Length          0000 (0)\n-A0EF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xA0EF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-A126 PAYLOAD\n-\n-AD41 LOCAL HEADER #35      04034B50 (67324752)\n-AD45 Extract Zip Spec      0A (10) '1.0'\n-AD46 Extract OS            00 (0) 'MS-DOS'\n-AD47 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-AD49 Compression Method    0008 (8) 'Deflated'\n-AD4B Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-AD4F CRC                   BD63801D (3177414685)\n-AD53 Compressed Size       00000281 (641)\n-AD57 Uncompressed Size     00000566 (1382)\n-AD5B Filename Length       0037 (55)\n-AD5D Extra Length          0000 (0)\n-AD5F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xAD5F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-AD96 PAYLOAD\n-\n-B017 LOCAL HEADER #36      04034B50 (67324752)\n-B01B Extract Zip Spec      0A (10) '1.0'\n-B01C Extract OS            00 (0) 'MS-DOS'\n-B01D General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-B01F Compression Method    0008 (8) 'Deflated'\n-B021 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-B025 CRC                   03389AAD (54041261)\n-B029 Compressed Size       00000D81 (3457)\n-B02D Uncompressed Size     000023F5 (9205)\n-B031 Filename Length       0041 (65)\n-B033 Extra Length          0000 (0)\n-B035 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xB035: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-B076 PAYLOAD\n-\n-BDF7 LOCAL HEADER #37      04034B50 (67324752)\n-BDFB Extract Zip Spec      0A (10) '1.0'\n-BDFC Extract OS            00 (0) 'MS-DOS'\n-BDFD General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-BDFF Compression Method    0008 (8) 'Deflated'\n-BE01 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-BE05 CRC                   9C368749 (2620819273)\n-BE09 Compressed Size       000000B8 (184)\n-BE0D Uncompressed Size     00000128 (296)\n-BE11 Filename Length       0043 (67)\n-BE13 Extra Length          0000 (0)\n-BE15 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xBE15: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-BE58 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-\n-BF10 LOCAL HEADER #38      04034B50 (67324752)\n-BF14 Extract Zip Spec      0A (10) '1.0'\n-BF15 Extract OS            00 (0) 'MS-DOS'\n-BF16 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-BF18 Compression Method    0008 (8) 'Deflated'\n-BF1A Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-BF1E CRC                   8A07E750 (2315773776)\n-BF22 Compressed Size       00000BB5 (2997)\n-BF26 Uncompressed Size     000022B2 (8882)\n-BF2A Filename Length       003F (63)\n-BF2C Extra Length          0000 (0)\n-BF2E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xBF2E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-BF6D PAYLOAD\n-\n-CB22 LOCAL HEADER #39      04034B50 (67324752)\n-CB26 Extract Zip Spec      0A (10) '1.0'\n-CB27 Extract OS            00 (0) 'MS-DOS'\n-CB28 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-CB2A Compression Method    0008 (8) 'Deflated'\n-CB2C Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-CB30 CRC                   01C123D9 (29434841)\n-CB34 Compressed Size       000013F4 (5108)\n-CB38 Uncompressed Size     0000301D (12317)\n-CB3C Filename Length       0032 (50)\n-CB3E Extra Length          0000 (0)\n-CB40 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xCB40: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-CB72 PAYLOAD\n-\n-DF66 LOCAL HEADER #40      04034B50 (67324752)\n-DF6A Extract Zip Spec      0A (10) '1.0'\n-DF6B Extract OS            00 (0) 'MS-DOS'\n-DF6C General Purpose Flag  0000 (0)\n-DF6E Compression Method    0000 (0) 'Stored'\n-DF70 Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n-DF74 CRC                   00000000 (0)\n-DF78 Compressed Size       00000000 (0)\n-DF7C Uncompressed Size     00000000 (0)\n-DF80 Filename Length       000F (15)\n-DF82 Extra Length          0000 (0)\n-DF84 Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xDF84: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-\n-DF93 LOCAL HEADER #41      04034B50 (67324752)\n-DF97 Extract Zip Spec      0A (10) '1.0'\n-DF98 Extract OS            00 (0) 'MS-DOS'\n-DF99 General Purpose Flag  0000 (0)\n-DF9B Compression Method    0000 (0) 'Stored'\n-DF9D Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n-DFA1 CRC                   00000000 (0)\n-DFA5 Compressed Size       00000000 (0)\n-DFA9 Uncompressed Size     00000000 (0)\n-DFAD Filename Length       001F (31)\n-DFAF Extra Length          0000 (0)\n-DFB1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xDFB1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-\n-DFD0 LOCAL HEADER #42      04034B50 (67324752)\n-DFD4 Extract Zip Spec      0A (10) '1.0'\n-DFD5 Extract OS            00 (0) 'MS-DOS'\n-DFD6 General Purpose Flag  0000 (0)\n-DFD8 Compression Method    0000 (0) 'Stored'\n-DFDA Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n-DFDE CRC                   00000000 (0)\n-DFE2 Compressed Size       00000000 (0)\n-DFE6 Uncompressed Size     00000000 (0)\n-DFEA Filename Length       0033 (51)\n-DFEC Extra Length          0000 (0)\n-DFEE Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xDFEE: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-\n-E021 LOCAL HEADER #43      04034B50 (67324752)\n-E025 Extract Zip Spec      0A (10) '1.0'\n-E026 Extract OS            00 (0) 'MS-DOS'\n-E027 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E029 Compression Method    0008 (8) 'Deflated'\n-E02B Modification Time     583D90D2 (1480429778) 'Mon Jan 29 18:06:36 2024'\n-E02F CRC                   51873E5B (1367817819)\n-E033 Compressed Size       0000028D (653)\n-E037 Uncompressed Size     00000A93 (2707)\n-E03B Filename Length       003A (58)\n-E03D Extra Length          0000 (0)\n-E03F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xE03F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-E079 PAYLOAD\n-\n-E306 LOCAL HEADER #44      04034B50 (67324752)\n-E30A Extract Zip Spec      0A (10) '1.0'\n-E30B Extract OS            00 (0) 'MS-DOS'\n-E30C General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E30E Compression Method    0008 (8) 'Deflated'\n-E310 Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n-E314 CRC                   E462CA6E (3831679598)\n-E318 Compressed Size       0000006F (111)\n-E31C Uncompressed Size     00000078 (120)\n-E320 Filename Length       0041 (65)\n-E322 Extra Length          0000 (0)\n-E324 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xE324: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-E365 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n-\n-E3D4 CENTRAL HEADER #1     02014B50 (33639248)\n-E3D8 Created Zip Spec      14 (20) '2.0'\n-E3D9 Created OS            03 (3) 'Unix'\n-E3DA Extract Zip Spec      0A (10) '1.0'\n-E3DB Extract OS            00 (0) 'MS-DOS'\n-E3DC General Purpose Flag  0000 (0)\n-E3DE Compression Method    0000 (0) 'Stored'\n-E3E0 Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n-E3E4 CRC                   00000000 (0)\n-E3E8 Compressed Size       00000000 (0)\n-E3EC Uncompressed Size     00000000 (0)\n-E3F0 Filename Length       0009 (9)\n-E3F2 Extra Length          0000 (0)\n-E3F4 Comment Length        0000 (0)\n-E3F6 Disk Start            0000 (0)\n-E3F8 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E3FA Ext File Attributes   41ED0010 (1106051088)\n-     [Bit 4]               Directory\n-     [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n-     [Bits 28-31]          04 (4) 'Directory'\n-E3FE Local Header Offset   00000000 (0)\n-E402 Filename              'XXXXXXXXX'\n-#\n-# WARNING: Offset 0xE402: Filename 'XXXXXXXXX'\n-#          Zero length filename\n-#\n-# ERROR: Offset 0xE402: Directory 'XXXXXXXXX' must end in a '/'\n-#        'External Attributes' flag this as a directory\n-#\n-# WARNING: Offset 0xE3DA: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXX'\n-#\n-\n-E40B CENTRAL HEADER #2     02014B50 (33639248)\n-E40F Created Zip Spec      14 (20) '2.0'\n-E410 Created OS            03 (3) 'Unix'\n-E411 Extract Zip Spec      0A (10) '1.0'\n-E412 Extract OS            00 (0) 'MS-DOS'\n-E413 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E415 Compression Method    0008 (8) 'Deflated'\n-E417 Modification Time     583D90DB (1480429787) 'Mon Jan 29 18:06:54 2024'\n-E41B CRC                   5779D1A3 (1467601315)\n-E41F Compressed Size       0000006C (108)\n-E423 Uncompressed Size     00000084 (132)\n-E427 Filename Length       0014 (20)\n-E429 Extra Length          0000 (0)\n-E42B Comment Length        0000 (0)\n-E42D Disk Start            0000 (0)\n-E42F Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E431 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E435 Local Header Offset   00000027 (39)\n-E439 Filename              'XXXXXXXXXXXXXXXXXXXX'\n+338C LOCAL HEADER #20      04034B50 (67324752)\n+3390 Extract Zip Spec      0A (10) '1.0'\n+3391 Extract OS            00 (0) 'MS-DOS'\n+3392 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+3394 Compression Method    0008 (8) 'Deflated'\n+3396 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+339A CRC                   EE6B0A05 (3999992325)\n+339E Compressed Size       00000462 (1122)\n+33A2 Uncompressed Size     00000F19 (3865)\n+33A6 Filename Length       0063 (99)\n+33A8 Extra Length          0000 (0)\n+33AA Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE439: Filename 'XXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x33AA: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+340D PAYLOAD\n \n-E44D CENTRAL HEADER #3     02014B50 (33639248)\n-E451 Created Zip Spec      14 (20) '2.0'\n-E452 Created OS            03 (3) 'Unix'\n-E453 Extract Zip Spec      0A (10) '1.0'\n-E454 Extract OS            00 (0) 'MS-DOS'\n-E455 General Purpose Flag  0000 (0)\n-E457 Compression Method    0000 (0) 'Stored'\n-E459 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E45D CRC                   00000000 (0)\n-E461 Compressed Size       00000000 (0)\n-E465 Uncompressed Size     00000000 (0)\n-E469 Filename Length       0004 (4)\n-E46B Extra Length          0000 (0)\n-E46D Comment Length        0000 (0)\n-E46F Disk Start            0000 (0)\n-E471 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E473 Ext File Attributes   41ED0010 (1106051088)\n-     [Bit 4]               Directory\n-     [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n-     [Bits 28-31]          04 (4) 'Directory'\n-E477 Local Header Offset   000000C5 (197)\n-E47B Filename              'XXXX'\n+386F LOCAL HEADER #21      04034B50 (67324752)\n+3873 Extract Zip Spec      0A (10) '1.0'\n+3874 Extract OS            00 (0) 'MS-DOS'\n+3875 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+3877 Compression Method    0008 (8) 'Deflated'\n+3879 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+387D CRC                   D8BCCFF0 (3636252656)\n+3881 Compressed Size       0000158D (5517)\n+3885 Uncompressed Size     00003D41 (15681)\n+3889 Filename Length       0037 (55)\n+388B Extra Length          0000 (0)\n+388D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE47B: Filename 'XXXX'\n+# WARNING: Offset 0x388D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0xE47B: Directory 'XXXX' must end in a '/'\n-#        'External Attributes' flag this as a directory\n-#\n-# WARNING: Offset 0xE453: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXX'\n-#\n+38C4 PAYLOAD\n \n-E47F CENTRAL HEADER #4     02014B50 (33639248)\n-E483 Created Zip Spec      14 (20) '2.0'\n-E484 Created OS            03 (3) 'Unix'\n-E485 Extract Zip Spec      0A (10) '1.0'\n-E486 Extract OS            00 (0) 'MS-DOS'\n-E487 General Purpose Flag  0000 (0)\n-E489 Compression Method    0000 (0) 'Stored'\n-E48B Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E48F CRC                   00000000 (0)\n-E493 Compressed Size       00000000 (0)\n-E497 Uncompressed Size     00000000 (0)\n-E49B Filename Length       0010 (16)\n-E49D Extra Length          0000 (0)\n-E49F Comment Length        0000 (0)\n-E4A1 Disk Start            0000 (0)\n-E4A3 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E4A5 Ext File Attributes   41ED0010 (1106051088)\n-     [Bit 4]               Directory\n-     [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n-     [Bits 28-31]          04 (4) 'Directory'\n-E4A9 Local Header Offset   000000E7 (231)\n-E4AD Filename              'XXXXXXXXXXXXXXXX'\n+4E51 LOCAL HEADER #22      04034B50 (67324752)\n+4E55 Extract Zip Spec      0A (10) '1.0'\n+4E56 Extract OS            00 (0) 'MS-DOS'\n+4E57 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+4E59 Compression Method    0008 (8) 'Deflated'\n+4E5B Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+4E5F CRC                   0CADD54F (212718927)\n+4E63 Compressed Size       0000029A (666)\n+4E67 Uncompressed Size     0000058B (1419)\n+4E6B Filename Length       003A (58)\n+4E6D Extra Length          0000 (0)\n+4E6F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE4AD: Filename 'XXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x4E6F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0xE4AD: Directory 'XXXXXXXXXXXXXXXX' must end in a '/'\n-#        'External Attributes' flag this as a directory\n-#\n-# WARNING: Offset 0xE485: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXX'\n-#\n+4EA9 PAYLOAD\n \n-E4BD CENTRAL HEADER #5     02014B50 (33639248)\n-E4C1 Created Zip Spec      14 (20) '2.0'\n-E4C2 Created OS            03 (3) 'Unix'\n-E4C3 Extract Zip Spec      0A (10) '1.0'\n-E4C4 Extract OS            00 (0) 'MS-DOS'\n-E4C5 General Purpose Flag  0000 (0)\n-E4C7 Compression Method    0000 (0) 'Stored'\n-E4C9 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E4CD CRC                   00000000 (0)\n-E4D1 Compressed Size       00000000 (0)\n-E4D5 Uncompressed Size     00000000 (0)\n-E4D9 Filename Length       0016 (22)\n-E4DB Extra Length          0000 (0)\n-E4DD Comment Length        0000 (0)\n-E4DF Disk Start            0000 (0)\n-E4E1 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E4E3 Ext File Attributes   41ED0010 (1106051088)\n-     [Bit 4]               Directory\n-     [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n-     [Bits 28-31]          04 (4) 'Directory'\n-E4E7 Local Header Offset   00000115 (277)\n-E4EB Filename              'XXXXXXXXXXXXXXXXXXXXXX'\n+5143 LOCAL HEADER #23      04034B50 (67324752)\n+5147 Extract Zip Spec      0A (10) '1.0'\n+5148 Extract OS            00 (0) 'MS-DOS'\n+5149 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+514B Compression Method    0008 (8) 'Deflated'\n+514D Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+5151 CRC                   7E9E2F95 (2124296085)\n+5155 Compressed Size       0000115E (4446)\n+5159 Uncompressed Size     0000362C (13868)\n+515D Filename Length       003B (59)\n+515F Extra Length          0000 (0)\n+5161 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE4EB: Filename 'XXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x5161: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0xE4EB: Directory 'XXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n-#        'External Attributes' flag this as a directory\n-#\n-# WARNING: Offset 0xE4C3: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXX'\n-#\n+519C PAYLOAD\n \n-E501 CENTRAL HEADER #6     02014B50 (33639248)\n-E505 Created Zip Spec      14 (20) '2.0'\n-E506 Created OS            03 (3) 'Unix'\n-E507 Extract Zip Spec      0A (10) '1.0'\n-E508 Extract OS            00 (0) 'MS-DOS'\n-E509 General Purpose Flag  0000 (0)\n-E50B Compression Method    0000 (0) 'Stored'\n-E50D Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E511 CRC                   00000000 (0)\n-E515 Compressed Size       00000000 (0)\n-E519 Uncompressed Size     00000000 (0)\n-E51D Filename Length       001D (29)\n-E51F Extra Length          0000 (0)\n-E521 Comment Length        0000 (0)\n-E523 Disk Start            0000 (0)\n-E525 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E527 Ext File Attributes   41ED0010 (1106051088)\n-     [Bit 4]               Directory\n-     [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n-     [Bits 28-31]          04 (4) 'Directory'\n-E52B Local Header Offset   00000149 (329)\n-E52F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+62FA LOCAL HEADER #24      04034B50 (67324752)\n+62FE Extract Zip Spec      0A (10) '1.0'\n+62FF Extract OS            00 (0) 'MS-DOS'\n+6300 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+6302 Compression Method    0008 (8) 'Deflated'\n+6304 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+6308 CRC                   2FE04107 (803225863)\n+630C Compressed Size       000002EB (747)\n+6310 Uncompressed Size     00000658 (1624)\n+6314 Filename Length       003B (59)\n+6316 Extra Length          0000 (0)\n+6318 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE52F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x6318: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0xE52F: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n-#        'External Attributes' flag this as a directory\n-#\n-# WARNING: Offset 0xE507: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n+6353 PAYLOAD\n \n-E54C CENTRAL HEADER #7     02014B50 (33639248)\n-E550 Created Zip Spec      14 (20) '2.0'\n-E551 Created OS            03 (3) 'Unix'\n-E552 Extract Zip Spec      0A (10) '1.0'\n-E553 Extract OS            00 (0) 'MS-DOS'\n-E554 General Purpose Flag  0000 (0)\n-E556 Compression Method    0000 (0) 'Stored'\n-E558 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E55C CRC                   00000000 (0)\n-E560 Compressed Size       00000000 (0)\n-E564 Uncompressed Size     00000000 (0)\n-E568 Filename Length       0021 (33)\n-E56A Extra Length          0000 (0)\n-E56C Comment Length        0000 (0)\n-E56E Disk Start            0000 (0)\n-E570 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E572 Ext File Attributes   41ED0010 (1106051088)\n-     [Bit 4]               Directory\n-     [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n-     [Bits 28-31]          04 (4) 'Directory'\n-E576 Local Header Offset   00000184 (388)\n-E57A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+663E LOCAL HEADER #25      04034B50 (67324752)\n+6642 Extract Zip Spec      0A (10) '1.0'\n+6643 Extract OS            00 (0) 'MS-DOS'\n+6644 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+6646 Compression Method    0008 (8) 'Deflated'\n+6648 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+664C CRC                   C808975D (3356006237)\n+6650 Compressed Size       000002A0 (672)\n+6654 Uncompressed Size     000005A1 (1441)\n+6658 Filename Length       0037 (55)\n+665A Extra Length          0000 (0)\n+665C Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE57A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x665C: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0xE57A: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n-#        'External Attributes' flag this as a directory\n-#\n-# WARNING: Offset 0xE552: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n+6693 PAYLOAD\n \n-E59B CENTRAL HEADER #8     02014B50 (33639248)\n-E59F Created Zip Spec      14 (20) '2.0'\n-E5A0 Created OS            03 (3) 'Unix'\n-E5A1 Extract Zip Spec      0A (10) '1.0'\n-E5A2 Extract OS            00 (0) 'MS-DOS'\n-E5A3 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E5A5 Compression Method    0008 (8) 'Deflated'\n-E5A7 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E5AB CRC                   A6E4BF6C (2800009068)\n-E5AF Compressed Size       00000B54 (2900)\n-E5B3 Uncompressed Size     00001F2A (7978)\n-E5B7 Filename Length       0038 (56)\n-E5B9 Extra Length          0000 (0)\n-E5BB Comment Length        0000 (0)\n-E5BD Disk Start            0000 (0)\n-E5BF Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E5C1 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E5C5 Local Header Offset   000001C3 (451)\n-E5C9 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+6933 LOCAL HEADER #26      04034B50 (67324752)\n+6937 Extract Zip Spec      0A (10) '1.0'\n+6938 Extract OS            00 (0) 'MS-DOS'\n+6939 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+693B Compression Method    0008 (8) 'Deflated'\n+693D Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+6941 CRC                   20116D16 (538012950)\n+6945 Compressed Size       000006A1 (1697)\n+6949 Uncompressed Size     000016E1 (5857)\n+694D Filename Length       0049 (73)\n+694F Extra Length          0000 (0)\n+6951 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE5C9: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x6951: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+699A PAYLOAD\n \n-E601 CENTRAL HEADER #9     02014B50 (33639248)\n-E605 Created Zip Spec      14 (20) '2.0'\n-E606 Created OS            03 (3) 'Unix'\n-E607 Extract Zip Spec      0A (10) '1.0'\n-E608 Extract OS            00 (0) 'MS-DOS'\n-E609 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E60B Compression Method    0008 (8) 'Deflated'\n-E60D Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E611 CRC                   2A02383A (704788538)\n-E615 Compressed Size       00000D07 (3335)\n-E619 Uncompressed Size     0000227B (8827)\n-E61D Filename Length       0033 (51)\n-E61F Extra Length          0000 (0)\n-E621 Comment Length        0000 (0)\n-E623 Disk Start            0000 (0)\n-E625 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E627 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E62B Local Header Offset   00000D6D (3437)\n-E62F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+703B LOCAL HEADER #27      04034B50 (67324752)\n+703F Extract Zip Spec      0A (10) '1.0'\n+7040 Extract OS            00 (0) 'MS-DOS'\n+7041 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+7043 Compression Method    0008 (8) 'Deflated'\n+7045 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+7049 CRC                   6DE170BF (1843491007)\n+704D Compressed Size       00000D85 (3461)\n+7051 Uncompressed Size     000023DA (9178)\n+7055 Filename Length       0041 (65)\n+7057 Extra Length          0000 (0)\n+7059 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE62F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x7059: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+709A PAYLOAD\n \n-E662 CENTRAL HEADER #10    02014B50 (33639248)\n-E666 Created Zip Spec      14 (20) '2.0'\n-E667 Created OS            03 (3) 'Unix'\n-E668 Extract Zip Spec      0A (10) '1.0'\n-E669 Extract OS            00 (0) 'MS-DOS'\n-E66A General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E66C Compression Method    0008 (8) 'Deflated'\n-E66E Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E672 CRC                   AC97EB3C (2895637308)\n-E676 Compressed Size       00000A13 (2579)\n-E67A Uncompressed Size     00001BC8 (7112)\n-E67E Filename Length       0036 (54)\n-E680 Extra Length          0000 (0)\n-E682 Comment Length        0000 (0)\n-E684 Disk Start            0000 (0)\n-E686 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E688 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E68C Local Header Offset   00001AC5 (6853)\n-E690 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+7E1F LOCAL HEADER #28      04034B50 (67324752)\n+7E23 Extract Zip Spec      0A (10) '1.0'\n+7E24 Extract OS            00 (0) 'MS-DOS'\n+7E25 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+7E27 Compression Method    0008 (8) 'Deflated'\n+7E29 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+7E2D CRC                   A98DCBF0 (2844642288)\n+7E31 Compressed Size       00000B51 (2897)\n+7E35 Uncompressed Size     00001F0C (7948)\n+7E39 Filename Length       0038 (56)\n+7E3B Extra Length          0000 (0)\n+7E3D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE690: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x7E3D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+7E75 PAYLOAD\n \n-E6C6 CENTRAL HEADER #11    02014B50 (33639248)\n-E6CA Created Zip Spec      14 (20) '2.0'\n-E6CB Created OS            03 (3) 'Unix'\n-E6CC Extract Zip Spec      0A (10) '1.0'\n-E6CD Extract OS            00 (0) 'MS-DOS'\n-E6CE General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E6D0 Compression Method    0008 (8) 'Deflated'\n-E6D2 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E6D6 CRC                   EA136B52 (3927141202)\n-E6DA Compressed Size       00001120 (4384)\n-E6DE Uncompressed Size     00003616 (13846)\n-E6E2 Filename Length       003B (59)\n-E6E4 Extra Length          0000 (0)\n-E6E6 Comment Length        0000 (0)\n-E6E8 Disk Start            0000 (0)\n-E6EA Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E6EC Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E6F0 Local Header Offset   0000252C (9516)\n-E6F4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+89C6 LOCAL HEADER #29      04034B50 (67324752)\n+89CA Extract Zip Spec      0A (10) '1.0'\n+89CB Extract OS            00 (0) 'MS-DOS'\n+89CC General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+89CE Compression Method    0008 (8) 'Deflated'\n+89D0 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+89D4 CRC                   B28B70F3 (2995482867)\n+89D8 Compressed Size       00000BE6 (3046)\n+89DC Uncompressed Size     000022DF (8927)\n+89E0 Filename Length       003F (63)\n+89E2 Extra Length          0000 (0)\n+89E4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE6F4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x89E4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+8A23 PAYLOAD\n \n-E72F CENTRAL HEADER #12    02014B50 (33639248)\n-E733 Created Zip Spec      14 (20) '2.0'\n-E734 Created OS            03 (3) 'Unix'\n-E735 Extract Zip Spec      0A (10) '1.0'\n-E736 Extract OS            00 (0) 'MS-DOS'\n-E737 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E739 Compression Method    0008 (8) 'Deflated'\n-E73B Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E73F CRC                   0745DDF2 (122019314)\n-E743 Compressed Size       00000671 (1649)\n-E747 Uncompressed Size     00001775 (6005)\n-E74B Filename Length       005B (91)\n-E74D Extra Length          0000 (0)\n-E74F Comment Length        0000 (0)\n-E751 Disk Start            0000 (0)\n-E753 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E755 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E759 Local Header Offset   000036A5 (13989)\n-E75D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+9609 LOCAL HEADER #30      04034B50 (67324752)\n+960D Extract Zip Spec      0A (10) '1.0'\n+960E Extract OS            00 (0) 'MS-DOS'\n+960F General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+9611 Compression Method    0008 (8) 'Deflated'\n+9613 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+9617 CRC                   F137D171 (4046967153)\n+961B Compressed Size       000004EB (1259)\n+961F Uncompressed Size     00000A77 (2679)\n+9623 Filename Length       0036 (54)\n+9625 Extra Length          0000 (0)\n+9627 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE75D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x9627: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+965D PAYLOAD\n \n-E7B8 CENTRAL HEADER #13    02014B50 (33639248)\n-E7BC Created Zip Spec      14 (20) '2.0'\n-E7BD Created OS            03 (3) 'Unix'\n-E7BE Extract Zip Spec      0A (10) '1.0'\n-E7BF Extract OS            00 (0) 'MS-DOS'\n-E7C0 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E7C2 Compression Method    0008 (8) 'Deflated'\n-E7C4 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E7C8 CRC                   DC5A73E8 (3696915432)\n-E7CC Compressed Size       0000027E (638)\n-E7D0 Uncompressed Size     00000550 (1360)\n-E7D4 Filename Length       003A (58)\n-E7D6 Extra Length          0000 (0)\n-E7D8 Comment Length        0000 (0)\n-E7DA Disk Start            0000 (0)\n-E7DC Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E7DE Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E7E2 Local Header Offset   00003D8F (15759)\n-E7E6 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+9B48 LOCAL HEADER #31      04034B50 (67324752)\n+9B4C Extract Zip Spec      0A (10) '1.0'\n+9B4D Extract OS            00 (0) 'MS-DOS'\n+9B4E General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+9B50 Compression Method    0008 (8) 'Deflated'\n+9B52 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+9B56 CRC                   429A10E7 (1117393127)\n+9B5A Compressed Size       00000C25 (3109)\n+9B5E Uncompressed Size     00002206 (8710)\n+9B62 Filename Length       0037 (55)\n+9B64 Extra Length          0000 (0)\n+9B66 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE7E6: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x9B66: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+9B9D PAYLOAD\n \n-E820 CENTRAL HEADER #14    02014B50 (33639248)\n-E824 Created Zip Spec      14 (20) '2.0'\n-E825 Created OS            03 (3) 'Unix'\n-E826 Extract Zip Spec      0A (10) '1.0'\n-E827 Extract OS            00 (0) 'MS-DOS'\n-E828 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E82A Compression Method    0008 (8) 'Deflated'\n-E82C Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E830 CRC                   D65E206C (3596492908)\n-E834 Compressed Size       000002E6 (742)\n-E838 Uncompressed Size     00000621 (1569)\n-E83C Filename Length       0032 (50)\n-E83E Extra Length          0000 (0)\n-E840 Comment Length        0000 (0)\n-E842 Disk Start            0000 (0)\n-E844 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E846 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E84A Local Header Offset   00004065 (16485)\n-E84E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+A7C2 LOCAL HEADER #32      04034B50 (67324752)\n+A7C6 Extract Zip Spec      0A (10) '1.0'\n+A7C7 Extract OS            00 (0) 'MS-DOS'\n+A7C8 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+A7CA Compression Method    0008 (8) 'Deflated'\n+A7CC Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+A7D0 CRC                   DEC741C8 (3737600456)\n+A7D4 Compressed Size       000000B6 (182)\n+A7D8 Uncompressed Size     00000128 (296)\n+A7DC Filename Length       0043 (67)\n+A7DE Extra Length          0000 (0)\n+A7E0 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE84E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xA7E0: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+A823 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-E880 CENTRAL HEADER #15    02014B50 (33639248)\n-E884 Created Zip Spec      14 (20) '2.0'\n-E885 Created OS            03 (3) 'Unix'\n-E886 Extract Zip Spec      0A (10) '1.0'\n-E887 Extract OS            00 (0) 'MS-DOS'\n-E888 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E88A Compression Method    0008 (8) 'Deflated'\n-E88C Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E890 CRC                   8575B06E (2239082606)\n-E894 Compressed Size       00000689 (1673)\n-E898 Uncompressed Size     000016E1 (5857)\n-E89C Filename Length       0049 (73)\n-E89E Extra Length          0000 (0)\n-E8A0 Comment Length        0000 (0)\n-E8A2 Disk Start            0000 (0)\n-E8A4 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E8A6 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E8AA Local Header Offset   0000439B (17307)\n-E8AE Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+A8D9 LOCAL HEADER #33      04034B50 (67324752)\n+A8DD Extract Zip Spec      0A (10) '1.0'\n+A8DE Extract OS            00 (0) 'MS-DOS'\n+A8DF General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+A8E1 Compression Method    0008 (8) 'Deflated'\n+A8E3 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+A8E7 CRC                   D4D4C2C0 (3570713280)\n+A8EB Compressed Size       00000653 (1619)\n+A8EF Uncompressed Size     00001350 (4944)\n+A8F3 Filename Length       004B (75)\n+A8F5 Extra Length          0000 (0)\n+A8F7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE8AE: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xA8F7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+A942 PAYLOAD\n \n-E8F7 CENTRAL HEADER #16    02014B50 (33639248)\n-E8FB Created Zip Spec      14 (20) '2.0'\n-E8FC Created OS            03 (3) 'Unix'\n-E8FD Extract Zip Spec      0A (10) '1.0'\n-E8FE Extract OS            00 (0) 'MS-DOS'\n-E8FF General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E901 Compression Method    0008 (8) 'Deflated'\n-E903 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E907 CRC                   BAD85CBC (3134741692)\n-E90B Compressed Size       00000489 (1161)\n-E90F Uncompressed Size     00000F5A (3930)\n-E913 Filename Length       0051 (81)\n-E915 Extra Length          0000 (0)\n-E917 Comment Length        0000 (0)\n-E919 Disk Start            0000 (0)\n-E91B Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E91D Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E921 Local Header Offset   00004A8B (19083)\n-E925 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+AF95 LOCAL HEADER #34      04034B50 (67324752)\n+AF99 Extract Zip Spec      0A (10) '1.0'\n+AF9A Extract OS            00 (0) 'MS-DOS'\n+AF9B General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+AF9D Compression Method    0008 (8) 'Deflated'\n+AF9F Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+AFA3 CRC                   7F142298 (2132026008)\n+AFA7 Compressed Size       00000A32 (2610)\n+AFAB Uncompressed Size     00001BC8 (7112)\n+AFAF Filename Length       0036 (54)\n+AFB1 Extra Length          0000 (0)\n+AFB3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE925: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xAFB3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+AFE9 PAYLOAD\n \n-E976 CENTRAL HEADER #17    02014B50 (33639248)\n-E97A Created Zip Spec      14 (20) '2.0'\n-E97B Created OS            03 (3) 'Unix'\n-E97C Extract Zip Spec      0A (10) '1.0'\n-E97D Extract OS            00 (0) 'MS-DOS'\n-E97E General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E980 Compression Method    0008 (8) 'Deflated'\n-E982 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E986 CRC                   0C1B18E3 (203102435)\n-E98A Compressed Size       000000F6 (246)\n-E98E Uncompressed Size     0000023F (575)\n-E992 Filename Length       004A (74)\n-E994 Extra Length          0000 (0)\n-E996 Comment Length        0000 (0)\n-E998 Disk Start            0000 (0)\n-E99A Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-E99C Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-E9A0 Local Header Offset   00004F83 (20355)\n-E9A4 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+BA1B LOCAL HEADER #35      04034B50 (67324752)\n+BA1F Extract Zip Spec      0A (10) '1.0'\n+BA20 Extract OS            00 (0) 'MS-DOS'\n+BA21 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+BA23 Compression Method    0008 (8) 'Deflated'\n+BA25 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+BA29 CRC                   2DCB2766 (768288614)\n+BA2D Compressed Size       00000D1B (3355)\n+BA31 Uncompressed Size     00002267 (8807)\n+BA35 Filename Length       0033 (51)\n+BA37 Extra Length          0000 (0)\n+BA39 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xE9A4: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xBA39: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+BA6C PAYLOAD\n \n-E9EE CENTRAL HEADER #18    02014B50 (33639248)\n-E9F2 Created Zip Spec      14 (20) '2.0'\n-E9F3 Created OS            03 (3) 'Unix'\n-E9F4 Extract Zip Spec      0A (10) '1.0'\n-E9F5 Extract OS            00 (0) 'MS-DOS'\n-E9F6 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-E9F8 Compression Method    0008 (8) 'Deflated'\n-E9FA Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-E9FE CRC                   697CECA2 (1769794722)\n-EA02 Compressed Size       00000101 (257)\n-EA06 Uncompressed Size     00000277 (631)\n-EA0A Filename Length       0051 (81)\n-EA0C Extra Length          0000 (0)\n-EA0E Comment Length        0000 (0)\n-EA10 Disk Start            0000 (0)\n-EA12 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-EA14 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EA18 Local Header Offset   000050E1 (20705)\n-EA1C Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+C787 LOCAL HEADER #36      04034B50 (67324752)\n+C78B Extract Zip Spec      0A (10) '1.0'\n+C78C Extract OS            00 (0) 'MS-DOS'\n+C78D General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+C78F Compression Method    0008 (8) 'Deflated'\n+C791 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+C795 CRC                   5EC9A7BB (1590273979)\n+C799 Compressed Size       000004B7 (1207)\n+C79D Uncompressed Size     00000F8C (3980)\n+C7A1 Filename Length       0053 (83)\n+C7A3 Extra Length          0000 (0)\n+C7A5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xEA1C: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xC7A5: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+C7F8 PAYLOAD\n \n-EA6D CENTRAL HEADER #19    02014B50 (33639248)\n-EA71 Created Zip Spec      14 (20) '2.0'\n-EA72 Created OS            03 (3) 'Unix'\n-EA73 Extract Zip Spec      0A (10) '1.0'\n-EA74 Extract OS            00 (0) 'MS-DOS'\n-EA75 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EA77 Compression Method    0008 (8) 'Deflated'\n-EA79 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EA7D CRC                   C8C614FC (3368424700)\n-EA81 Compressed Size       000000F9 (249)\n-EA85 Uncompressed Size     00000237 (567)\n-EA89 Filename Length       0049 (73)\n-EA8B Extra Length          0000 (0)\n-EA8D Comment Length        0000 (0)\n-EA8F Disk Start            0000 (0)\n-EA91 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-EA93 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EA97 Local Header Offset   00005251 (21073)\n-EA9B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+CCAF LOCAL HEADER #37      04034B50 (67324752)\n+CCB3 Extract Zip Spec      0A (10) '1.0'\n+CCB4 Extract OS            00 (0) 'MS-DOS'\n+CCB5 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+CCB7 Compression Method    0008 (8) 'Deflated'\n+CCB9 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+CCBD CRC                   93E7DA4A (2481445450)\n+CCC1 Compressed Size       00000213 (531)\n+CCC5 Uncompressed Size     0000056E (1390)\n+CCC9 Filename Length       005D (93)\n+CCCB Extra Length          0000 (0)\n+CCCD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xEA9B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xCCCD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+CD2A PAYLOAD\n \n-EAE4 CENTRAL HEADER #20    02014B50 (33639248)\n-EAE8 Created Zip Spec      14 (20) '2.0'\n-EAE9 Created OS            03 (3) 'Unix'\n-EAEA Extract Zip Spec      0A (10) '1.0'\n-EAEB Extract OS            00 (0) 'MS-DOS'\n-EAEC General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EAEE Compression Method    0008 (8) 'Deflated'\n-EAF0 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EAF4 CRC                   5A2ED1B7 (1513017783)\n-EAF8 Compressed Size       000000FF (255)\n-EAFC Uncompressed Size     00000257 (599)\n-EB00 Filename Length       004D (77)\n-EB02 Extra Length          0000 (0)\n-EB04 Comment Length        0000 (0)\n-EB06 Disk Start            0000 (0)\n-EB08 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-EB0A Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EB0E Local Header Offset   000053B1 (21425)\n-EB12 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+CF3D LOCAL HEADER #38      04034B50 (67324752)\n+CF41 Extract Zip Spec      0A (10) '1.0'\n+CF42 Extract OS            00 (0) 'MS-DOS'\n+CF43 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+CF45 Compression Method    0008 (8) 'Deflated'\n+CF47 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+CF4B CRC                   82D3B65C (2194912860)\n+CF4F Compressed Size       000002DE (734)\n+CF53 Uncompressed Size     00000621 (1569)\n+CF57 Filename Length       0032 (50)\n+CF59 Extra Length          0000 (0)\n+CF5B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xEB12: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xCF5B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+CF8D PAYLOAD\n \n-EB5F CENTRAL HEADER #21    02014B50 (33639248)\n-EB63 Created Zip Spec      14 (20) '2.0'\n-EB64 Created OS            03 (3) 'Unix'\n-EB65 Extract Zip Spec      0A (10) '1.0'\n-EB66 Extract OS            00 (0) 'MS-DOS'\n-EB67 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EB69 Compression Method    0008 (8) 'Deflated'\n-EB6B Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EB6F CRC                   F51179FA (4111563258)\n-EB73 Compressed Size       000000F4 (244)\n-EB77 Uncompressed Size     00000217 (535)\n-EB7B Filename Length       0045 (69)\n-EB7D Extra Length          0000 (0)\n-EB7F Comment Length        0000 (0)\n-EB81 Disk Start            0000 (0)\n-EB83 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-EB85 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EB89 Local Header Offset   0000551B (21787)\n-EB8D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+D26B LOCAL HEADER #39      04034B50 (67324752)\n+D26F Extract Zip Spec      0A (10) '1.0'\n+D270 Extract OS            00 (0) 'MS-DOS'\n+D271 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+D273 Compression Method    0008 (8) 'Deflated'\n+D275 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+D279 CRC                   FA425B0B (4198652683)\n+D27D Compressed Size       00000EEF (3823)\n+D281 Uncompressed Size     00002C10 (11280)\n+D285 Filename Length       0032 (50)\n+D287 Extra Length          0000 (0)\n+D289 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xEB8D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xD289: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+D2BB PAYLOAD\n \n-EBD2 CENTRAL HEADER #22    02014B50 (33639248)\n-EBD6 Created Zip Spec      14 (20) '2.0'\n-EBD7 Created OS            03 (3) 'Unix'\n-EBD8 Extract Zip Spec      0A (10) '1.0'\n-EBD9 Extract OS            00 (0) 'MS-DOS'\n-EBDA General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EBDC Compression Method    0008 (8) 'Deflated'\n-EBDE Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EBE2 CRC                   09959589 (160798089)\n-EBE6 Compressed Size       000000F6 (246)\n-EBEA Uncompressed Size     0000022F (559)\n-EBEE Filename Length       0048 (72)\n-EBF0 Extra Length          0000 (0)\n-EBF2 Comment Length        0000 (0)\n-EBF4 Disk Start            0000 (0)\n-EBF6 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-EBF8 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EBFC Local Header Offset   00005672 (22130)\n-EC00 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E1AA LOCAL HEADER #40      04034B50 (67324752)\n+E1AE Extract Zip Spec      0A (10) '1.0'\n+E1AF Extract OS            00 (0) 'MS-DOS'\n+E1B0 General Purpose Flag  0000 (0)\n+E1B2 Compression Method    0000 (0) 'Stored'\n+E1B4 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E1B8 CRC                   00000000 (0)\n+E1BC Compressed Size       00000000 (0)\n+E1C0 Uncompressed Size     00000000 (0)\n+E1C4 Filename Length       000F (15)\n+E1C6 Extra Length          0000 (0)\n+E1C8 Filename              'XXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xEC00: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE1C8: Filename 'XXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-EC48 CENTRAL HEADER #23    02014B50 (33639248)\n-EC4C Created Zip Spec      14 (20) '2.0'\n-EC4D Created OS            03 (3) 'Unix'\n-EC4E Extract Zip Spec      0A (10) '1.0'\n-EC4F Extract OS            00 (0) 'MS-DOS'\n-EC50 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EC52 Compression Method    0008 (8) 'Deflated'\n-EC54 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EC58 CRC                   248D6C5D (613248093)\n-EC5C Compressed Size       000000F3 (243)\n-EC60 Uncompressed Size     0000020F (527)\n-EC64 Filename Length       0044 (68)\n-EC66 Extra Length          0000 (0)\n-EC68 Comment Length        0000 (0)\n-EC6A Disk Start            0000 (0)\n-EC6C Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-EC6E Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EC72 Local Header Offset   000057CE (22478)\n-EC76 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E1D7 LOCAL HEADER #41      04034B50 (67324752)\n+E1DB Extract Zip Spec      0A (10) '1.0'\n+E1DC Extract OS            00 (0) 'MS-DOS'\n+E1DD General Purpose Flag  0000 (0)\n+E1DF Compression Method    0000 (0) 'Stored'\n+E1E1 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E1E5 CRC                   00000000 (0)\n+E1E9 Compressed Size       00000000 (0)\n+E1ED Uncompressed Size     00000000 (0)\n+E1F1 Filename Length       001F (31)\n+E1F3 Extra Length          0000 (0)\n+E1F5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xEC76: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE1F5: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-ECBA CENTRAL HEADER #24    02014B50 (33639248)\n-ECBE Created Zip Spec      14 (20) '2.0'\n-ECBF Created OS            03 (3) 'Unix'\n-ECC0 Extract Zip Spec      0A (10) '1.0'\n-ECC1 Extract OS            00 (0) 'MS-DOS'\n-ECC2 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-ECC4 Compression Method    0008 (8) 'Deflated'\n-ECC6 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-ECCA CRC                   AFA6A742 (2946934594)\n-ECCE Compressed Size       00000452 (1106)\n-ECD2 Uncompressed Size     00000F19 (3865)\n-ECD6 Filename Length       0063 (99)\n-ECD8 Extra Length          0000 (0)\n-ECDA Comment Length        0000 (0)\n-ECDC Disk Start            0000 (0)\n-ECDE Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-ECE0 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-ECE4 Local Header Offset   00005923 (22819)\n-ECE8 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E214 LOCAL HEADER #42      04034B50 (67324752)\n+E218 Extract Zip Spec      0A (10) '1.0'\n+E219 Extract OS            00 (0) 'MS-DOS'\n+E21A General Purpose Flag  0000 (0)\n+E21C Compression Method    0000 (0) 'Stored'\n+E21E Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E222 CRC                   00000000 (0)\n+E226 Compressed Size       00000000 (0)\n+E22A Uncompressed Size     00000000 (0)\n+E22E Filename Length       0033 (51)\n+E230 Extra Length          0000 (0)\n+E232 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xECE8: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE232: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-ED4B CENTRAL HEADER #25    02014B50 (33639248)\n-ED4F Created Zip Spec      14 (20) '2.0'\n-ED50 Created OS            03 (3) 'Unix'\n-ED51 Extract Zip Spec      0A (10) '1.0'\n-ED52 Extract OS            00 (0) 'MS-DOS'\n-ED53 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-ED55 Compression Method    0008 (8) 'Deflated'\n-ED57 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-ED5B CRC                   5BEA4F01 (1542082305)\n-ED5F Compressed Size       00000647 (1607)\n-ED63 Uncompressed Size     00001350 (4944)\n-ED67 Filename Length       004B (75)\n-ED69 Extra Length          0000 (0)\n-ED6B Comment Length        0000 (0)\n-ED6D Disk Start            0000 (0)\n-ED6F Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-ED71 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-ED75 Local Header Offset   00005DF6 (24054)\n-ED79 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E265 LOCAL HEADER #43      04034B50 (67324752)\n+E269 Extract Zip Spec      0A (10) '1.0'\n+E26A Extract OS            00 (0) 'MS-DOS'\n+E26B General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+E26D Compression Method    0008 (8) 'Deflated'\n+E26F Modification Time     5A3D470B (1513965323) 'Wed Jan 29 08:56:22 2025'\n+E273 CRC                   51873E5B (1367817819)\n+E277 Compressed Size       0000028D (653)\n+E27B Uncompressed Size     00000A93 (2707)\n+E27F Filename Length       003A (58)\n+E281 Extra Length          0000 (0)\n+E283 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xED79: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE283: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+E2BD PAYLOAD\n \n-EDC4 CENTRAL HEADER #26    02014B50 (33639248)\n-EDC8 Created Zip Spec      14 (20) '2.0'\n-EDC9 Created OS            03 (3) 'Unix'\n-EDCA Extract Zip Spec      0A (10) '1.0'\n-EDCB Extract OS            00 (0) 'MS-DOS'\n-EDCC General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EDCE Compression Method    0008 (8) 'Deflated'\n-EDD0 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EDD4 CRC                   E02B2907 (3760924935)\n-EDD8 Compressed Size       0000040D (1037)\n-EDDC Uncompressed Size     00000D33 (3379)\n-EDE0 Filename Length       0055 (85)\n-EDE2 Extra Length          0000 (0)\n-EDE4 Comment Length        0000 (0)\n-EDE6 Disk Start            0000 (0)\n-EDE8 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-EDEA Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EDEE Local Header Offset   000064A6 (25766)\n-EDF2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E54A LOCAL HEADER #44      04034B50 (67324752)\n+E54E Extract Zip Spec      0A (10) '1.0'\n+E54F Extract OS            00 (0) 'MS-DOS'\n+E550 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+E552 Compression Method    0008 (8) 'Deflated'\n+E554 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E558 CRC                   54CED24B (1422840395)\n+E55C Compressed Size       0000006E (110)\n+E560 Uncompressed Size     00000078 (120)\n+E564 Filename Length       0041 (65)\n+E566 Extra Length          0000 (0)\n+E568 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xEDF2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE568: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n+E5A9 PAYLOAD               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n \n-EE47 CENTRAL HEADER #27    02014B50 (33639248)\n-EE4B Created Zip Spec      14 (20) '2.0'\n-EE4C Created OS            03 (3) 'Unix'\n-EE4D Extract Zip Spec      0A (10) '1.0'\n-EE4E Extract OS            00 (0) 'MS-DOS'\n-EE4F General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EE51 Compression Method    0008 (8) 'Deflated'\n-EE53 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EE57 CRC                   D7668659 (3613820505)\n-EE5B Compressed Size       00000210 (528)\n-EE5F Uncompressed Size     0000056E (1390)\n-EE63 Filename Length       005D (93)\n-EE65 Extra Length          0000 (0)\n-EE67 Comment Length        0000 (0)\n-EE69 Disk Start            0000 (0)\n-EE6B Int File Attributes   0000 (0)\n+E617 CENTRAL HEADER #1     02014B50 (33639248)\n+E61B Created Zip Spec      14 (20) '2.0'\n+E61C Created OS            03 (3) 'Unix'\n+E61D Extract Zip Spec      0A (10) '1.0'\n+E61E Extract OS            00 (0) 'MS-DOS'\n+E61F General Purpose Flag  0000 (0)\n+E621 Compression Method    0000 (0) 'Stored'\n+E623 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E627 CRC                   00000000 (0)\n+E62B Compressed Size       00000000 (0)\n+E62F Uncompressed Size     00000000 (0)\n+E633 Filename Length       0009 (9)\n+E635 Extra Length          0000 (0)\n+E637 Comment Length        0000 (0)\n+E639 Disk Start            0000 (0)\n+E63B Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-EE6D Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EE71 Local Header Offset   00006926 (26918)\n-EE75 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E63D Ext File Attributes   41ED0010 (1106051088)\n+     [Bit 4]               Directory\n+     [Bits 16-24]          01ED (493) 'Unix attrib: rwxr-xr-x'\n+     [Bits 28-31]          04 (4) 'Directory'\n+E641 Local Header Offset   00000000 (0)\n+E645 Filename              'XXXXXXXXX'\n #\n-# WARNING: Offset 0xEE75: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE645: Filename 'XXXXXXXXX'\n #          Zero length filename\n #\n-\n-EED2 CENTRAL HEADER #28    02014B50 (33639248)\n-EED6 Created Zip Spec      14 (20) '2.0'\n-EED7 Created OS            03 (3) 'Unix'\n-EED8 Extract Zip Spec      0A (10) '1.0'\n-EED9 Extract OS            00 (0) 'MS-DOS'\n-EEDA General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EEDC Compression Method    0008 (8) 'Deflated'\n-EEDE Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EEE2 CRC                   09491BDF (155786207)\n-EEE6 Compressed Size       000002A4 (676)\n-EEEA Uncompressed Size     000005C1 (1473)\n-EEEE Filename Length       003C (60)\n-EEF0 Extra Length          0000 (0)\n-EEF2 Comment Length        0000 (0)\n-EEF4 Disk Start            0000 (0)\n-EEF6 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-EEF8 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EEFC Local Header Offset   00006BB1 (27569)\n-EF00 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# ERROR: Offset 0xE645: Directory 'XXXXXXXXX' must end in a '/'\n+#        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0xEF00: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n+# WARNING: Offset 0xE61D: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXX'\n #\n \n-EF3C CENTRAL HEADER #29    02014B50 (33639248)\n-EF40 Created Zip Spec      14 (20) '2.0'\n-EF41 Created OS            03 (3) 'Unix'\n-EF42 Extract Zip Spec      0A (10) '1.0'\n-EF43 Extract OS            00 (0) 'MS-DOS'\n-EF44 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EF46 Compression Method    0008 (8) 'Deflated'\n-EF48 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EF4C CRC                   40383E4E (1077427790)\n-EF50 Compressed Size       000004CC (1228)\n-EF54 Uncompressed Size     00000A3C (2620)\n-EF58 Filename Length       0036 (54)\n-EF5A Extra Length          0000 (0)\n-EF5C Comment Length        0000 (0)\n-EF5E Disk Start            0000 (0)\n-EF60 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-EF62 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EF66 Local Header Offset   00006EAF (28335)\n-EF6A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xEF6A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E64E CENTRAL HEADER #2     02014B50 (33639248)\n+E652 Created Zip Spec      14 (20) '2.0'\n+E653 Created OS            03 (3) 'Unix'\n+E654 Extract Zip Spec      0A (10) '1.0'\n+E655 Extract OS            00 (0) 'MS-DOS'\n+E656 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+E658 Compression Method    0008 (8) 'Deflated'\n+E65A Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+E65E CRC                   FFABC81E (4289447966)\n+E662 Compressed Size       0000006C (108)\n+E666 Uncompressed Size     00000081 (129)\n+E66A Filename Length       0014 (20)\n+E66C Extra Length          0000 (0)\n+E66E Comment Length        0000 (0)\n+E670 Disk Start            0000 (0)\n+E672 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+E674 Ext File Attributes   81A40000 (2175008768)\n+     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+E678 Local Header Offset   00000027 (39)\n+E67C Filename              'XXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xE67C: Filename 'XXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n \n-EFA0 CENTRAL HEADER #30    02014B50 (33639248)\n-EFA4 Created Zip Spec      14 (20) '2.0'\n-EFA5 Created OS            03 (3) 'Unix'\n-EFA6 Extract Zip Spec      0A (10) '1.0'\n-EFA7 Extract OS            00 (0) 'MS-DOS'\n-EFA8 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-EFAA Compression Method    0008 (8) 'Deflated'\n-EFAC Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-EFB0 CRC                   E1E75EFE (3790036734)\n-EFB4 Compressed Size       00001550 (5456)\n-EFB8 Uncompressed Size     00003D54 (15700)\n-EFBC Filename Length       0037 (55)\n-EFBE Extra Length          0000 (0)\n-EFC0 Comment Length        0000 (0)\n-EFC2 Disk Start            0000 (0)\n-EFC4 Int File Attributes   0000 (0)\n+E690 CENTRAL HEADER #3     02014B50 (33639248)\n+E694 Created Zip Spec      14 (20) '2.0'\n+E695 Created OS            03 (3) 'Unix'\n+E696 Extract Zip Spec      0A (10) '1.0'\n+E697 Extract OS            00 (0) 'MS-DOS'\n+E698 General Purpose Flag  0000 (0)\n+E69A Compression Method    0000 (0) 'Stored'\n+E69C Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+E6A0 CRC                   00000000 (0)\n+E6A4 Compressed Size       00000000 (0)\n+E6A8 Uncompressed Size     00000000 (0)\n+E6AC Filename Length       0004 (4)\n+E6AE Extra Length          0000 (0)\n+E6B0 Comment Length        0000 (0)\n+E6B2 Disk Start            0000 (0)\n+E6B4 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-EFC6 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-EFCA Local Header Offset   000073CF (29647)\n-EFCE Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E6B6 Ext File Attributes   41FD0010 (1107099664)\n+     [Bit 4]               Directory\n+     [Bits 16-24]          01FD (509) 'Unix attrib: rwxrwxr-x'\n+     [Bits 28-31]          04 (4) 'Directory'\n+E6BA Local Header Offset   000000C5 (197)\n+E6BE Filename              'XXXX'\n #\n-# WARNING: Offset 0xEFCE: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE6BE: Filename 'XXXX'\n #          Zero length filename\n #\n-\n-F005 CENTRAL HEADER #31    02014B50 (33639248)\n-F009 Created Zip Spec      14 (20) '2.0'\n-F00A Created OS            03 (3) 'Unix'\n-F00B Extract Zip Spec      0A (10) '1.0'\n-F00C Extract OS            00 (0) 'MS-DOS'\n-F00D General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F00F Compression Method    0008 (8) 'Deflated'\n-F011 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-F015 CRC                   CAB4373B (3400808251)\n-F019 Compressed Size       00000ED1 (3793)\n-F01D Uncompressed Size     00002C27 (11303)\n-F021 Filename Length       0032 (50)\n-F023 Extra Length          0000 (0)\n-F025 Comment Length        0000 (0)\n-F027 Disk Start            0000 (0)\n-F029 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-F02B Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F02F Local Header Offset   00008974 (35188)\n-F033 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# ERROR: Offset 0xE6BE: Directory 'XXXX' must end in a '/'\n+#        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0xF033: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n+# WARNING: Offset 0xE696: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXX'\n #\n \n-F065 CENTRAL HEADER #32    02014B50 (33639248)\n-F069 Created Zip Spec      14 (20) '2.0'\n-F06A Created OS            03 (3) 'Unix'\n-F06B Extract Zip Spec      0A (10) '1.0'\n-F06C Extract OS            00 (0) 'MS-DOS'\n-F06D General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F06F Compression Method    0008 (8) 'Deflated'\n-F071 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-F075 CRC                   724E7A93 (1917745811)\n-F079 Compressed Size       000002CF (719)\n-F07D Uncompressed Size     0000061D (1565)\n-F081 Filename Length       003B (59)\n-F083 Extra Length          0000 (0)\n-F085 Comment Length        0000 (0)\n-F087 Disk Start            0000 (0)\n-F089 Int File Attributes   0000 (0)\n+E6C2 CENTRAL HEADER #4     02014B50 (33639248)\n+E6C6 Created Zip Spec      14 (20) '2.0'\n+E6C7 Created OS            03 (3) 'Unix'\n+E6C8 Extract Zip Spec      0A (10) '1.0'\n+E6C9 Extract OS            00 (0) 'MS-DOS'\n+E6CA General Purpose Flag  0000 (0)\n+E6CC Compression Method    0000 (0) 'Stored'\n+E6CE Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+E6D2 CRC                   00000000 (0)\n+E6D6 Compressed Size       00000000 (0)\n+E6DA Uncompressed Size     00000000 (0)\n+E6DE Filename Length       0010 (16)\n+E6E0 Extra Length          0000 (0)\n+E6E2 Comment Length        0000 (0)\n+E6E4 Disk Start            0000 (0)\n+E6E6 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-F08B Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F08F Local Header Offset   00009895 (39061)\n-F093 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E6E8 Ext File Attributes   41FD0010 (1107099664)\n+     [Bit 4]               Directory\n+     [Bits 16-24]          01FD (509) 'Unix attrib: rwxrwxr-x'\n+     [Bits 28-31]          04 (4) 'Directory'\n+E6EC Local Header Offset   000000E7 (231)\n+E6F0 Filename              'XXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xF093: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE6F0: Filename 'XXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-\n-F0CE CENTRAL HEADER #33    02014B50 (33639248)\n-F0D2 Created Zip Spec      14 (20) '2.0'\n-F0D3 Created OS            03 (3) 'Unix'\n-F0D4 Extract Zip Spec      0A (10) '1.0'\n-F0D5 Extract OS            00 (0) 'MS-DOS'\n-F0D6 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F0D8 Compression Method    0008 (8) 'Deflated'\n-F0DA Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-F0DE CRC                   82D7EEB6 (2195189430)\n-F0E2 Compressed Size       000004A3 (1187)\n-F0E6 Uncompressed Size     00000F8C (3980)\n-F0EA Filename Length       0053 (83)\n-F0EC Extra Length          0000 (0)\n-F0EE Comment Length        0000 (0)\n-F0F0 Disk Start            0000 (0)\n-F0F2 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-F0F4 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F0F8 Local Header Offset   00009BBD (39869)\n-F0FC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# ERROR: Offset 0xE6F0: Directory 'XXXXXXXXXXXXXXXX' must end in a '/'\n+#        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0xF0FC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n+# WARNING: Offset 0xE6C8: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXX'\n #\n \n-F14F CENTRAL HEADER #34    02014B50 (33639248)\n-F153 Created Zip Spec      14 (20) '2.0'\n-F154 Created OS            03 (3) 'Unix'\n-F155 Extract Zip Spec      0A (10) '1.0'\n-F156 Extract OS            00 (0) 'MS-DOS'\n-F157 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F159 Compression Method    0008 (8) 'Deflated'\n-F15B Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-F15F CRC                   A919C03B (2837037115)\n-F163 Compressed Size       00000C1B (3099)\n-F167 Uncompressed Size     00002215 (8725)\n-F16B Filename Length       0037 (55)\n-F16D Extra Length          0000 (0)\n-F16F Comment Length        0000 (0)\n-F171 Disk Start            0000 (0)\n-F173 Int File Attributes   0000 (0)\n+E700 CENTRAL HEADER #5     02014B50 (33639248)\n+E704 Created Zip Spec      14 (20) '2.0'\n+E705 Created OS            03 (3) 'Unix'\n+E706 Extract Zip Spec      0A (10) '1.0'\n+E707 Extract OS            00 (0) 'MS-DOS'\n+E708 General Purpose Flag  0000 (0)\n+E70A Compression Method    0000 (0) 'Stored'\n+E70C Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+E710 CRC                   00000000 (0)\n+E714 Compressed Size       00000000 (0)\n+E718 Uncompressed Size     00000000 (0)\n+E71C Filename Length       0016 (22)\n+E71E Extra Length          0000 (0)\n+E720 Comment Length        0000 (0)\n+E722 Disk Start            0000 (0)\n+E724 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-F175 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F179 Local Header Offset   0000A0D1 (41169)\n-F17D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E726 Ext File Attributes   41FD0010 (1107099664)\n+     [Bit 4]               Directory\n+     [Bits 16-24]          01FD (509) 'Unix attrib: rwxrwxr-x'\n+     [Bits 28-31]          04 (4) 'Directory'\n+E72A Local Header Offset   00000115 (277)\n+E72E Filename              'XXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xF17D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE72E: Filename 'XXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-\n-F1B4 CENTRAL HEADER #35    02014B50 (33639248)\n-F1B8 Created Zip Spec      14 (20) '2.0'\n-F1B9 Created OS            03 (3) 'Unix'\n-F1BA Extract Zip Spec      0A (10) '1.0'\n-F1BB Extract OS            00 (0) 'MS-DOS'\n-F1BC General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F1BE Compression Method    0008 (8) 'Deflated'\n-F1C0 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-F1C4 CRC                   BD63801D (3177414685)\n-F1C8 Compressed Size       00000281 (641)\n-F1CC Uncompressed Size     00000566 (1382)\n-F1D0 Filename Length       0037 (55)\n-F1D2 Extra Length          0000 (0)\n-F1D4 Comment Length        0000 (0)\n-F1D6 Disk Start            0000 (0)\n-F1D8 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-F1DA Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F1DE Local Header Offset   0000AD41 (44353)\n-F1E2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# ERROR: Offset 0xE72E: Directory 'XXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+#        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0xF1E2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n+# WARNING: Offset 0xE706: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-F219 CENTRAL HEADER #36    02014B50 (33639248)\n-F21D Created Zip Spec      14 (20) '2.0'\n-F21E Created OS            03 (3) 'Unix'\n-F21F Extract Zip Spec      0A (10) '1.0'\n-F220 Extract OS            00 (0) 'MS-DOS'\n-F221 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F223 Compression Method    0008 (8) 'Deflated'\n-F225 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-F229 CRC                   03389AAD (54041261)\n-F22D Compressed Size       00000D81 (3457)\n-F231 Uncompressed Size     000023F5 (9205)\n-F235 Filename Length       0041 (65)\n-F237 Extra Length          0000 (0)\n-F239 Comment Length        0000 (0)\n-F23B Disk Start            0000 (0)\n-F23D Int File Attributes   0000 (0)\n+E744 CENTRAL HEADER #6     02014B50 (33639248)\n+E748 Created Zip Spec      14 (20) '2.0'\n+E749 Created OS            03 (3) 'Unix'\n+E74A Extract Zip Spec      0A (10) '1.0'\n+E74B Extract OS            00 (0) 'MS-DOS'\n+E74C General Purpose Flag  0000 (0)\n+E74E Compression Method    0000 (0) 'Stored'\n+E750 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E754 CRC                   00000000 (0)\n+E758 Compressed Size       00000000 (0)\n+E75C Uncompressed Size     00000000 (0)\n+E760 Filename Length       001D (29)\n+E762 Extra Length          0000 (0)\n+E764 Comment Length        0000 (0)\n+E766 Disk Start            0000 (0)\n+E768 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-F23F Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F243 Local Header Offset   0000B017 (45079)\n-F247 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E76A Ext File Attributes   41FD0010 (1107099664)\n+     [Bit 4]               Directory\n+     [Bits 16-24]          01FD (509) 'Unix attrib: rwxrwxr-x'\n+     [Bits 28-31]          04 (4) 'Directory'\n+E76E Local Header Offset   00000149 (329)\n+E772 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xF247: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE772: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-\n-F288 CENTRAL HEADER #37    02014B50 (33639248)\n-F28C Created Zip Spec      14 (20) '2.0'\n-F28D Created OS            03 (3) 'Unix'\n-F28E Extract Zip Spec      0A (10) '1.0'\n-F28F Extract OS            00 (0) 'MS-DOS'\n-F290 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F292 Compression Method    0008 (8) 'Deflated'\n-F294 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-F298 CRC                   9C368749 (2620819273)\n-F29C Compressed Size       000000B8 (184)\n-F2A0 Uncompressed Size     00000128 (296)\n-F2A4 Filename Length       0043 (67)\n-F2A6 Extra Length          0000 (0)\n-F2A8 Comment Length        0000 (0)\n-F2AA Disk Start            0000 (0)\n-F2AC Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-F2AE Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F2B2 Local Header Offset   0000BDF7 (48631)\n-F2B6 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# ERROR: Offset 0xE772: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+#        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0xF2B6: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n+# WARNING: Offset 0xE74A: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-F2F9 CENTRAL HEADER #38    02014B50 (33639248)\n-F2FD Created Zip Spec      14 (20) '2.0'\n-F2FE Created OS            03 (3) 'Unix'\n-F2FF Extract Zip Spec      0A (10) '1.0'\n-F300 Extract OS            00 (0) 'MS-DOS'\n-F301 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F303 Compression Method    0008 (8) 'Deflated'\n-F305 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-F309 CRC                   8A07E750 (2315773776)\n-F30D Compressed Size       00000BB5 (2997)\n-F311 Uncompressed Size     000022B2 (8882)\n-F315 Filename Length       003F (63)\n-F317 Extra Length          0000 (0)\n-F319 Comment Length        0000 (0)\n-F31B Disk Start            0000 (0)\n-F31D Int File Attributes   0000 (0)\n+E78F CENTRAL HEADER #7     02014B50 (33639248)\n+E793 Created Zip Spec      14 (20) '2.0'\n+E794 Created OS            03 (3) 'Unix'\n+E795 Extract Zip Spec      0A (10) '1.0'\n+E796 Extract OS            00 (0) 'MS-DOS'\n+E797 General Purpose Flag  0000 (0)\n+E799 Compression Method    0000 (0) 'Stored'\n+E79B Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E79F CRC                   00000000 (0)\n+E7A3 Compressed Size       00000000 (0)\n+E7A7 Uncompressed Size     00000000 (0)\n+E7AB Filename Length       0021 (33)\n+E7AD Extra Length          0000 (0)\n+E7AF Comment Length        0000 (0)\n+E7B1 Disk Start            0000 (0)\n+E7B3 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-F31F Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F323 Local Header Offset   0000BF10 (48912)\n-F327 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+E7B5 Ext File Attributes   41FD0010 (1107099664)\n+     [Bit 4]               Directory\n+     [Bits 16-24]          01FD (509) 'Unix attrib: rwxrwxr-x'\n+     [Bits 28-31]          04 (4) 'Directory'\n+E7B9 Local Header Offset   00000184 (388)\n+E7BD Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xF327: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xE7BD: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-\n-F366 CENTRAL HEADER #39    02014B50 (33639248)\n-F36A Created Zip Spec      14 (20) '2.0'\n-F36B Created OS            03 (3) 'Unix'\n-F36C Extract Zip Spec      0A (10) '1.0'\n-F36D Extract OS            00 (0) 'MS-DOS'\n-F36E General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F370 Compression Method    0008 (8) 'Deflated'\n-F372 Modification Time     583D90D9 (1480429785) 'Mon Jan 29 18:06:50 2024'\n-F376 CRC                   01C123D9 (29434841)\n-F37A Compressed Size       000013F4 (5108)\n-F37E Uncompressed Size     0000301D (12317)\n-F382 Filename Length       0032 (50)\n-F384 Extra Length          0000 (0)\n-F386 Comment Length        0000 (0)\n-F388 Disk Start            0000 (0)\n-F38A Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-F38C Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F390 Local Header Offset   0000CB22 (52002)\n-F394 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# ERROR: Offset 0xE7BD: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+#        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0xF394: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n+# WARNING: Offset 0xE795: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-F3C6 CENTRAL HEADER #40    02014B50 (33639248)\n-F3CA Created Zip Spec      14 (20) '2.0'\n-F3CB Created OS            03 (3) 'Unix'\n-F3CC Extract Zip Spec      0A (10) '1.0'\n-F3CD Extract OS            00 (0) 'MS-DOS'\n-F3CE General Purpose Flag  0000 (0)\n-F3D0 Compression Method    0000 (0) 'Stored'\n-F3D2 Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n-F3D6 CRC                   00000000 (0)\n-F3DA Compressed Size       00000000 (0)\n-F3DE Uncompressed Size     00000000 (0)\n-F3E2 Filename Length       000F (15)\n-F3E4 Extra Length          0000 (0)\n-F3E6 Comment Length        0000 (0)\n-F3E8 Disk Start            0000 (0)\n-F3EA Int File Attributes   0000 (0)\n+E7DE CENTRAL HEADER #8     02014B50 (33639248)\n+E7E2 Created Zip Spec      14 (20) '2.0'\n+E7E3 Created OS            03 (3) 'Unix'\n+E7E4 Extract Zip Spec      0A (10) '1.0'\n+E7E5 Extract OS            00 (0) 'MS-DOS'\n+E7E6 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+E7E8 Compression Method    0008 (8) 'Deflated'\n+E7EA Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E7EE CRC                   83217F0A (2200010506)\n+E7F2 Compressed Size       00000414 (1044)\n+E7F6 Uncompressed Size     00000D33 (3379)\n+E7FA Filename Length       0055 (85)\n+E7FC Extra Length          0000 (0)\n+E7FE Comment Length        0000 (0)\n+E800 Disk Start            0000 (0)\n+E802 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+E804 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+E808 Local Header Offset   000001C3 (451)\n+E80C Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xE80C: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+E861 CENTRAL HEADER #9     02014B50 (33639248)\n+E865 Created Zip Spec      14 (20) '2.0'\n+E866 Created OS            03 (3) 'Unix'\n+E867 Extract Zip Spec      0A (10) '1.0'\n+E868 Extract OS            00 (0) 'MS-DOS'\n+E869 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+E86B Compression Method    0008 (8) 'Deflated'\n+E86D Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+E871 CRC                   DF426F8C (3745673100)\n+E875 Compressed Size       00000498 (1176)\n+E879 Uncompressed Size     00000F5A (3930)\n+E87D Filename Length       0051 (81)\n+E87F Extra Length          0000 (0)\n+E881 Comment Length        0000 (0)\n+E883 Disk Start            0000 (0)\n+E885 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+E887 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+E88B Local Header Offset   0000064A (1610)\n+E88F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xE88F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+E8E0 CENTRAL HEADER #10    02014B50 (33639248)\n+E8E4 Created Zip Spec      14 (20) '2.0'\n+E8E5 Created OS            03 (3) 'Unix'\n+E8E6 Extract Zip Spec      0A (10) '1.0'\n+E8E7 Extract OS            00 (0) 'MS-DOS'\n+E8E8 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+E8EA Compression Method    0008 (8) 'Deflated'\n+E8EC Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E8F0 CRC                   637DAED3 (1669181139)\n+E8F4 Compressed Size       00001434 (5172)\n+E8F8 Uncompressed Size     00002FFD (12285)\n+E8FC Filename Length       0032 (50)\n+E8FE Extra Length          0000 (0)\n+E900 Comment Length        0000 (0)\n+E902 Disk Start            0000 (0)\n+E904 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+E906 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+E90A Local Header Offset   00000B51 (2897)\n+E90E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xE90E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+E940 CENTRAL HEADER #11    02014B50 (33639248)\n+E944 Created Zip Spec      14 (20) '2.0'\n+E945 Created OS            03 (3) 'Unix'\n+E946 Extract Zip Spec      0A (10) '1.0'\n+E947 Extract OS            00 (0) 'MS-DOS'\n+E948 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+E94A Compression Method    0008 (8) 'Deflated'\n+E94C Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+E950 CRC                   9FCDF535 (2681074997)\n+E954 Compressed Size       000000F5 (245)\n+E958 Uncompressed Size     00000217 (535)\n+E95C Filename Length       0045 (69)\n+E95E Extra Length          0000 (0)\n+E960 Comment Length        0000 (0)\n+E962 Disk Start            0000 (0)\n+E964 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+E966 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+E96A Local Header Offset   00001FD5 (8149)\n+E96E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xE96E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+E9B3 CENTRAL HEADER #12    02014B50 (33639248)\n+E9B7 Created Zip Spec      14 (20) '2.0'\n+E9B8 Created OS            03 (3) 'Unix'\n+E9B9 Extract Zip Spec      0A (10) '1.0'\n+E9BA Extract OS            00 (0) 'MS-DOS'\n+E9BB General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+E9BD Compression Method    0008 (8) 'Deflated'\n+E9BF Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+E9C3 CRC                   91076967 (2433182055)\n+E9C7 Compressed Size       000000F9 (249)\n+E9CB Uncompressed Size     00000237 (567)\n+E9CF Filename Length       0049 (73)\n+E9D1 Extra Length          0000 (0)\n+E9D3 Comment Length        0000 (0)\n+E9D5 Disk Start            0000 (0)\n+E9D7 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+E9D9 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+E9DD Local Header Offset   0000212D (8493)\n+E9E1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xE9E1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EA2A CENTRAL HEADER #13    02014B50 (33639248)\n+EA2E Created Zip Spec      14 (20) '2.0'\n+EA2F Created OS            03 (3) 'Unix'\n+EA30 Extract Zip Spec      0A (10) '1.0'\n+EA31 Extract OS            00 (0) 'MS-DOS'\n+EA32 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EA34 Compression Method    0008 (8) 'Deflated'\n+EA36 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+EA3A CRC                   BE7699EF (3195443695)\n+EA3E Compressed Size       000000F6 (246)\n+EA42 Uncompressed Size     0000023F (575)\n+EA46 Filename Length       004A (74)\n+EA48 Extra Length          0000 (0)\n+EA4A Comment Length        0000 (0)\n+EA4C Disk Start            0000 (0)\n+EA4E Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EA50 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EA54 Local Header Offset   0000228D (8845)\n+EA58 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEA58: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EAA2 CENTRAL HEADER #14    02014B50 (33639248)\n+EAA6 Created Zip Spec      14 (20) '2.0'\n+EAA7 Created OS            03 (3) 'Unix'\n+EAA8 Extract Zip Spec      0A (10) '1.0'\n+EAA9 Extract OS            00 (0) 'MS-DOS'\n+EAAA General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EAAC Compression Method    0008 (8) 'Deflated'\n+EAAE Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+EAB2 CRC                   AEE0F48D (2933978253)\n+EAB6 Compressed Size       00000100 (256)\n+EABA Uncompressed Size     00000257 (599)\n+EABE Filename Length       004D (77)\n+EAC0 Extra Length          0000 (0)\n+EAC2 Comment Length        0000 (0)\n+EAC4 Disk Start            0000 (0)\n+EAC6 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EAC8 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EACC Local Header Offset   000023EB (9195)\n+EAD0 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEAD0: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EB1D CENTRAL HEADER #15    02014B50 (33639248)\n+EB21 Created Zip Spec      14 (20) '2.0'\n+EB22 Created OS            03 (3) 'Unix'\n+EB23 Extract Zip Spec      0A (10) '1.0'\n+EB24 Extract OS            00 (0) 'MS-DOS'\n+EB25 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EB27 Compression Method    0008 (8) 'Deflated'\n+EB29 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+EB2D CRC                   51CAEA39 (1372252729)\n+EB31 Compressed Size       000000F7 (247)\n+EB35 Uncompressed Size     0000022F (559)\n+EB39 Filename Length       0048 (72)\n+EB3B Extra Length          0000 (0)\n+EB3D Comment Length        0000 (0)\n+EB3F Disk Start            0000 (0)\n+EB41 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EB43 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EB47 Local Header Offset   00002556 (9558)\n+EB4B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEB4B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EB93 CENTRAL HEADER #16    02014B50 (33639248)\n+EB97 Created Zip Spec      14 (20) '2.0'\n+EB98 Created OS            03 (3) 'Unix'\n+EB99 Extract Zip Spec      0A (10) '1.0'\n+EB9A Extract OS            00 (0) 'MS-DOS'\n+EB9B General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EB9D Compression Method    0008 (8) 'Deflated'\n+EB9F Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+EBA3 CRC                   A160D4E4 (2707477732)\n+EBA7 Compressed Size       000000F3 (243)\n+EBAB Uncompressed Size     0000020F (527)\n+EBAF Filename Length       0044 (68)\n+EBB1 Extra Length          0000 (0)\n+EBB3 Comment Length        0000 (0)\n+EBB5 Disk Start            0000 (0)\n+EBB7 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EBB9 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EBBD Local Header Offset   000026B3 (9907)\n+EBC1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEBC1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EC05 CENTRAL HEADER #17    02014B50 (33639248)\n+EC09 Created Zip Spec      14 (20) '2.0'\n+EC0A Created OS            03 (3) 'Unix'\n+EC0B Extract Zip Spec      0A (10) '1.0'\n+EC0C Extract OS            00 (0) 'MS-DOS'\n+EC0D General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EC0F Compression Method    0008 (8) 'Deflated'\n+EC11 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+EC15 CRC                   B5B97BFA (3048831994)\n+EC19 Compressed Size       000000FD (253)\n+EC1D Uncompressed Size     00000277 (631)\n+EC21 Filename Length       0051 (81)\n+EC23 Extra Length          0000 (0)\n+EC25 Comment Length        0000 (0)\n+EC27 Disk Start            0000 (0)\n+EC29 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EC2B Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EC2F Local Header Offset   00002808 (10248)\n+EC33 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEC33: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EC84 CENTRAL HEADER #18    02014B50 (33639248)\n+EC88 Created Zip Spec      14 (20) '2.0'\n+EC89 Created OS            03 (3) 'Unix'\n+EC8A Extract Zip Spec      0A (10) '1.0'\n+EC8B Extract OS            00 (0) 'MS-DOS'\n+EC8C General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EC8E Compression Method    0008 (8) 'Deflated'\n+EC90 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+EC94 CRC                   9FE4AE16 (2682564118)\n+EC98 Compressed Size       00000685 (1669)\n+EC9C Uncompressed Size     00001775 (6005)\n+ECA0 Filename Length       005B (91)\n+ECA2 Extra Length          0000 (0)\n+ECA4 Comment Length        0000 (0)\n+ECA6 Disk Start            0000 (0)\n+ECA8 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+ECAA Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+ECAE Local Header Offset   00002974 (10612)\n+ECB2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xECB2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+ED0D CENTRAL HEADER #19    02014B50 (33639248)\n+ED11 Created Zip Spec      14 (20) '2.0'\n+ED12 Created OS            03 (3) 'Unix'\n+ED13 Extract Zip Spec      0A (10) '1.0'\n+ED14 Extract OS            00 (0) 'MS-DOS'\n+ED15 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+ED17 Compression Method    0008 (8) 'Deflated'\n+ED19 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+ED1D CRC                   D2D29897 (3537016983)\n+ED21 Compressed Size       000002C0 (704)\n+ED25 Uncompressed Size     000005FC (1532)\n+ED29 Filename Length       003C (60)\n+ED2B Extra Length          0000 (0)\n+ED2D Comment Length        0000 (0)\n+ED2F Disk Start            0000 (0)\n+ED31 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+ED33 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+ED37 Local Header Offset   00003072 (12402)\n+ED3B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xED3B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+ED77 CENTRAL HEADER #20    02014B50 (33639248)\n+ED7B Created Zip Spec      14 (20) '2.0'\n+ED7C Created OS            03 (3) 'Unix'\n+ED7D Extract Zip Spec      0A (10) '1.0'\n+ED7E Extract OS            00 (0) 'MS-DOS'\n+ED7F General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+ED81 Compression Method    0008 (8) 'Deflated'\n+ED83 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+ED87 CRC                   EE6B0A05 (3999992325)\n+ED8B Compressed Size       00000462 (1122)\n+ED8F Uncompressed Size     00000F19 (3865)\n+ED93 Filename Length       0063 (99)\n+ED95 Extra Length          0000 (0)\n+ED97 Comment Length        0000 (0)\n+ED99 Disk Start            0000 (0)\n+ED9B Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+ED9D Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EDA1 Local Header Offset   0000338C (13196)\n+EDA5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEDA5: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EE08 CENTRAL HEADER #21    02014B50 (33639248)\n+EE0C Created Zip Spec      14 (20) '2.0'\n+EE0D Created OS            03 (3) 'Unix'\n+EE0E Extract Zip Spec      0A (10) '1.0'\n+EE0F Extract OS            00 (0) 'MS-DOS'\n+EE10 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EE12 Compression Method    0008 (8) 'Deflated'\n+EE14 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+EE18 CRC                   D8BCCFF0 (3636252656)\n+EE1C Compressed Size       0000158D (5517)\n+EE20 Uncompressed Size     00003D41 (15681)\n+EE24 Filename Length       0037 (55)\n+EE26 Extra Length          0000 (0)\n+EE28 Comment Length        0000 (0)\n+EE2A Disk Start            0000 (0)\n+EE2C Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EE2E Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EE32 Local Header Offset   0000386F (14447)\n+EE36 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEE36: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EE6D CENTRAL HEADER #22    02014B50 (33639248)\n+EE71 Created Zip Spec      14 (20) '2.0'\n+EE72 Created OS            03 (3) 'Unix'\n+EE73 Extract Zip Spec      0A (10) '1.0'\n+EE74 Extract OS            00 (0) 'MS-DOS'\n+EE75 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EE77 Compression Method    0008 (8) 'Deflated'\n+EE79 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+EE7D CRC                   0CADD54F (212718927)\n+EE81 Compressed Size       0000029A (666)\n+EE85 Uncompressed Size     0000058B (1419)\n+EE89 Filename Length       003A (58)\n+EE8B Extra Length          0000 (0)\n+EE8D Comment Length        0000 (0)\n+EE8F Disk Start            0000 (0)\n+EE91 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EE93 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EE97 Local Header Offset   00004E51 (20049)\n+EE9B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEE9B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EED5 CENTRAL HEADER #23    02014B50 (33639248)\n+EED9 Created Zip Spec      14 (20) '2.0'\n+EEDA Created OS            03 (3) 'Unix'\n+EEDB Extract Zip Spec      0A (10) '1.0'\n+EEDC Extract OS            00 (0) 'MS-DOS'\n+EEDD General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EEDF Compression Method    0008 (8) 'Deflated'\n+EEE1 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+EEE5 CRC                   7E9E2F95 (2124296085)\n+EEE9 Compressed Size       0000115E (4446)\n+EEED Uncompressed Size     0000362C (13868)\n+EEF1 Filename Length       003B (59)\n+EEF3 Extra Length          0000 (0)\n+EEF5 Comment Length        0000 (0)\n+EEF7 Disk Start            0000 (0)\n+EEF9 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EEFB Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EEFF Local Header Offset   00005143 (20803)\n+EF03 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEF03: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EF3E CENTRAL HEADER #24    02014B50 (33639248)\n+EF42 Created Zip Spec      14 (20) '2.0'\n+EF43 Created OS            03 (3) 'Unix'\n+EF44 Extract Zip Spec      0A (10) '1.0'\n+EF45 Extract OS            00 (0) 'MS-DOS'\n+EF46 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EF48 Compression Method    0008 (8) 'Deflated'\n+EF4A Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+EF4E CRC                   2FE04107 (803225863)\n+EF52 Compressed Size       000002EB (747)\n+EF56 Uncompressed Size     00000658 (1624)\n+EF5A Filename Length       003B (59)\n+EF5C Extra Length          0000 (0)\n+EF5E Comment Length        0000 (0)\n+EF60 Disk Start            0000 (0)\n+EF62 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EF64 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EF68 Local Header Offset   000062FA (25338)\n+EF6C Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEF6C: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+EFA7 CENTRAL HEADER #25    02014B50 (33639248)\n+EFAB Created Zip Spec      14 (20) '2.0'\n+EFAC Created OS            03 (3) 'Unix'\n+EFAD Extract Zip Spec      0A (10) '1.0'\n+EFAE Extract OS            00 (0) 'MS-DOS'\n+EFAF General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+EFB1 Compression Method    0008 (8) 'Deflated'\n+EFB3 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+EFB7 CRC                   C808975D (3356006237)\n+EFBB Compressed Size       000002A0 (672)\n+EFBF Uncompressed Size     000005A1 (1441)\n+EFC3 Filename Length       0037 (55)\n+EFC5 Extra Length          0000 (0)\n+EFC7 Comment Length        0000 (0)\n+EFC9 Disk Start            0000 (0)\n+EFCB Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+EFCD Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+EFD1 Local Header Offset   0000663E (26174)\n+EFD5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xEFD5: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F00C CENTRAL HEADER #26    02014B50 (33639248)\n+F010 Created Zip Spec      14 (20) '2.0'\n+F011 Created OS            03 (3) 'Unix'\n+F012 Extract Zip Spec      0A (10) '1.0'\n+F013 Extract OS            00 (0) 'MS-DOS'\n+F014 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F016 Compression Method    0008 (8) 'Deflated'\n+F018 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+F01C CRC                   20116D16 (538012950)\n+F020 Compressed Size       000006A1 (1697)\n+F024 Uncompressed Size     000016E1 (5857)\n+F028 Filename Length       0049 (73)\n+F02A Extra Length          0000 (0)\n+F02C Comment Length        0000 (0)\n+F02E Disk Start            0000 (0)\n+F030 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F032 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F036 Local Header Offset   00006933 (26931)\n+F03A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF03A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F083 CENTRAL HEADER #27    02014B50 (33639248)\n+F087 Created Zip Spec      14 (20) '2.0'\n+F088 Created OS            03 (3) 'Unix'\n+F089 Extract Zip Spec      0A (10) '1.0'\n+F08A Extract OS            00 (0) 'MS-DOS'\n+F08B General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F08D Compression Method    0008 (8) 'Deflated'\n+F08F Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F093 CRC                   6DE170BF (1843491007)\n+F097 Compressed Size       00000D85 (3461)\n+F09B Uncompressed Size     000023DA (9178)\n+F09F Filename Length       0041 (65)\n+F0A1 Extra Length          0000 (0)\n+F0A3 Comment Length        0000 (0)\n+F0A5 Disk Start            0000 (0)\n+F0A7 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F0A9 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F0AD Local Header Offset   0000703B (28731)\n+F0B1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF0B1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F0F2 CENTRAL HEADER #28    02014B50 (33639248)\n+F0F6 Created Zip Spec      14 (20) '2.0'\n+F0F7 Created OS            03 (3) 'Unix'\n+F0F8 Extract Zip Spec      0A (10) '1.0'\n+F0F9 Extract OS            00 (0) 'MS-DOS'\n+F0FA General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F0FC Compression Method    0008 (8) 'Deflated'\n+F0FE Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F102 CRC                   A98DCBF0 (2844642288)\n+F106 Compressed Size       00000B51 (2897)\n+F10A Uncompressed Size     00001F0C (7948)\n+F10E Filename Length       0038 (56)\n+F110 Extra Length          0000 (0)\n+F112 Comment Length        0000 (0)\n+F114 Disk Start            0000 (0)\n+F116 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F118 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F11C Local Header Offset   00007E1F (32287)\n+F120 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF120: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F158 CENTRAL HEADER #29    02014B50 (33639248)\n+F15C Created Zip Spec      14 (20) '2.0'\n+F15D Created OS            03 (3) 'Unix'\n+F15E Extract Zip Spec      0A (10) '1.0'\n+F15F Extract OS            00 (0) 'MS-DOS'\n+F160 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F162 Compression Method    0008 (8) 'Deflated'\n+F164 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F168 CRC                   B28B70F3 (2995482867)\n+F16C Compressed Size       00000BE6 (3046)\n+F170 Uncompressed Size     000022DF (8927)\n+F174 Filename Length       003F (63)\n+F176 Extra Length          0000 (0)\n+F178 Comment Length        0000 (0)\n+F17A Disk Start            0000 (0)\n+F17C Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F17E Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F182 Local Header Offset   000089C6 (35270)\n+F186 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF186: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F1C5 CENTRAL HEADER #30    02014B50 (33639248)\n+F1C9 Created Zip Spec      14 (20) '2.0'\n+F1CA Created OS            03 (3) 'Unix'\n+F1CB Extract Zip Spec      0A (10) '1.0'\n+F1CC Extract OS            00 (0) 'MS-DOS'\n+F1CD General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F1CF Compression Method    0008 (8) 'Deflated'\n+F1D1 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+F1D5 CRC                   F137D171 (4046967153)\n+F1D9 Compressed Size       000004EB (1259)\n+F1DD Uncompressed Size     00000A77 (2679)\n+F1E1 Filename Length       0036 (54)\n+F1E3 Extra Length          0000 (0)\n+F1E5 Comment Length        0000 (0)\n+F1E7 Disk Start            0000 (0)\n+F1E9 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F1EB Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F1EF Local Header Offset   00009609 (38409)\n+F1F3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF1F3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F229 CENTRAL HEADER #31    02014B50 (33639248)\n+F22D Created Zip Spec      14 (20) '2.0'\n+F22E Created OS            03 (3) 'Unix'\n+F22F Extract Zip Spec      0A (10) '1.0'\n+F230 Extract OS            00 (0) 'MS-DOS'\n+F231 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F233 Compression Method    0008 (8) 'Deflated'\n+F235 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+F239 CRC                   429A10E7 (1117393127)\n+F23D Compressed Size       00000C25 (3109)\n+F241 Uncompressed Size     00002206 (8710)\n+F245 Filename Length       0037 (55)\n+F247 Extra Length          0000 (0)\n+F249 Comment Length        0000 (0)\n+F24B Disk Start            0000 (0)\n+F24D Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F24F Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F253 Local Header Offset   00009B48 (39752)\n+F257 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF257: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F28E CENTRAL HEADER #32    02014B50 (33639248)\n+F292 Created Zip Spec      14 (20) '2.0'\n+F293 Created OS            03 (3) 'Unix'\n+F294 Extract Zip Spec      0A (10) '1.0'\n+F295 Extract OS            00 (0) 'MS-DOS'\n+F296 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F298 Compression Method    0008 (8) 'Deflated'\n+F29A Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F29E CRC                   DEC741C8 (3737600456)\n+F2A2 Compressed Size       000000B6 (182)\n+F2A6 Uncompressed Size     00000128 (296)\n+F2AA Filename Length       0043 (67)\n+F2AC Extra Length          0000 (0)\n+F2AE Comment Length        0000 (0)\n+F2B0 Disk Start            0000 (0)\n+F2B2 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F2B4 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F2B8 Local Header Offset   0000A7C2 (42946)\n+F2BC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF2BC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F2FF CENTRAL HEADER #33    02014B50 (33639248)\n+F303 Created Zip Spec      14 (20) '2.0'\n+F304 Created OS            03 (3) 'Unix'\n+F305 Extract Zip Spec      0A (10) '1.0'\n+F306 Extract OS            00 (0) 'MS-DOS'\n+F307 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F309 Compression Method    0008 (8) 'Deflated'\n+F30B Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F30F CRC                   D4D4C2C0 (3570713280)\n+F313 Compressed Size       00000653 (1619)\n+F317 Uncompressed Size     00001350 (4944)\n+F31B Filename Length       004B (75)\n+F31D Extra Length          0000 (0)\n+F31F Comment Length        0000 (0)\n+F321 Disk Start            0000 (0)\n+F323 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F325 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F329 Local Header Offset   0000A8D9 (43225)\n+F32D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF32D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F378 CENTRAL HEADER #34    02014B50 (33639248)\n+F37C Created Zip Spec      14 (20) '2.0'\n+F37D Created OS            03 (3) 'Unix'\n+F37E Extract Zip Spec      0A (10) '1.0'\n+F37F Extract OS            00 (0) 'MS-DOS'\n+F380 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F382 Compression Method    0008 (8) 'Deflated'\n+F384 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+F388 CRC                   7F142298 (2132026008)\n+F38C Compressed Size       00000A32 (2610)\n+F390 Uncompressed Size     00001BC8 (7112)\n+F394 Filename Length       0036 (54)\n+F396 Extra Length          0000 (0)\n+F398 Comment Length        0000 (0)\n+F39A Disk Start            0000 (0)\n+F39C Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F39E Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F3A2 Local Header Offset   0000AF95 (44949)\n+F3A6 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF3A6: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F3DC CENTRAL HEADER #35    02014B50 (33639248)\n+F3E0 Created Zip Spec      14 (20) '2.0'\n+F3E1 Created OS            03 (3) 'Unix'\n+F3E2 Extract Zip Spec      0A (10) '1.0'\n+F3E3 Extract OS            00 (0) 'MS-DOS'\n+F3E4 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F3E6 Compression Method    0008 (8) 'Deflated'\n+F3E8 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F3EC CRC                   2DCB2766 (768288614)\n+F3F0 Compressed Size       00000D1B (3355)\n+F3F4 Uncompressed Size     00002267 (8807)\n+F3F8 Filename Length       0033 (51)\n+F3FA Extra Length          0000 (0)\n+F3FC Comment Length        0000 (0)\n+F3FE Disk Start            0000 (0)\n+F400 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F402 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F406 Local Header Offset   0000BA1B (47643)\n+F40A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF40A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F43D CENTRAL HEADER #36    02014B50 (33639248)\n+F441 Created Zip Spec      14 (20) '2.0'\n+F442 Created OS            03 (3) 'Unix'\n+F443 Extract Zip Spec      0A (10) '1.0'\n+F444 Extract OS            00 (0) 'MS-DOS'\n+F445 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F447 Compression Method    0008 (8) 'Deflated'\n+F449 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+F44D CRC                   5EC9A7BB (1590273979)\n+F451 Compressed Size       000004B7 (1207)\n+F455 Uncompressed Size     00000F8C (3980)\n+F459 Filename Length       0053 (83)\n+F45B Extra Length          0000 (0)\n+F45D Comment Length        0000 (0)\n+F45F Disk Start            0000 (0)\n+F461 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F463 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F467 Local Header Offset   0000C787 (51079)\n+F46B Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF46B: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F4BE CENTRAL HEADER #37    02014B50 (33639248)\n+F4C2 Created Zip Spec      14 (20) '2.0'\n+F4C3 Created OS            03 (3) 'Unix'\n+F4C4 Extract Zip Spec      0A (10) '1.0'\n+F4C5 Extract OS            00 (0) 'MS-DOS'\n+F4C6 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F4C8 Compression Method    0008 (8) 'Deflated'\n+F4CA Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F4CE CRC                   93E7DA4A (2481445450)\n+F4D2 Compressed Size       00000213 (531)\n+F4D6 Uncompressed Size     0000056E (1390)\n+F4DA Filename Length       005D (93)\n+F4DC Extra Length          0000 (0)\n+F4DE Comment Length        0000 (0)\n+F4E0 Disk Start            0000 (0)\n+F4E2 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F4E4 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F4E8 Local Header Offset   0000CCAF (52399)\n+F4EC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF4EC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F549 CENTRAL HEADER #38    02014B50 (33639248)\n+F54D Created Zip Spec      14 (20) '2.0'\n+F54E Created OS            03 (3) 'Unix'\n+F54F Extract Zip Spec      0A (10) '1.0'\n+F550 Extract OS            00 (0) 'MS-DOS'\n+F551 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F553 Compression Method    0008 (8) 'Deflated'\n+F555 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+F559 CRC                   82D3B65C (2194912860)\n+F55D Compressed Size       000002DE (734)\n+F561 Uncompressed Size     00000621 (1569)\n+F565 Filename Length       0032 (50)\n+F567 Extra Length          0000 (0)\n+F569 Comment Length        0000 (0)\n+F56B Disk Start            0000 (0)\n+F56D Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F56F Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F573 Local Header Offset   0000CF3D (53053)\n+F577 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF577: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F5A9 CENTRAL HEADER #39    02014B50 (33639248)\n+F5AD Created Zip Spec      14 (20) '2.0'\n+F5AE Created OS            03 (3) 'Unix'\n+F5AF Extract Zip Spec      0A (10) '1.0'\n+F5B0 Extract OS            00 (0) 'MS-DOS'\n+F5B1 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F5B3 Compression Method    0008 (8) 'Deflated'\n+F5B5 Modification Time     5A3D4712 (1513965330) 'Wed Jan 29 08:56:36 2025'\n+F5B9 CRC                   FA425B0B (4198652683)\n+F5BD Compressed Size       00000EEF (3823)\n+F5C1 Uncompressed Size     00002C10 (11280)\n+F5C5 Filename Length       0032 (50)\n+F5C7 Extra Length          0000 (0)\n+F5C9 Comment Length        0000 (0)\n+F5CB Disk Start            0000 (0)\n+F5CD Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F5CF Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F5D3 Local Header Offset   0000D26B (53867)\n+F5D7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF5D7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F609 CENTRAL HEADER #40    02014B50 (33639248)\n+F60D Created Zip Spec      14 (20) '2.0'\n+F60E Created OS            03 (3) 'Unix'\n+F60F Extract Zip Spec      0A (10) '1.0'\n+F610 Extract OS            00 (0) 'MS-DOS'\n+F611 General Purpose Flag  0000 (0)\n+F613 Compression Method    0000 (0) 'Stored'\n+F615 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F619 CRC                   00000000 (0)\n+F61D Compressed Size       00000000 (0)\n+F621 Uncompressed Size     00000000 (0)\n+F625 Filename Length       000F (15)\n+F627 Extra Length          0000 (0)\n+F629 Comment Length        0000 (0)\n+F62B Disk Start            0000 (0)\n+F62D Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-F3EC Ext File Attributes   FFFF0010 (4294901776)\n+F62F Ext File Attributes   FFFF0010 (4294901776)\n      [Bit 4]               Directory\n      [Bits 16-24]          01FF (511) 'Unix attrib: rwxrwxrwx'\n      [Bits 28-31]          0F (15) 'Unknown Unix attrib'\n-F3F0 Local Header Offset   0000DF66 (57190)\n-F3F4 Filename              'XXXXXXXXXXXXXXX'\n+F633 Local Header Offset   0000E1AA (57770)\n+F637 Filename              'XXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xF3F4: Filename 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xF637: Filename 'XXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0xF3F4: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0xF637: Directory 'XXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0xF3CC: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xF60F: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXX'\n #\n \n-F403 CENTRAL HEADER #41    02014B50 (33639248)\n-F407 Created Zip Spec      14 (20) '2.0'\n-F408 Created OS            03 (3) 'Unix'\n-F409 Extract Zip Spec      0A (10) '1.0'\n-F40A Extract OS            00 (0) 'MS-DOS'\n-F40B General Purpose Flag  0000 (0)\n-F40D Compression Method    0000 (0) 'Stored'\n-F40F Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n-F413 CRC                   00000000 (0)\n-F417 Compressed Size       00000000 (0)\n-F41B Uncompressed Size     00000000 (0)\n-F41F Filename Length       001F (31)\n-F421 Extra Length          0000 (0)\n-F423 Comment Length        0000 (0)\n-F425 Disk Start            0000 (0)\n-F427 Int File Attributes   0000 (0)\n+F646 CENTRAL HEADER #41    02014B50 (33639248)\n+F64A Created Zip Spec      14 (20) '2.0'\n+F64B Created OS            03 (3) 'Unix'\n+F64C Extract Zip Spec      0A (10) '1.0'\n+F64D Extract OS            00 (0) 'MS-DOS'\n+F64E General Purpose Flag  0000 (0)\n+F650 Compression Method    0000 (0) 'Stored'\n+F652 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F656 CRC                   00000000 (0)\n+F65A Compressed Size       00000000 (0)\n+F65E Uncompressed Size     00000000 (0)\n+F662 Filename Length       001F (31)\n+F664 Extra Length          0000 (0)\n+F666 Comment Length        0000 (0)\n+F668 Disk Start            0000 (0)\n+F66A Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-F429 Ext File Attributes   FFFF0010 (4294901776)\n+F66C Ext File Attributes   FFFF0010 (4294901776)\n      [Bit 4]               Directory\n      [Bits 16-24]          01FF (511) 'Unix attrib: rwxrwxrwx'\n      [Bits 28-31]          0F (15) 'Unknown Unix attrib'\n-F42D Local Header Offset   0000DF93 (57235)\n-F431 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+F670 Local Header Offset   0000E1D7 (57815)\n+F674 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xF431: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xF674: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0xF431: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0xF674: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0xF409: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xF64C: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-F450 CENTRAL HEADER #42    02014B50 (33639248)\n-F454 Created Zip Spec      14 (20) '2.0'\n-F455 Created OS            03 (3) 'Unix'\n-F456 Extract Zip Spec      0A (10) '1.0'\n-F457 Extract OS            00 (0) 'MS-DOS'\n-F458 General Purpose Flag  0000 (0)\n-F45A Compression Method    0000 (0) 'Stored'\n-F45C Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n-F460 CRC                   00000000 (0)\n-F464 Compressed Size       00000000 (0)\n-F468 Uncompressed Size     00000000 (0)\n-F46C Filename Length       0033 (51)\n-F46E Extra Length          0000 (0)\n-F470 Comment Length        0000 (0)\n-F472 Disk Start            0000 (0)\n-F474 Int File Attributes   0000 (0)\n+F693 CENTRAL HEADER #42    02014B50 (33639248)\n+F697 Created Zip Spec      14 (20) '2.0'\n+F698 Created OS            03 (3) 'Unix'\n+F699 Extract Zip Spec      0A (10) '1.0'\n+F69A Extract OS            00 (0) 'MS-DOS'\n+F69B General Purpose Flag  0000 (0)\n+F69D Compression Method    0000 (0) 'Stored'\n+F69F Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F6A3 CRC                   00000000 (0)\n+F6A7 Compressed Size       00000000 (0)\n+F6AB Uncompressed Size     00000000 (0)\n+F6AF Filename Length       0033 (51)\n+F6B1 Extra Length          0000 (0)\n+F6B3 Comment Length        0000 (0)\n+F6B5 Disk Start            0000 (0)\n+F6B7 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n-F476 Ext File Attributes   FFFF0010 (4294901776)\n+F6B9 Ext File Attributes   FFFF0010 (4294901776)\n      [Bit 4]               Directory\n      [Bits 16-24]          01FF (511) 'Unix attrib: rwxrwxrwx'\n      [Bits 28-31]          0F (15) 'Unknown Unix attrib'\n-F47A Local Header Offset   0000DFD0 (57296)\n-F47E Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+F6BD Local Header Offset   0000E214 (57876)\n+F6C1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0xF47E: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0xF6C1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n-# ERROR: Offset 0xF47E: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n+# ERROR: Offset 0xF6C1: Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' must end in a '/'\n #        'External Attributes' flag this as a directory\n #\n-# WARNING: Offset 0xF456: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-\n-F4B1 CENTRAL HEADER #43    02014B50 (33639248)\n-F4B5 Created Zip Spec      14 (20) '2.0'\n-F4B6 Created OS            03 (3) 'Unix'\n-F4B7 Extract Zip Spec      0A (10) '1.0'\n-F4B8 Extract OS            00 (0) 'MS-DOS'\n-F4B9 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F4BB Compression Method    0008 (8) 'Deflated'\n-F4BD Modification Time     583D90D2 (1480429778) 'Mon Jan 29 18:06:36 2024'\n-F4C1 CRC                   51873E5B (1367817819)\n-F4C5 Compressed Size       0000028D (653)\n-F4C9 Uncompressed Size     00000A93 (2707)\n-F4CD Filename Length       003A (58)\n-F4CF Extra Length          0000 (0)\n-F4D1 Comment Length        0000 (0)\n-F4D3 Disk Start            0000 (0)\n-F4D5 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-F4D7 Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F4DB Local Header Offset   0000E021 (57377)\n-F4DF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xF4DF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-\n-F519 CENTRAL HEADER #44    02014B50 (33639248)\n-F51D Created Zip Spec      14 (20) '2.0'\n-F51E Created OS            03 (3) 'Unix'\n-F51F Extract Zip Spec      0A (10) '1.0'\n-F520 Extract OS            00 (0) 'MS-DOS'\n-F521 General Purpose Flag  0000 (0)\n-     [Bits 1-2]            0 'Normal Compression'\n-F523 Compression Method    0008 (8) 'Deflated'\n-F525 Modification Time     583D90DC (1480429788) 'Mon Jan 29 18:06:56 2024'\n-F529 CRC                   E462CA6E (3831679598)\n-F52D Compressed Size       0000006F (111)\n-F531 Uncompressed Size     00000078 (120)\n-F535 Filename Length       0041 (65)\n-F537 Extra Length          0000 (0)\n-F539 Comment Length        0000 (0)\n-F53B Disk Start            0000 (0)\n-F53D Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-F53F Ext File Attributes   81A40000 (2175008768)\n-     [Bits 16-24]          01A4 (420) 'Unix attrib: rw-r--r--'\n-     [Bits 28-31]          08 (8) 'Regular File'\n-F543 Local Header Offset   0000E306 (58118)\n-F547 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0xF547: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n+# WARNING: Offset 0xF699: 'Extract Zip Spec' is '1.0'. Need value >= '2.0' for Directory 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n \n-F588 END CENTRAL HEADER    06054B50 (101010256)\n-F58C Number of this disk   0000 (0)\n-F58E Central Dir Disk no   0000 (0)\n-F590 Entries in this disk  002C (44)\n-F592 Total Entries         002C (44)\n-F594 Size of Central Dir   000011B4 (4532)\n-F598 Offset to Central Dir 0000E3D4 (58324)\n-F59C Comment Length        0000 (0)\n+F6F4 CENTRAL HEADER #43    02014B50 (33639248)\n+F6F8 Created Zip Spec      14 (20) '2.0'\n+F6F9 Created OS            03 (3) 'Unix'\n+F6FA Extract Zip Spec      0A (10) '1.0'\n+F6FB Extract OS            00 (0) 'MS-DOS'\n+F6FC General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F6FE Compression Method    0008 (8) 'Deflated'\n+F700 Modification Time     5A3D470B (1513965323) 'Wed Jan 29 08:56:22 2025'\n+F704 CRC                   51873E5B (1367817819)\n+F708 Compressed Size       0000028D (653)\n+F70C Uncompressed Size     00000A93 (2707)\n+F710 Filename Length       003A (58)\n+F712 Extra Length          0000 (0)\n+F714 Comment Length        0000 (0)\n+F716 Disk Start            0000 (0)\n+F718 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F71A Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F71E Local Header Offset   0000E265 (57957)\n+F722 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF722: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F75C CENTRAL HEADER #44    02014B50 (33639248)\n+F760 Created Zip Spec      14 (20) '2.0'\n+F761 Created OS            03 (3) 'Unix'\n+F762 Extract Zip Spec      0A (10) '1.0'\n+F763 Extract OS            00 (0) 'MS-DOS'\n+F764 General Purpose Flag  0000 (0)\n+     [Bits 1-2]            0 'Normal Compression'\n+F766 Compression Method    0008 (8) 'Deflated'\n+F768 Modification Time     5A3D4713 (1513965331) 'Wed Jan 29 08:56:38 2025'\n+F76C CRC                   54CED24B (1422840395)\n+F770 Compressed Size       0000006E (110)\n+F774 Uncompressed Size     00000078 (120)\n+F778 Filename Length       0041 (65)\n+F77A Extra Length          0000 (0)\n+F77C Comment Length        0000 (0)\n+F77E Disk Start            0000 (0)\n+F780 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+F782 Ext File Attributes   81B40000 (2176057344)\n+     [Bits 16-24]          01B4 (436) 'Unix attrib: rw-rw-r--'\n+     [Bits 28-31]          08 (8) 'Regular File'\n+F786 Local Header Offset   0000E54A (58698)\n+F78A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0xF78A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+\n+F7CB END CENTRAL HEADER    06054B50 (101010256)\n+F7CF Number of this disk   0000 (0)\n+F7D1 Central Dir Disk no   0000 (0)\n+F7D3 Entries in this disk  002C (44)\n+F7D5 Total Entries         002C (44)\n+F7D7 Size of Central Dir   000011B4 (4532)\n+F7DB Offset to Central Dir 0000E617 (58903)\n+F7DF Comment Length        0000 (0)\n #\n # Error Count: 9\n # Warning Count: 97\n #\n # Done\n"}, {"source1": "META-INF/MANIFEST.MF", "source2": "META-INF/MANIFEST.MF", "unified_diff": "@@ -1,6 +1,6 @@\n Manifest-Version: 1.0\r\n Archiver-Version: Plexus Archiver\r\n-Built-By: runner\r\n-Created-By: Apache Maven 3.8.8\r\n-Build-Jdk: 1.8.0_392\r\n+Created-By: Apache Maven 3.6.3\r\n+Built-By: aman\r\n+Build-Jdk: 17.0.8.1\r\n \r\n"}, {"source1": "dev/langchain4j/model/openai/OpenAiModerationModel.class", "source2": "dev/langchain4j/model/openai/OpenAiModerationModel.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,361 +1,351 @@\n-  SHA-256 checksum 1fdb9a26964facfb7e0258218e4bf8418f9e5479bd5addd44d74e9504016c285\n+  SHA-256 checksum 5be4a1e836baad727dde31b4aabcbcf181ea90d192ff49ed07cb55e6caef13c1\n   Compiled from \"OpenAiModerationModel.java\"\n public class dev.langchain4j.model.openai.OpenAiModerationModel implements dev.langchain4j.model.moderation.ModerationModel\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #68                         // dev/langchain4j/model/openai/OpenAiModerationModel\n-  super_class: #69                        // java/lang/Object\n+  this_class: #84                         // dev/langchain4j/model/openai/OpenAiModerationModel\n+  super_class: #6                         // java/lang/Object\n   interfaces: 1, fields: 3, methods: 7, attributes: 3\n Constant pool:\n-    #1 = Class              #141          // dev/langchain4j/model/openai/OpenAiModelName\n-    #2 = Class              #142          // dev/langchain4j/model/openai/InternalOpenAiHelper\n-    #3 = Methodref          #69.#143      // java/lang/Object.\"<init>\":()V\n-    #4 = String             #144          // https://api.openai.com/v1\n-    #5 = Methodref          #145.#146     // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-    #6 = Class              #147          // java/lang/String\n-    #7 = String             #148          // demo\n-    #8 = Methodref          #6.#149       // java/lang/String.equals:(Ljava/lang/Object;)Z\n-    #9 = String             #150          // http://langchain4j.dev/demo/openai/v1\n-   #10 = Long               60l\n-   #12 = Methodref          #13.#151      // java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n-   #13 = Class              #152          // java/time/Duration\n-   #14 = Methodref          #153.#154     // dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #15 = Methodref          #155.#156     // dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #16 = Methodref          #155.#157     // dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #17 = Methodref          #155.#158     // dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #18 = Methodref          #155.#159     // dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #19 = Methodref          #155.#160     // dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #20 = Methodref          #155.#161     // dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #21 = Methodref          #155.#162     // dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #22 = Methodref          #155.#163     // dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #23 = Methodref          #155.#164     // dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #24 = Methodref          #155.#165     // dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #25 = Methodref          #155.#166     // dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n-   #26 = Fieldref           #68.#167      // dev/langchain4j/model/openai/OpenAiModerationModel.client:Ldev/ai4j/openai4j/OpenAiClient;\n-   #27 = String             #168          // text-moderation-latest\n-   #28 = Fieldref           #68.#169      // dev/langchain4j/model/openai/OpenAiModerationModel.modelName:Ljava/lang/String;\n-   #29 = Methodref          #30.#170      // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-   #30 = Class              #171          // java/lang/Integer\n-   #31 = Fieldref           #68.#172      // dev/langchain4j/model/openai/OpenAiModerationModel.maxRetries:Ljava/lang/Integer;\n-   #32 = Methodref          #173.#174     // java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-   #33 = Methodref          #68.#175      // dev/langchain4j/model/openai/OpenAiModerationModel.moderateInternal:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n-   #34 = Methodref          #176.#177     // dev/ai4j/openai4j/moderation/ModerationRequest.builder:()Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-   #35 = Methodref          #178.#179     // dev/ai4j/openai4j/moderation/ModerationRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-   #36 = Methodref          #178.#180     // dev/ai4j/openai4j/moderation/ModerationRequest$Builder.input:(Ljava/util/List;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-   #37 = Methodref          #178.#181     // dev/ai4j/openai4j/moderation/ModerationRequest$Builder.build:()Ldev/ai4j/openai4j/moderation/ModerationRequest;\n-   #38 = InvokeDynamic      #0:#187       // #0:call:(Ldev/langchain4j/model/openai/OpenAiModerationModel;Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ljava/util/concurrent/Callable;\n-   #39 = Methodref          #30.#188      // java/lang/Integer.intValue:()I\n-   #40 = Methodref          #189.#190     // dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-   #41 = Class              #191          // dev/ai4j/openai4j/moderation/ModerationResponse\n-   #42 = Methodref          #41.#192      // dev/ai4j/openai4j/moderation/ModerationResponse.results:()Ljava/util/List;\n-   #43 = InterfaceMethodref #58.#193      // java/util/List.iterator:()Ljava/util/Iterator;\n-   #44 = InterfaceMethodref #194.#195     // java/util/Iterator.hasNext:()Z\n-   #45 = InterfaceMethodref #194.#196     // java/util/Iterator.next:()Ljava/lang/Object;\n-   #46 = Class              #197          // dev/ai4j/openai4j/moderation/ModerationResult\n-   #47 = Methodref          #46.#198      // dev/ai4j/openai4j/moderation/ModerationResult.isFlagged:()Ljava/lang/Boolean;\n-   #48 = Methodref          #199.#200     // java/lang/Boolean.booleanValue:()Z\n-   #49 = InterfaceMethodref #58.#201      // java/util/List.get:(I)Ljava/lang/Object;\n-   #50 = Methodref          #202.#203     // dev/langchain4j/model/moderation/Moderation.flagged:(Ljava/lang/String;)Ldev/langchain4j/model/moderation/Moderation;\n-   #51 = Methodref          #204.#205     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n-   #52 = Methodref          #202.#206     // dev/langchain4j/model/moderation/Moderation.notFlagged:()Ldev/langchain4j/model/moderation/Moderation;\n-   #53 = InterfaceMethodref #58.#207      // java/util/List.stream:()Ljava/util/stream/Stream;\n-   #54 = InvokeDynamic      #1:#211       // #1:apply:()Ljava/util/function/Function;\n-   #55 = InterfaceMethodref #212.#213     // java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-   #56 = Methodref          #214.#215     // java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-   #57 = InterfaceMethodref #212.#216     // java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-   #58 = Class              #217          // java/util/List\n-   #59 = Methodref          #68.#218      // dev/langchain4j/model/openai/OpenAiModerationModel.builder:()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-   #60 = Methodref          #65.#219      // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-   #61 = Methodref          #65.#220      // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n-   #62 = Class              #221          // dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n-   #63 = InvokeDynamic      #2:#224       // #2:get:()Ljava/util/function/Supplier;\n-   #64 = Methodref          #225.#226     // dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-   #65 = Class              #227          // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n-   #66 = Methodref          #153.#228     // dev/ai4j/openai4j/OpenAiClient.moderation:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n-   #67 = InterfaceMethodref #229.#230     // dev/ai4j/openai4j/SyncOrAsync.execute:()Ljava/lang/Object;\n-   #68 = Class              #231          // dev/langchain4j/model/openai/OpenAiModerationModel\n-   #69 = Class              #232          // java/lang/Object\n-   #70 = Class              #233          // dev/langchain4j/model/moderation/ModerationModel\n-   #71 = Utf8               OpenAiModerationModelBuilder\n-   #72 = Utf8               InnerClasses\n-   #73 = Utf8               client\n-   #74 = Utf8               Ldev/ai4j/openai4j/OpenAiClient;\n-   #75 = Utf8               modelName\n-   #76 = Utf8               Ljava/lang/String;\n-   #77 = Utf8               maxRetries\n-   #78 = Utf8               Ljava/lang/Integer;\n-   #79 = Utf8               <init>\n-   #80 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n-   #81 = Utf8               Code\n-   #82 = Utf8               LineNumberTable\n-   #83 = Utf8               LocalVariableTable\n-   #84 = Utf8               this\n-   #85 = Utf8               Ldev/langchain4j/model/openai/OpenAiModerationModel;\n-   #86 = Utf8               baseUrl\n-   #87 = Utf8               apiKey\n-   #88 = Utf8               organizationId\n-   #89 = Utf8               timeout\n-   #90 = Utf8               Ljava/time/Duration;\n-   #91 = Utf8               proxy\n-   #92 = Utf8               Ljava/net/Proxy;\n-   #93 = Utf8               logRequests\n-   #94 = Utf8               Ljava/lang/Boolean;\n-   #95 = Utf8               logResponses\n-   #96 = Utf8               StackMapTable\n-   #97 = Class              #231          // dev/langchain4j/model/openai/OpenAiModerationModel\n-   #98 = Class              #147          // java/lang/String\n-   #99 = Class              #152          // java/time/Duration\n-  #100 = Class              #171          // java/lang/Integer\n-  #101 = Class              #234          // java/net/Proxy\n-  #102 = Class              #235          // java/lang/Boolean\n-  #103 = Utf8               moderate\n-  #104 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/Response;\n-  #105 = Utf8               text\n-  #106 = Utf8               Signature\n-  #107 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n-  #108 = Utf8               moderateInternal\n-  #109 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n-  #110 = Utf8               moderationResult\n-  #111 = Utf8               Ldev/ai4j/openai4j/moderation/ModerationResult;\n-  #112 = Utf8               inputs\n-  #113 = Utf8               Ljava/util/List;\n-  #114 = Utf8               request\n-  #115 = Utf8               Ldev/ai4j/openai4j/moderation/ModerationRequest;\n-  #116 = Utf8               response\n-  #117 = Utf8               Ldev/ai4j/openai4j/moderation/ModerationResponse;\n-  #118 = Utf8               i\n-  #119 = Utf8               I\n-  #120 = Utf8               LocalVariableTypeTable\n-  #121 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n-  #122 = Class              #217          // java/util/List\n-  #123 = Class              #236          // dev/ai4j/openai4j/moderation/ModerationRequest\n-  #124 = Class              #191          // dev/ai4j/openai4j/moderation/ModerationResponse\n-  #125 = Class              #237          // java/util/Iterator\n-  #126 = Class              #197          // dev/ai4j/openai4j/moderation/ModerationResult\n-  #127 = Utf8               (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n-  #128 = Utf8               messages\n-  #129 = Utf8               Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n-  #130 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n-  #131 = Utf8               withApiKey\n-  #132 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel;\n-  #133 = Utf8               builder\n-  #134 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-  #135 = Utf8               lambda$moderateInternal$0\n-  #136 = Utf8               (Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n-  #137 = Utf8               Exceptions\n-  #138 = Class              #238          // java/lang/Exception\n-  #139 = Utf8               SourceFile\n-  #140 = Utf8               OpenAiModerationModel.java\n-  #141 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n-  #142 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n-  #143 = NameAndType        #79:#239      // \"<init>\":()V\n-  #144 = Utf8               https://api.openai.com/v1\n-  #145 = Class              #240          // dev/langchain4j/internal/Utils\n-  #146 = NameAndType        #241:#242     // getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-  #147 = Utf8               java/lang/String\n-  #148 = Utf8               demo\n-  #149 = NameAndType        #243:#244     // equals:(Ljava/lang/Object;)Z\n-  #150 = Utf8               http://langchain4j.dev/demo/openai/v1\n-  #151 = NameAndType        #245:#246     // ofSeconds:(J)Ljava/time/Duration;\n-  #152 = Utf8               java/time/Duration\n-  #153 = Class              #247          // dev/ai4j/openai4j/OpenAiClient\n-  #154 = NameAndType        #133:#249     // builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #155 = Class              #250          // dev/ai4j/openai4j/OpenAiClient$Builder\n-  #156 = NameAndType        #251:#252     // openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #157 = NameAndType        #86:#252      // baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #158 = NameAndType        #88:#252      // organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #159 = NameAndType        #253:#254     // callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #160 = NameAndType        #255:#254     // connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #161 = NameAndType        #256:#254     // readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #162 = NameAndType        #257:#254     // writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #163 = NameAndType        #91:#258      // proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #164 = NameAndType        #93:#259      // logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #165 = NameAndType        #95:#259      // logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #166 = NameAndType        #260:#261     // build:()Ldev/ai4j/openai4j/OpenAiClient;\n-  #167 = NameAndType        #73:#74       // client:Ldev/ai4j/openai4j/OpenAiClient;\n-  #168 = Utf8               text-moderation-latest\n-  #169 = NameAndType        #75:#76       // modelName:Ljava/lang/String;\n-  #170 = NameAndType        #262:#263     // valueOf:(I)Ljava/lang/Integer;\n-  #171 = Utf8               java/lang/Integer\n-  #172 = NameAndType        #77:#78       // maxRetries:Ljava/lang/Integer;\n-  #173 = Class              #264          // java/util/Collections\n-  #174 = NameAndType        #265:#266     // singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-  #175 = NameAndType        #108:#109     // moderateInternal:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n-  #176 = Class              #236          // dev/ai4j/openai4j/moderation/ModerationRequest\n-  #177 = NameAndType        #133:#267     // builder:()Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-  #178 = Class              #268          // dev/ai4j/openai4j/moderation/ModerationRequest$Builder\n-  #179 = NameAndType        #269:#270     // model:(Ljava/lang/String;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-  #180 = NameAndType        #271:#272     // input:(Ljava/util/List;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-  #181 = NameAndType        #260:#273     // build:()Ldev/ai4j/openai4j/moderation/ModerationRequest;\n-  #182 = Utf8               BootstrapMethods\n-  #183 = MethodHandle       6:#274        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #184 = MethodType         #275          //  ()Ljava/lang/Object;\n-  #185 = MethodHandle       7:#276        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiModerationModel.lambda$moderateInternal$0:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n-  #186 = MethodType         #277          //  ()Ldev/ai4j/openai4j/moderation/ModerationResponse;\n-  #187 = NameAndType        #278:#279     // call:(Ldev/langchain4j/model/openai/OpenAiModerationModel;Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ljava/util/concurrent/Callable;\n-  #188 = NameAndType        #280:#281     // intValue:()I\n-  #189 = Class              #282          // dev/langchain4j/internal/RetryUtils\n-  #190 = NameAndType        #283:#284     // withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-  #191 = Utf8               dev/ai4j/openai4j/moderation/ModerationResponse\n-  #192 = NameAndType        #285:#286     // results:()Ljava/util/List;\n-  #193 = NameAndType        #287:#288     // iterator:()Ljava/util/Iterator;\n-  #194 = Class              #237          // java/util/Iterator\n-  #195 = NameAndType        #289:#290     // hasNext:()Z\n-  #196 = NameAndType        #291:#275     // next:()Ljava/lang/Object;\n-  #197 = Utf8               dev/ai4j/openai4j/moderation/ModerationResult\n-  #198 = NameAndType        #292:#293     // isFlagged:()Ljava/lang/Boolean;\n-  #199 = Class              #235          // java/lang/Boolean\n-  #200 = NameAndType        #294:#290     // booleanValue:()Z\n-  #201 = NameAndType        #295:#296     // get:(I)Ljava/lang/Object;\n-  #202 = Class              #297          // dev/langchain4j/model/moderation/Moderation\n-  #203 = NameAndType        #298:#299     // flagged:(Ljava/lang/String;)Ldev/langchain4j/model/moderation/Moderation;\n-  #204 = Class              #300          // dev/langchain4j/model/output/Response\n-  #205 = NameAndType        #301:#302     // from:(Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n-  #206 = NameAndType        #303:#304     // notFlagged:()Ldev/langchain4j/model/moderation/Moderation;\n-  #207 = NameAndType        #305:#306     // stream:()Ljava/util/stream/Stream;\n-  #208 = MethodType         #307          //  (Ljava/lang/Object;)Ljava/lang/Object;\n-  #209 = MethodHandle       9:#308        // REF_invokeInterface dev/langchain4j/data/message/ChatMessage.text:()Ljava/lang/String;\n-  #210 = MethodType         #309          //  (Ldev/langchain4j/data/message/ChatMessage;)Ljava/lang/String;\n-  #211 = NameAndType        #310:#311     // apply:()Ljava/util/function/Function;\n-  #212 = Class              #312          // java/util/stream/Stream\n-  #213 = NameAndType        #313:#314     // map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-  #214 = Class              #315          // java/util/stream/Collectors\n-  #215 = NameAndType        #316:#317     // toList:()Ljava/util/stream/Collector;\n-  #216 = NameAndType        #318:#319     // collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-  #217 = Utf8               java/util/List\n-  #218 = NameAndType        #133:#134     // builder:()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-  #219 = NameAndType        #87:#320      // apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-  #220 = NameAndType        #260:#321     // build:()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n-  #221 = Utf8               dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n-  #222 = MethodHandle       8:#322        // REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.\"<init>\":()V\n-  #223 = MethodType         #134          //  ()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-  #224 = NameAndType        #295:#323     // get:()Ljava/util/function/Supplier;\n-  #225 = Class              #324          // dev/langchain4j/spi/ServiceHelper\n-  #226 = NameAndType        #325:#326     // loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #227 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n-  #228 = NameAndType        #327:#328     // moderation:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n-  #229 = Class              #329          // dev/ai4j/openai4j/SyncOrAsync\n-  #230 = NameAndType        #330:#275     // execute:()Ljava/lang/Object;\n-  #231 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel\n-  #232 = Utf8               java/lang/Object\n-  #233 = Utf8               dev/langchain4j/model/moderation/ModerationModel\n-  #234 = Utf8               java/net/Proxy\n-  #235 = Utf8               java/lang/Boolean\n-  #236 = Utf8               dev/ai4j/openai4j/moderation/ModerationRequest\n-  #237 = Utf8               java/util/Iterator\n-  #238 = Utf8               java/lang/Exception\n-  #239 = Utf8               ()V\n-  #240 = Utf8               dev/langchain4j/internal/Utils\n-  #241 = Utf8               getOrDefault\n-  #242 = Utf8               (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-  #243 = Utf8               equals\n-  #244 = Utf8               (Ljava/lang/Object;)Z\n-  #245 = Utf8               ofSeconds\n-  #246 = Utf8               (J)Ljava/time/Duration;\n-  #247 = Utf8               dev/ai4j/openai4j/OpenAiClient\n-  #248 = Utf8               Builder\n-  #249 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #250 = Utf8               dev/ai4j/openai4j/OpenAiClient$Builder\n-  #251 = Utf8               openAiApiKey\n-  #252 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #253 = Utf8               callTimeout\n-  #254 = Utf8               (Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #255 = Utf8               connectTimeout\n-  #256 = Utf8               readTimeout\n-  #257 = Utf8               writeTimeout\n-  #258 = Utf8               (Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #259 = Utf8               (Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #260 = Utf8               build\n-  #261 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient;\n-  #262 = Utf8               valueOf\n-  #263 = Utf8               (I)Ljava/lang/Integer;\n-  #264 = Utf8               java/util/Collections\n-  #265 = Utf8               singletonList\n-  #266 = Utf8               (Ljava/lang/Object;)Ljava/util/List;\n-  #267 = Utf8               ()Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-  #268 = Utf8               dev/ai4j/openai4j/moderation/ModerationRequest$Builder\n-  #269 = Utf8               model\n-  #270 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-  #271 = Utf8               input\n-  #272 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-  #273 = Utf8               ()Ldev/ai4j/openai4j/moderation/ModerationRequest;\n-  #274 = Methodref          #331.#332     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #275 = Utf8               ()Ljava/lang/Object;\n-  #276 = Methodref          #68.#333      // dev/langchain4j/model/openai/OpenAiModerationModel.lambda$moderateInternal$0:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n-  #277 = Utf8               ()Ldev/ai4j/openai4j/moderation/ModerationResponse;\n-  #278 = Utf8               call\n-  #279 = Utf8               (Ldev/langchain4j/model/openai/OpenAiModerationModel;Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ljava/util/concurrent/Callable;\n-  #280 = Utf8               intValue\n-  #281 = Utf8               ()I\n-  #282 = Utf8               dev/langchain4j/internal/RetryUtils\n-  #283 = Utf8               withRetry\n-  #284 = Utf8               (Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-  #285 = Utf8               results\n-  #286 = Utf8               ()Ljava/util/List;\n-  #287 = Utf8               iterator\n-  #288 = Utf8               ()Ljava/util/Iterator;\n-  #289 = Utf8               hasNext\n-  #290 = Utf8               ()Z\n-  #291 = Utf8               next\n-  #292 = Utf8               isFlagged\n-  #293 = Utf8               ()Ljava/lang/Boolean;\n-  #294 = Utf8               booleanValue\n-  #295 = Utf8               get\n-  #296 = Utf8               (I)Ljava/lang/Object;\n-  #297 = Utf8               dev/langchain4j/model/moderation/Moderation\n-  #298 = Utf8               flagged\n-  #299 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/moderation/Moderation;\n-  #300 = Utf8               dev/langchain4j/model/output/Response\n-  #301 = Utf8               from\n-  #302 = Utf8               (Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n-  #303 = Utf8               notFlagged\n-  #304 = Utf8               ()Ldev/langchain4j/model/moderation/Moderation;\n-  #305 = Utf8               stream\n-  #306 = Utf8               ()Ljava/util/stream/Stream;\n-  #307 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n-  #308 = InterfaceMethodref #334.#335     // dev/langchain4j/data/message/ChatMessage.text:()Ljava/lang/String;\n-  #309 = Utf8               (Ldev/langchain4j/data/message/ChatMessage;)Ljava/lang/String;\n-  #310 = Utf8               apply\n-  #311 = Utf8               ()Ljava/util/function/Function;\n-  #312 = Utf8               java/util/stream/Stream\n-  #313 = Utf8               map\n-  #314 = Utf8               (Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-  #315 = Utf8               java/util/stream/Collectors\n-  #316 = Utf8               toList\n-  #317 = Utf8               ()Ljava/util/stream/Collector;\n-  #318 = Utf8               collect\n-  #319 = Utf8               (Ljava/util/stream/Collector;)Ljava/lang/Object;\n-  #320 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-  #321 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n-  #322 = Methodref          #65.#143      // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.\"<init>\":()V\n-  #323 = Utf8               ()Ljava/util/function/Supplier;\n-  #324 = Utf8               dev/langchain4j/spi/ServiceHelper\n-  #325 = Utf8               loadFactoryService\n-  #326 = Utf8               (Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #327 = Utf8               moderation\n-  #328 = Utf8               (Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n-  #329 = Utf8               dev/ai4j/openai4j/SyncOrAsync\n-  #330 = Utf8               execute\n-  #331 = Class              #336          // java/lang/invoke/LambdaMetafactory\n-  #332 = NameAndType        #337:#340     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #333 = NameAndType        #135:#136     // lambda$moderateInternal$0:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n-  #334 = Class              #341          // dev/langchain4j/data/message/ChatMessage\n-  #335 = NameAndType        #105:#342     // text:()Ljava/lang/String;\n-  #336 = Utf8               java/lang/invoke/LambdaMetafactory\n-  #337 = Utf8               metafactory\n-  #338 = Class              #344          // java/lang/invoke/MethodHandles$Lookup\n-  #339 = Utf8               Lookup\n-  #340 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #341 = Utf8               dev/langchain4j/data/message/ChatMessage\n-  #342 = Utf8               ()Ljava/lang/String;\n-  #343 = Class              #345          // java/lang/invoke/MethodHandles\n-  #344 = Utf8               java/lang/invoke/MethodHandles$Lookup\n-  #345 = Utf8               java/lang/invoke/MethodHandles\n+    #1 = Class              #2            // dev/langchain4j/model/openai/OpenAiModelName\n+    #2 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n+    #3 = Class              #4            // dev/langchain4j/model/openai/InternalOpenAiHelper\n+    #4 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n+    #5 = Methodref          #6.#7         // java/lang/Object.\"<init>\":()V\n+    #6 = Class              #8            // java/lang/Object\n+    #7 = NameAndType        #9:#10        // \"<init>\":()V\n+    #8 = Utf8               java/lang/Object\n+    #9 = Utf8               <init>\n+   #10 = Utf8               ()V\n+   #11 = String             #12           // https://api.openai.com/v1\n+   #12 = Utf8               https://api.openai.com/v1\n+   #13 = Methodref          #14.#15       // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #14 = Class              #16           // dev/langchain4j/internal/Utils\n+   #15 = NameAndType        #17:#18       // getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #16 = Utf8               dev/langchain4j/internal/Utils\n+   #17 = Utf8               getOrDefault\n+   #18 = Utf8               (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #19 = Class              #20           // java/lang/String\n+   #20 = Utf8               java/lang/String\n+   #21 = String             #22           // demo\n+   #22 = Utf8               demo\n+   #23 = Methodref          #19.#24       // java/lang/String.equals:(Ljava/lang/Object;)Z\n+   #24 = NameAndType        #25:#26       // equals:(Ljava/lang/Object;)Z\n+   #25 = Utf8               equals\n+   #26 = Utf8               (Ljava/lang/Object;)Z\n+   #27 = String             #28           // http://langchain4j.dev/demo/openai/v1\n+   #28 = Utf8               http://langchain4j.dev/demo/openai/v1\n+   #29 = Long               60l\n+   #31 = Methodref          #32.#33       // java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n+   #32 = Class              #34           // java/time/Duration\n+   #33 = NameAndType        #35:#36       // ofSeconds:(J)Ljava/time/Duration;\n+   #34 = Utf8               java/time/Duration\n+   #35 = Utf8               ofSeconds\n+   #36 = Utf8               (J)Ljava/time/Duration;\n+   #37 = Methodref          #38.#39       // dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #38 = Class              #40           // dev/ai4j/openai4j/OpenAiClient\n+   #39 = NameAndType        #41:#42       // builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #40 = Utf8               dev/ai4j/openai4j/OpenAiClient\n+   #41 = Utf8               builder\n+   #42 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #43 = Methodref          #44.#45       // dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #44 = Class              #46           // dev/ai4j/openai4j/OpenAiClient$Builder\n+   #45 = NameAndType        #47:#48       // openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #46 = Utf8               dev/ai4j/openai4j/OpenAiClient$Builder\n+   #47 = Utf8               openAiApiKey\n+   #48 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #49 = Methodref          #44.#50       // dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #50 = NameAndType        #51:#48       // baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #51 = Utf8               baseUrl\n+   #52 = Methodref          #44.#53       // dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #53 = NameAndType        #54:#48       // organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #54 = Utf8               organizationId\n+   #55 = Methodref          #44.#56       // dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #56 = NameAndType        #57:#58       // callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #57 = Utf8               callTimeout\n+   #58 = Utf8               (Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #59 = Methodref          #44.#60       // dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #60 = NameAndType        #61:#58       // connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #61 = Utf8               connectTimeout\n+   #62 = Methodref          #44.#63       // dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #63 = NameAndType        #64:#58       // readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #64 = Utf8               readTimeout\n+   #65 = Methodref          #44.#66       // dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #66 = NameAndType        #67:#58       // writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #67 = Utf8               writeTimeout\n+   #68 = Methodref          #44.#69       // dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #69 = NameAndType        #70:#71       // proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #70 = Utf8               proxy\n+   #71 = Utf8               (Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #72 = Methodref          #44.#73       // dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #73 = NameAndType        #74:#75       // logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #74 = Utf8               logRequests\n+   #75 = Utf8               (Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #76 = Methodref          #44.#77       // dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #77 = NameAndType        #78:#75       // logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #78 = Utf8               logResponses\n+   #79 = Methodref          #44.#80       // dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n+   #80 = NameAndType        #81:#82       // build:()Ldev/ai4j/openai4j/OpenAiClient;\n+   #81 = Utf8               build\n+   #82 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient;\n+   #83 = Fieldref           #84.#85       // dev/langchain4j/model/openai/OpenAiModerationModel.client:Ldev/ai4j/openai4j/OpenAiClient;\n+   #84 = Class              #86           // dev/langchain4j/model/openai/OpenAiModerationModel\n+   #85 = NameAndType        #87:#88       // client:Ldev/ai4j/openai4j/OpenAiClient;\n+   #86 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel\n+   #87 = Utf8               client\n+   #88 = Utf8               Ldev/ai4j/openai4j/OpenAiClient;\n+   #89 = String             #90           // text-moderation-latest\n+   #90 = Utf8               text-moderation-latest\n+   #91 = Fieldref           #84.#92       // dev/langchain4j/model/openai/OpenAiModerationModel.modelName:Ljava/lang/String;\n+   #92 = NameAndType        #93:#94       // modelName:Ljava/lang/String;\n+   #93 = Utf8               modelName\n+   #94 = Utf8               Ljava/lang/String;\n+   #95 = Methodref          #96.#97       // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+   #96 = Class              #98           // java/lang/Integer\n+   #97 = NameAndType        #99:#100      // valueOf:(I)Ljava/lang/Integer;\n+   #98 = Utf8               java/lang/Integer\n+   #99 = Utf8               valueOf\n+  #100 = Utf8               (I)Ljava/lang/Integer;\n+  #101 = Fieldref           #84.#102      // dev/langchain4j/model/openai/OpenAiModerationModel.maxRetries:Ljava/lang/Integer;\n+  #102 = NameAndType        #103:#104     // maxRetries:Ljava/lang/Integer;\n+  #103 = Utf8               maxRetries\n+  #104 = Utf8               Ljava/lang/Integer;\n+  #105 = Methodref          #106.#107     // java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+  #106 = Class              #108          // java/util/Collections\n+  #107 = NameAndType        #109:#110     // singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+  #108 = Utf8               java/util/Collections\n+  #109 = Utf8               singletonList\n+  #110 = Utf8               (Ljava/lang/Object;)Ljava/util/List;\n+  #111 = Methodref          #84.#112      // dev/langchain4j/model/openai/OpenAiModerationModel.moderateInternal:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+  #112 = NameAndType        #113:#114     // moderateInternal:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+  #113 = Utf8               moderateInternal\n+  #114 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+  #115 = Methodref          #116.#117     // dev/ai4j/openai4j/moderation/ModerationRequest.builder:()Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+  #116 = Class              #118          // dev/ai4j/openai4j/moderation/ModerationRequest\n+  #117 = NameAndType        #41:#119      // builder:()Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+  #118 = Utf8               dev/ai4j/openai4j/moderation/ModerationRequest\n+  #119 = Utf8               ()Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+  #120 = Methodref          #121.#122     // dev/ai4j/openai4j/moderation/ModerationRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+  #121 = Class              #123          // dev/ai4j/openai4j/moderation/ModerationRequest$Builder\n+  #122 = NameAndType        #124:#125     // model:(Ljava/lang/String;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+  #123 = Utf8               dev/ai4j/openai4j/moderation/ModerationRequest$Builder\n+  #124 = Utf8               model\n+  #125 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+  #126 = Methodref          #121.#127     // dev/ai4j/openai4j/moderation/ModerationRequest$Builder.input:(Ljava/util/List;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+  #127 = NameAndType        #128:#129     // input:(Ljava/util/List;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+  #128 = Utf8               input\n+  #129 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+  #130 = Methodref          #121.#131     // dev/ai4j/openai4j/moderation/ModerationRequest$Builder.build:()Ldev/ai4j/openai4j/moderation/ModerationRequest;\n+  #131 = NameAndType        #81:#132      // build:()Ldev/ai4j/openai4j/moderation/ModerationRequest;\n+  #132 = Utf8               ()Ldev/ai4j/openai4j/moderation/ModerationRequest;\n+  #133 = InvokeDynamic      #0:#134       // #0:call:(Ldev/langchain4j/model/openai/OpenAiModerationModel;Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ljava/util/concurrent/Callable;\n+  #134 = NameAndType        #135:#136     // call:(Ldev/langchain4j/model/openai/OpenAiModerationModel;Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ljava/util/concurrent/Callable;\n+  #135 = Utf8               call\n+  #136 = Utf8               (Ldev/langchain4j/model/openai/OpenAiModerationModel;Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ljava/util/concurrent/Callable;\n+  #137 = Methodref          #96.#138      // java/lang/Integer.intValue:()I\n+  #138 = NameAndType        #139:#140     // intValue:()I\n+  #139 = Utf8               intValue\n+  #140 = Utf8               ()I\n+  #141 = Methodref          #142.#143     // dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #142 = Class              #144          // dev/langchain4j/internal/RetryUtils\n+  #143 = NameAndType        #145:#146     // withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #144 = Utf8               dev/langchain4j/internal/RetryUtils\n+  #145 = Utf8               withRetry\n+  #146 = Utf8               (Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #147 = Class              #148          // dev/ai4j/openai4j/moderation/ModerationResponse\n+  #148 = Utf8               dev/ai4j/openai4j/moderation/ModerationResponse\n+  #149 = Methodref          #147.#150     // dev/ai4j/openai4j/moderation/ModerationResponse.results:()Ljava/util/List;\n+  #150 = NameAndType        #151:#152     // results:()Ljava/util/List;\n+  #151 = Utf8               results\n+  #152 = Utf8               ()Ljava/util/List;\n+  #153 = InterfaceMethodref #154.#155     // java/util/List.iterator:()Ljava/util/Iterator;\n+  #154 = Class              #156          // java/util/List\n+  #155 = NameAndType        #157:#158     // iterator:()Ljava/util/Iterator;\n+  #156 = Utf8               java/util/List\n+  #157 = Utf8               iterator\n+  #158 = Utf8               ()Ljava/util/Iterator;\n+  #159 = InterfaceMethodref #160.#161     // java/util/Iterator.hasNext:()Z\n+  #160 = Class              #162          // java/util/Iterator\n+  #161 = NameAndType        #163:#164     // hasNext:()Z\n+  #162 = Utf8               java/util/Iterator\n+  #163 = Utf8               hasNext\n+  #164 = Utf8               ()Z\n+  #165 = InterfaceMethodref #160.#166     // java/util/Iterator.next:()Ljava/lang/Object;\n+  #166 = NameAndType        #167:#168     // next:()Ljava/lang/Object;\n+  #167 = Utf8               next\n+  #168 = Utf8               ()Ljava/lang/Object;\n+  #169 = Class              #170          // dev/ai4j/openai4j/moderation/ModerationResult\n+  #170 = Utf8               dev/ai4j/openai4j/moderation/ModerationResult\n+  #171 = Methodref          #169.#172     // dev/ai4j/openai4j/moderation/ModerationResult.isFlagged:()Ljava/lang/Boolean;\n+  #172 = NameAndType        #173:#174     // isFlagged:()Ljava/lang/Boolean;\n+  #173 = Utf8               isFlagged\n+  #174 = Utf8               ()Ljava/lang/Boolean;\n+  #175 = Methodref          #176.#177     // java/lang/Boolean.booleanValue:()Z\n+  #176 = Class              #178          // java/lang/Boolean\n+  #177 = NameAndType        #179:#164     // booleanValue:()Z\n+  #178 = Utf8               java/lang/Boolean\n+  #179 = Utf8               booleanValue\n+  #180 = InterfaceMethodref #154.#181     // java/util/List.get:(I)Ljava/lang/Object;\n+  #181 = NameAndType        #182:#183     // get:(I)Ljava/lang/Object;\n+  #182 = Utf8               get\n+  #183 = Utf8               (I)Ljava/lang/Object;\n+  #184 = Methodref          #185.#186     // dev/langchain4j/model/moderation/Moderation.flagged:(Ljava/lang/String;)Ldev/langchain4j/model/moderation/Moderation;\n+  #185 = Class              #187          // dev/langchain4j/model/moderation/Moderation\n+  #186 = NameAndType        #188:#189     // flagged:(Ljava/lang/String;)Ldev/langchain4j/model/moderation/Moderation;\n+  #187 = Utf8               dev/langchain4j/model/moderation/Moderation\n+  #188 = Utf8               flagged\n+  #189 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/moderation/Moderation;\n+  #190 = Methodref          #191.#192     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n+  #191 = Class              #193          // dev/langchain4j/model/output/Response\n+  #192 = NameAndType        #194:#195     // from:(Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n+  #193 = Utf8               dev/langchain4j/model/output/Response\n+  #194 = Utf8               from\n+  #195 = Utf8               (Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n+  #196 = Methodref          #185.#197     // dev/langchain4j/model/moderation/Moderation.notFlagged:()Ldev/langchain4j/model/moderation/Moderation;\n+  #197 = NameAndType        #198:#199     // notFlagged:()Ldev/langchain4j/model/moderation/Moderation;\n+  #198 = Utf8               notFlagged\n+  #199 = Utf8               ()Ldev/langchain4j/model/moderation/Moderation;\n+  #200 = InterfaceMethodref #154.#201     // java/util/List.stream:()Ljava/util/stream/Stream;\n+  #201 = NameAndType        #202:#203     // stream:()Ljava/util/stream/Stream;\n+  #202 = Utf8               stream\n+  #203 = Utf8               ()Ljava/util/stream/Stream;\n+  #204 = InvokeDynamic      #1:#205       // #1:apply:()Ljava/util/function/Function;\n+  #205 = NameAndType        #206:#207     // apply:()Ljava/util/function/Function;\n+  #206 = Utf8               apply\n+  #207 = Utf8               ()Ljava/util/function/Function;\n+  #208 = InterfaceMethodref #209.#210     // java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+  #209 = Class              #211          // java/util/stream/Stream\n+  #210 = NameAndType        #212:#213     // map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+  #211 = Utf8               java/util/stream/Stream\n+  #212 = Utf8               map\n+  #213 = Utf8               (Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+  #214 = Methodref          #215.#216     // java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+  #215 = Class              #217          // java/util/stream/Collectors\n+  #216 = NameAndType        #218:#219     // toList:()Ljava/util/stream/Collector;\n+  #217 = Utf8               java/util/stream/Collectors\n+  #218 = Utf8               toList\n+  #219 = Utf8               ()Ljava/util/stream/Collector;\n+  #220 = InterfaceMethodref #209.#221     // java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+  #221 = NameAndType        #222:#223     // collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+  #222 = Utf8               collect\n+  #223 = Utf8               (Ljava/util/stream/Collector;)Ljava/lang/Object;\n+  #224 = Methodref          #84.#225      // dev/langchain4j/model/openai/OpenAiModerationModel.builder:()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+  #225 = NameAndType        #41:#226      // builder:()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+  #226 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+  #227 = Methodref          #228.#229     // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+  #228 = Class              #230          // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n+  #229 = NameAndType        #231:#232     // apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+  #230 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n+  #231 = Utf8               apiKey\n+  #232 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+  #233 = Methodref          #228.#234     // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n+  #234 = NameAndType        #81:#235      // build:()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n+  #235 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n+  #236 = Class              #237          // dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n+  #237 = Utf8               dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n+  #238 = InvokeDynamic      #2:#239       // #2:get:()Ljava/util/function/Supplier;\n+  #239 = NameAndType        #182:#240     // get:()Ljava/util/function/Supplier;\n+  #240 = Utf8               ()Ljava/util/function/Supplier;\n+  #241 = Methodref          #242.#243     // dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #242 = Class              #244          // dev/langchain4j/spi/ServiceHelper\n+  #243 = NameAndType        #245:#246     // loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #244 = Utf8               dev/langchain4j/spi/ServiceHelper\n+  #245 = Utf8               loadFactoryService\n+  #246 = Utf8               (Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #247 = Methodref          #38.#248      // dev/ai4j/openai4j/OpenAiClient.moderation:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n+  #248 = NameAndType        #249:#250     // moderation:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n+  #249 = Utf8               moderation\n+  #250 = Utf8               (Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n+  #251 = InterfaceMethodref #252.#253     // dev/ai4j/openai4j/SyncOrAsync.execute:()Ljava/lang/Object;\n+  #252 = Class              #254          // dev/ai4j/openai4j/SyncOrAsync\n+  #253 = NameAndType        #255:#168     // execute:()Ljava/lang/Object;\n+  #254 = Utf8               dev/ai4j/openai4j/SyncOrAsync\n+  #255 = Utf8               execute\n+  #256 = Class              #257          // dev/langchain4j/model/moderation/ModerationModel\n+  #257 = Utf8               dev/langchain4j/model/moderation/ModerationModel\n+  #258 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n+  #259 = Utf8               Code\n+  #260 = Utf8               LineNumberTable\n+  #261 = Utf8               LocalVariableTable\n+  #262 = Utf8               this\n+  #263 = Utf8               Ldev/langchain4j/model/openai/OpenAiModerationModel;\n+  #264 = Utf8               timeout\n+  #265 = Utf8               Ljava/time/Duration;\n+  #266 = Utf8               Ljava/net/Proxy;\n+  #267 = Utf8               Ljava/lang/Boolean;\n+  #268 = Utf8               StackMapTable\n+  #269 = Class              #270          // java/net/Proxy\n+  #270 = Utf8               java/net/Proxy\n+  #271 = Utf8               moderate\n+  #272 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/Response;\n+  #273 = Utf8               text\n+  #274 = Utf8               Signature\n+  #275 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n+  #276 = Utf8               moderationResult\n+  #277 = Utf8               Ldev/ai4j/openai4j/moderation/ModerationResult;\n+  #278 = Utf8               inputs\n+  #279 = Utf8               Ljava/util/List;\n+  #280 = Utf8               request\n+  #281 = Utf8               Ldev/ai4j/openai4j/moderation/ModerationRequest;\n+  #282 = Utf8               response\n+  #283 = Utf8               Ldev/ai4j/openai4j/moderation/ModerationResponse;\n+  #284 = Utf8               i\n+  #285 = Utf8               I\n+  #286 = Utf8               LocalVariableTypeTable\n+  #287 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n+  #288 = Utf8               (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n+  #289 = Utf8               messages\n+  #290 = Utf8               Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n+  #291 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n+  #292 = Utf8               withApiKey\n+  #293 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel;\n+  #294 = Utf8               lambda$moderateInternal$0\n+  #295 = Utf8               (Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n+  #296 = Utf8               Exceptions\n+  #297 = Class              #298          // java/lang/Exception\n+  #298 = Utf8               java/lang/Exception\n+  #299 = Utf8               SourceFile\n+  #300 = Utf8               OpenAiModerationModel.java\n+  #301 = Utf8               BootstrapMethods\n+  #302 = MethodHandle       6:#303        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #303 = Methodref          #304.#305     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #304 = Class              #306          // java/lang/invoke/LambdaMetafactory\n+  #305 = NameAndType        #307:#308     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #306 = Utf8               java/lang/invoke/LambdaMetafactory\n+  #307 = Utf8               metafactory\n+  #308 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #309 = MethodType         #168          //  ()Ljava/lang/Object;\n+  #310 = MethodHandle       7:#311        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiModerationModel.lambda$moderateInternal$0:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n+  #311 = Methodref          #84.#312      // dev/langchain4j/model/openai/OpenAiModerationModel.lambda$moderateInternal$0:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n+  #312 = NameAndType        #294:#295     // lambda$moderateInternal$0:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n+  #313 = MethodType         #314          //  ()Ldev/ai4j/openai4j/moderation/ModerationResponse;\n+  #314 = Utf8               ()Ldev/ai4j/openai4j/moderation/ModerationResponse;\n+  #315 = MethodType         #316          //  (Ljava/lang/Object;)Ljava/lang/Object;\n+  #316 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n+  #317 = MethodHandle       9:#318        // REF_invokeInterface dev/langchain4j/data/message/ChatMessage.text:()Ljava/lang/String;\n+  #318 = InterfaceMethodref #319.#320     // dev/langchain4j/data/message/ChatMessage.text:()Ljava/lang/String;\n+  #319 = Class              #321          // dev/langchain4j/data/message/ChatMessage\n+  #320 = NameAndType        #273:#322     // text:()Ljava/lang/String;\n+  #321 = Utf8               dev/langchain4j/data/message/ChatMessage\n+  #322 = Utf8               ()Ljava/lang/String;\n+  #323 = MethodType         #324          //  (Ldev/langchain4j/data/message/ChatMessage;)Ljava/lang/String;\n+  #324 = Utf8               (Ldev/langchain4j/data/message/ChatMessage;)Ljava/lang/String;\n+  #325 = MethodHandle       8:#326        // REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.\"<init>\":()V\n+  #326 = Methodref          #228.#7       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.\"<init>\":()V\n+  #327 = MethodType         #226          //  ()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+  #328 = Utf8               InnerClasses\n+  #329 = Utf8               Builder\n+  #330 = Utf8               OpenAiModerationModelBuilder\n+  #331 = Class              #332          // java/lang/invoke/MethodHandles$Lookup\n+  #332 = Utf8               java/lang/invoke/MethodHandles$Lookup\n+  #333 = Class              #334          // java/lang/invoke/MethodHandles\n+  #334 = Utf8               java/lang/invoke/MethodHandles\n+  #335 = Utf8               Lookup\n {\n   private final dev.ai4j.openai4j.OpenAiClient client;\n     descriptor: Ldev/ai4j/openai4j/OpenAiClient;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.lang.String modelName;\n     descriptor: Ljava/lang/String;\n@@ -367,69 +357,69 @@\n \n   public dev.langchain4j.model.openai.OpenAiModerationModel(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.time.Duration, java.lang.Integer, java.net.Proxy, java.lang.Boolean, java.lang.Boolean);\n     descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=10, args_size=10\n          0: aload_0\n-         1: invokespecial #3                  // Method java/lang/Object.\"<init>\":()V\n+         1: invokespecial #5                  // Method java/lang/Object.\"<init>\":()V\n          4: aload_1\n-         5: ldc           #4                  // String https://api.openai.com/v1\n-         7: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-        10: checkcast     #6                  // class java/lang/String\n+         5: ldc           #11                 // String https://api.openai.com/v1\n+         7: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+        10: checkcast     #19                 // class java/lang/String\n         13: astore_1\n-        14: ldc           #7                  // String demo\n+        14: ldc           #21                 // String demo\n         16: aload_2\n-        17: invokevirtual #8                  // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+        17: invokevirtual #23                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n         20: ifeq          26\n-        23: ldc           #9                  // String http://langchain4j.dev/demo/openai/v1\n+        23: ldc           #27                 // String http://langchain4j.dev/demo/openai/v1\n         25: astore_1\n         26: aload         5\n-        28: ldc2_w        #10                 // long 60l\n-        31: invokestatic  #12                 // Method java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n-        34: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-        37: checkcast     #13                 // class java/time/Duration\n+        28: ldc2_w        #29                 // long 60l\n+        31: invokestatic  #31                 // Method java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n+        34: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+        37: checkcast     #32                 // class java/time/Duration\n         40: astore        5\n         42: aload_0\n-        43: invokestatic  #14                 // Method dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        43: invokestatic  #37                 // Method dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         46: aload_2\n-        47: invokevirtual #15                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        47: invokevirtual #43                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         50: aload_1\n-        51: invokevirtual #16                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        51: invokevirtual #49                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         54: aload_3\n-        55: invokevirtual #17                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        55: invokevirtual #52                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         58: aload         5\n-        60: invokevirtual #18                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        60: invokevirtual #55                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         63: aload         5\n-        65: invokevirtual #19                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        65: invokevirtual #59                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         68: aload         5\n-        70: invokevirtual #20                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        70: invokevirtual #62                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         73: aload         5\n-        75: invokevirtual #21                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        75: invokevirtual #65                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         78: aload         7\n-        80: invokevirtual #22                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        80: invokevirtual #68                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         83: aload         8\n-        85: invokevirtual #23                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        85: invokevirtual #72                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         88: aload         9\n-        90: invokevirtual #24                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-        93: invokevirtual #25                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n-        96: putfield      #26                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n+        90: invokevirtual #76                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        93: invokevirtual #79                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n+        96: putfield      #83                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n         99: aload_0\n        100: aload         4\n-       102: ldc           #27                 // String text-moderation-latest\n-       104: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-       107: checkcast     #6                  // class java/lang/String\n-       110: putfield      #28                 // Field modelName:Ljava/lang/String;\n+       102: ldc           #89                 // String text-moderation-latest\n+       104: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+       107: checkcast     #19                 // class java/lang/String\n+       110: putfield      #91                 // Field modelName:Ljava/lang/String;\n        113: aload_0\n        114: aload         6\n        116: iconst_3\n-       117: invokestatic  #29                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-       120: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-       123: checkcast     #30                 // class java/lang/Integer\n-       126: putfield      #31                 // Field maxRetries:Ljava/lang/Integer;\n+       117: invokestatic  #95                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+       120: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+       123: checkcast     #96                 // class java/lang/Integer\n+       126: putfield      #101                // Field maxRetries:Ljava/lang/Integer;\n        129: return\n       LineNumberTable:\n         line 45: 0\n         line 47: 4\n         line 48: 14\n         line 49: 23\n         line 52: 26\n@@ -469,75 +459,75 @@\n   public dev.langchain4j.model.output.Response<dev.langchain4j.model.moderation.Moderation> moderate(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokestatic  #32                 // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-         5: invokespecial #33                 // Method moderateInternal:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+         2: invokestatic  #105                // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+         5: invokespecial #111                // Method moderateInternal:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n          8: areturn\n       LineNumberTable:\n         line 72: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       9     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel;\n             0       9     1  text   Ljava/lang/String;\n-    Signature: #107                         // (Ljava/lang/String;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n+    Signature: #275                         // (Ljava/lang/String;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n \n   private dev.langchain4j.model.output.Response<dev.langchain4j.model.moderation.Moderation> moderateInternal(java.util.List<java.lang.String>);\n     descriptor: (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=2, locals=7, args_size=2\n-         0: invokestatic  #34                 // Method dev/ai4j/openai4j/moderation/ModerationRequest.builder:()Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+         0: invokestatic  #115                // Method dev/ai4j/openai4j/moderation/ModerationRequest.builder:()Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n          3: aload_0\n-         4: getfield      #28                 // Field modelName:Ljava/lang/String;\n-         7: invokevirtual #35                 // Method dev/ai4j/openai4j/moderation/ModerationRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+         4: getfield      #91                 // Field modelName:Ljava/lang/String;\n+         7: invokevirtual #120                // Method dev/ai4j/openai4j/moderation/ModerationRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n         10: aload_1\n-        11: invokevirtual #36                 // Method dev/ai4j/openai4j/moderation/ModerationRequest$Builder.input:(Ljava/util/List;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n-        14: invokevirtual #37                 // Method dev/ai4j/openai4j/moderation/ModerationRequest$Builder.build:()Ldev/ai4j/openai4j/moderation/ModerationRequest;\n+        11: invokevirtual #126                // Method dev/ai4j/openai4j/moderation/ModerationRequest$Builder.input:(Ljava/util/List;)Ldev/ai4j/openai4j/moderation/ModerationRequest$Builder;\n+        14: invokevirtual #130                // Method dev/ai4j/openai4j/moderation/ModerationRequest$Builder.build:()Ldev/ai4j/openai4j/moderation/ModerationRequest;\n         17: astore_2\n         18: aload_0\n         19: aload_2\n-        20: invokedynamic #38,  0             // InvokeDynamic #0:call:(Ldev/langchain4j/model/openai/OpenAiModerationModel;Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ljava/util/concurrent/Callable;\n+        20: invokedynamic #133,  0            // InvokeDynamic #0:call:(Ldev/langchain4j/model/openai/OpenAiModerationModel;Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ljava/util/concurrent/Callable;\n         25: aload_0\n-        26: getfield      #31                 // Field maxRetries:Ljava/lang/Integer;\n-        29: invokevirtual #39                 // Method java/lang/Integer.intValue:()I\n-        32: invokestatic  #40                 // Method dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-        35: checkcast     #41                 // class dev/ai4j/openai4j/moderation/ModerationResponse\n+        26: getfield      #101                // Field maxRetries:Ljava/lang/Integer;\n+        29: invokevirtual #137                // Method java/lang/Integer.intValue:()I\n+        32: invokestatic  #141                // Method dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+        35: checkcast     #147                // class dev/ai4j/openai4j/moderation/ModerationResponse\n         38: astore_3\n         39: iconst_0\n         40: istore        4\n         42: aload_3\n-        43: invokevirtual #42                 // Method dev/ai4j/openai4j/moderation/ModerationResponse.results:()Ljava/util/List;\n-        46: invokeinterface #43,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;\n+        43: invokevirtual #149                // Method dev/ai4j/openai4j/moderation/ModerationResponse.results:()Ljava/util/List;\n+        46: invokeinterface #153,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;\n         51: astore        5\n         53: aload         5\n-        55: invokeinterface #44,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n+        55: invokeinterface #159,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n         60: ifeq          110\n         63: aload         5\n-        65: invokeinterface #45,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-        70: checkcast     #46                 // class dev/ai4j/openai4j/moderation/ModerationResult\n+        65: invokeinterface #165,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+        70: checkcast     #169                // class dev/ai4j/openai4j/moderation/ModerationResult\n         73: astore        6\n         75: aload         6\n-        77: invokevirtual #47                 // Method dev/ai4j/openai4j/moderation/ModerationResult.isFlagged:()Ljava/lang/Boolean;\n-        80: invokevirtual #48                 // Method java/lang/Boolean.booleanValue:()Z\n+        77: invokevirtual #171                // Method dev/ai4j/openai4j/moderation/ModerationResult.isFlagged:()Ljava/lang/Boolean;\n+        80: invokevirtual #175                // Method java/lang/Boolean.booleanValue:()Z\n         83: ifeq          104\n         86: aload_1\n         87: iload         4\n-        89: invokeinterface #49,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n-        94: checkcast     #6                  // class java/lang/String\n-        97: invokestatic  #50                 // Method dev/langchain4j/model/moderation/Moderation.flagged:(Ljava/lang/String;)Ldev/langchain4j/model/moderation/Moderation;\n-       100: invokestatic  #51                 // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n+        89: invokeinterface #180,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n+        94: checkcast     #19                 // class java/lang/String\n+        97: invokestatic  #184                // Method dev/langchain4j/model/moderation/Moderation.flagged:(Ljava/lang/String;)Ldev/langchain4j/model/moderation/Moderation;\n+       100: invokestatic  #190                // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n        103: areturn\n        104: iinc          4, 1\n        107: goto          53\n-       110: invokestatic  #52                 // Method dev/langchain4j/model/moderation/Moderation.notFlagged:()Ldev/langchain4j/model/moderation/Moderation;\n-       113: invokestatic  #51                 // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n+       110: invokestatic  #196                // Method dev/langchain4j/model/moderation/Moderation.notFlagged:()Ldev/langchain4j/model/moderation/Moderation;\n+       113: invokestatic  #190                // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;)Ldev/langchain4j/model/output/Response;\n        116: areturn\n       LineNumberTable:\n         line 77: 0\n         line 78: 7\n         line 79: 11\n         line 80: 14\n         line 82: 18\n@@ -565,32 +555,32 @@\n           locals = [ class dev/langchain4j/model/openai/OpenAiModerationModel, class java/util/List, class dev/ai4j/openai4j/moderation/ModerationRequest, class dev/ai4j/openai4j/moderation/ModerationResponse, int, class java/util/Iterator ]\n           stack = []\n         frame_type = 252 /* append */\n           offset_delta = 50\n           locals = [ class dev/ai4j/openai4j/moderation/ModerationResult ]\n         frame_type = 249 /* chop */\n           offset_delta = 5\n-    Signature: #127                         // (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n+    Signature: #288                         // (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n \n   public dev.langchain4j.model.output.Response<dev.langchain4j.model.moderation.Moderation> moderate(java.util.List<dev.langchain4j.data.message.ChatMessage>);\n     descriptor: (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=3, args_size=2\n          0: aload_1\n-         1: invokeinterface #53,  1           // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n-         6: invokedynamic #54,  0             // InvokeDynamic #1:apply:()Ljava/util/function/Function;\n-        11: invokeinterface #55,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-        16: invokestatic  #56                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-        19: invokeinterface #57,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-        24: checkcast     #58                 // class java/util/List\n+         1: invokeinterface #200,  1          // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n+         6: invokedynamic #204,  0            // InvokeDynamic #1:apply:()Ljava/util/function/Function;\n+        11: invokeinterface #208,  2          // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+        16: invokestatic  #214                // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+        19: invokeinterface #220,  2          // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+        24: checkcast     #154                // class java/util/List\n         27: astore_2\n         28: aload_0\n         29: aload_2\n-        30: invokespecial #33                 // Method moderateInternal:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+        30: invokespecial #111                // Method moderateInternal:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n         33: areturn\n       LineNumberTable:\n         line 98: 0\n         line 99: 11\n         line 100: 16\n         line 102: 28\n       LocalVariableTable:\n@@ -598,81 +588,81 @@\n             0      34     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel;\n             0      34     1 messages   Ljava/util/List;\n            28       6     2 inputs   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0      34     1 messages   Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n            28       6     2 inputs   Ljava/util/List<Ljava/lang/String;>;\n-    Signature: #130                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n+    Signature: #291                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/model/moderation/Moderation;>;\n \n   public static dev.langchain4j.model.openai.OpenAiModerationModel withApiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: invokestatic  #59                 // Method builder:()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+         0: invokestatic  #224                // Method builder:()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n          3: aload_0\n-         4: invokevirtual #60                 // Method dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-         7: invokevirtual #61                 // Method dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n+         4: invokevirtual #227                // Method dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+         7: invokevirtual #233                // Method dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n         10: areturn\n       LineNumberTable:\n         line 106: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      11     0 apiKey   Ljava/lang/String;\n \n   public static dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder builder();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=0, args_size=0\n-         0: ldc           #62                 // class dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n-         2: invokedynamic #63,  0             // InvokeDynamic #2:get:()Ljava/util/function/Supplier;\n-         7: invokestatic  #64                 // Method dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-        10: checkcast     #65                 // class dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n+         0: ldc           #236                // class dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n+         2: invokedynamic #238,  0            // InvokeDynamic #2:get:()Ljava/util/function/Supplier;\n+         7: invokestatic  #241                // Method dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+        10: checkcast     #228                // class dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n         13: areturn\n       LineNumberTable:\n         line 110: 0\n \n   private dev.ai4j.openai4j.moderation.ModerationResponse lambda$moderateInternal$0(dev.ai4j.openai4j.moderation.ModerationRequest) throws java.lang.Exception;\n     descriptor: (Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n     flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #26                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n+         1: getfield      #83                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n          4: aload_1\n-         5: invokevirtual #66                 // Method dev/ai4j/openai4j/OpenAiClient.moderation:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n-         8: invokeinterface #67,  1           // InterfaceMethod dev/ai4j/openai4j/SyncOrAsync.execute:()Ljava/lang/Object;\n-        13: checkcast     #41                 // class dev/ai4j/openai4j/moderation/ModerationResponse\n+         5: invokevirtual #247                // Method dev/ai4j/openai4j/OpenAiClient.moderation:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n+         8: invokeinterface #251,  1          // InterfaceMethod dev/ai4j/openai4j/SyncOrAsync.execute:()Ljava/lang/Object;\n+        13: checkcast     #147                // class dev/ai4j/openai4j/moderation/ModerationResponse\n         16: areturn\n       LineNumberTable:\n         line 82: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      17     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel;\n             0      17     1 request   Ldev/ai4j/openai4j/moderation/ModerationRequest;\n     Exceptions:\n       throws java.lang.Exception\n }\n SourceFile: \"OpenAiModerationModel.java\"\n-InnerClasses:\n-  public static #71= #65 of #68;          // OpenAiModerationModelBuilder=class dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder of class dev/langchain4j/model/openai/OpenAiModerationModel\n-  public static abstract #248= #155 of #153; // Builder=class dev/ai4j/openai4j/OpenAiClient$Builder of class dev/ai4j/openai4j/OpenAiClient\n-  public static final #248= #178 of #176; // Builder=class dev/ai4j/openai4j/moderation/ModerationRequest$Builder of class dev/ai4j/openai4j/moderation/ModerationRequest\n-  public static final #339= #338 of #343; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n BootstrapMethods:\n-  0: #183 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  0: #302 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #184 ()Ljava/lang/Object;\n-      #185 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiModerationModel.lambda$moderateInternal$0:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n-      #186 ()Ldev/ai4j/openai4j/moderation/ModerationResponse;\n-  1: #183 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #309 ()Ljava/lang/Object;\n+      #310 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiModerationModel.lambda$moderateInternal$0:(Ldev/ai4j/openai4j/moderation/ModerationRequest;)Ldev/ai4j/openai4j/moderation/ModerationResponse;\n+      #313 ()Ldev/ai4j/openai4j/moderation/ModerationResponse;\n+  1: #302 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #208 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #209 REF_invokeInterface dev/langchain4j/data/message/ChatMessage.text:()Ljava/lang/String;\n-      #210 (Ldev/langchain4j/data/message/ChatMessage;)Ljava/lang/String;\n-  2: #183 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #315 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #317 REF_invokeInterface dev/langchain4j/data/message/ChatMessage.text:()Ljava/lang/String;\n+      #323 (Ldev/langchain4j/data/message/ChatMessage;)Ljava/lang/String;\n+  2: #302 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #184 ()Ljava/lang/Object;\n-      #222 REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.\"<init>\":()V\n-      #223 ()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+      #309 ()Ljava/lang/Object;\n+      #325 REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.\"<init>\":()V\n+      #327 ()Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+InnerClasses:\n+  public static abstract #329= #44 of #38; // Builder=class dev/ai4j/openai4j/OpenAiClient$Builder of class dev/ai4j/openai4j/OpenAiClient\n+  public static final #329= #121 of #116; // Builder=class dev/ai4j/openai4j/moderation/ModerationRequest$Builder of class dev/ai4j/openai4j/moderation/ModerationRequest\n+  public static #330= #228 of #84;        // OpenAiModerationModelBuilder=class dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder of class dev/langchain4j/model/openai/OpenAiModerationModel\n+  public static final #335= #331 of #333; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiImageModel.class", "source2": "dev/langchain4j/model/openai/OpenAiImageModel.class", "unified_diff": null, "details": [{"source1": "procyon -ec {}", "source2": "procyon -ec {}", "unified_diff": "@@ -57,15 +57,15 @@\n         final GenerateImagesResponse response = (GenerateImagesResponse)((SyncOrAsync)RetryUtils.withRetry(() -> this.client.imagesGeneration(request), (int)this.maxRetries)).execute();\n         return (Response<Image>)Response.from((Object)fromImageData(response.data().get(0)));\n     }\n     \n     public Response<List<Image>> generate(final String prompt, final int n) {\n         final GenerateImagesRequest request = this.requestBuilder(prompt).n(n).build();\n         final GenerateImagesResponse response = (GenerateImagesResponse)((SyncOrAsync)RetryUtils.withRetry(() -> this.client.imagesGeneration(request), (int)this.maxRetries)).execute();\n-        return (Response<List<Image>>)Response.from(response.data().stream().map(OpenAiImageModel::fromImageData).collect((Collector)Collectors.toList()));\n+        return (Response<List<Image>>)Response.from((Object)response.data().stream().map(OpenAiImageModel::fromImageData).collect(Collectors.toList()));\n     }\n     \n     public static OpenAiImageModel.OpenAiImageModelBuilder builder() {\n         return (OpenAiImageModel.OpenAiImageModelBuilder)ServiceHelper.loadFactoryService((Class)OpenAiImageModelBuilderFactory.class, (Supplier)OpenAiImageModel.OpenAiImageModelBuilder::new);\n     }\n     \n     public static OpenAiImageModel withApiKey(final String apiKey) {\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiLanguageModel.class", "source2": "dev/langchain4j/model/openai/OpenAiLanguageModel.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,314 +1,314 @@\n-  SHA-256 checksum daa5ae9fcc1205da8a290882513734bf0f03126c0bdd73f89f76984e13cba2f0\n+  SHA-256 checksum 888050e7b258cd6fb9c0c9aeb08a77915a7484363803bb550488bac5f5970d88\n   Compiled from \"OpenAiLanguageModel.java\"\n public class dev.langchain4j.model.openai.OpenAiLanguageModel implements dev.langchain4j.model.language.LanguageModel,dev.langchain4j.model.language.TokenCountEstimator\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #68                         // dev/langchain4j/model/openai/OpenAiLanguageModel\n-  super_class: #69                        // java/lang/Object\n+  this_class: #76                         // dev/langchain4j/model/openai/OpenAiLanguageModel\n+  super_class: #6                         // java/lang/Object\n   interfaces: 2, fields: 5, methods: 7, attributes: 3\n Constant pool:\n-    #1 = Class              #126          // dev/langchain4j/model/openai/OpenAiModelName\n-    #2 = Class              #127          // dev/langchain4j/model/openai/InternalOpenAiHelper\n-    #3 = Methodref          #69.#128      // java/lang/Object.\"<init>\":()V\n-    #4 = Long               60l\n-    #6 = Methodref          #8.#129       // java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n-    #7 = Methodref          #130.#131     // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-    #8 = Class              #132          // java/time/Duration\n-    #9 = Methodref          #133.#134     // dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #10 = String             #135          // https://api.openai.com/v1\n-   #11 = Class              #136          // java/lang/String\n-   #12 = Methodref          #137.#138     // dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #13 = Methodref          #137.#139     // dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #14 = Methodref          #137.#140     // dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #15 = Methodref          #137.#141     // dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #16 = Methodref          #137.#142     // dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #17 = Methodref          #137.#143     // dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #18 = Methodref          #137.#144     // dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #19 = Methodref          #137.#145     // dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #20 = Methodref          #137.#146     // dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #21 = Methodref          #137.#147     // dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #22 = Methodref          #137.#148     // dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n-   #23 = Fieldref           #68.#149      // dev/langchain4j/model/openai/OpenAiLanguageModel.client:Ldev/ai4j/openai4j/OpenAiClient;\n-   #24 = String             #150          // gpt-3.5-turbo-instruct\n-   #25 = Fieldref           #68.#151      // dev/langchain4j/model/openai/OpenAiLanguageModel.modelName:Ljava/lang/String;\n-   #26 = Double             0.7d\n-   #28 = Methodref          #29.#152      // java/lang/Double.valueOf:(D)Ljava/lang/Double;\n-   #29 = Class              #153          // java/lang/Double\n-   #30 = Fieldref           #68.#154      // dev/langchain4j/model/openai/OpenAiLanguageModel.temperature:Ljava/lang/Double;\n-   #31 = Methodref          #32.#155      // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-   #32 = Class              #156          // java/lang/Integer\n-   #33 = Fieldref           #68.#157      // dev/langchain4j/model/openai/OpenAiLanguageModel.maxRetries:Ljava/lang/Integer;\n-   #34 = InvokeDynamic      #0:#163       // #0:get:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;)Ljava/util/function/Supplier;\n-   #35 = Methodref          #130.#164     // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-   #36 = Class              #165          // dev/langchain4j/model/Tokenizer\n-   #37 = Fieldref           #68.#166      // dev/langchain4j/model/openai/OpenAiLanguageModel.tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #38 = Methodref          #167.#168     // dev/ai4j/openai4j/completion/CompletionRequest.builder:()Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-   #39 = Methodref          #169.#170     // dev/ai4j/openai4j/completion/CompletionRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-   #40 = Methodref          #169.#171     // dev/ai4j/openai4j/completion/CompletionRequest$Builder.prompt:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-   #41 = Methodref          #169.#172     // dev/ai4j/openai4j/completion/CompletionRequest$Builder.temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-   #42 = Methodref          #169.#173     // dev/ai4j/openai4j/completion/CompletionRequest$Builder.build:()Ldev/ai4j/openai4j/completion/CompletionRequest;\n-   #43 = InvokeDynamic      #1:#176       // #1:call:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;Ldev/ai4j/openai4j/completion/CompletionRequest;)Ljava/util/concurrent/Callable;\n-   #44 = Methodref          #32.#177      // java/lang/Integer.intValue:()I\n-   #45 = Methodref          #178.#179     // dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-   #46 = Class              #180          // dev/ai4j/openai4j/completion/CompletionResponse\n-   #47 = Methodref          #46.#181      // dev/ai4j/openai4j/completion/CompletionResponse.choices:()Ljava/util/List;\n-   #48 = InterfaceMethodref #182.#183     // java/util/List.get:(I)Ljava/lang/Object;\n-   #49 = Class              #184          // dev/ai4j/openai4j/completion/CompletionChoice\n-   #50 = Methodref          #49.#185      // dev/ai4j/openai4j/completion/CompletionChoice.text:()Ljava/lang/String;\n-   #51 = Methodref          #46.#186      // dev/ai4j/openai4j/completion/CompletionResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n-   #52 = Methodref          #2.#187       // dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-   #53 = Methodref          #49.#188      // dev/ai4j/openai4j/completion/CompletionChoice.finishReason:()Ljava/lang/String;\n-   #54 = Methodref          #2.#189       // dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-   #55 = Methodref          #190.#191     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n-   #56 = InterfaceMethodref #36.#192      // dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n-   #57 = Methodref          #68.#193      // dev/langchain4j/model/openai/OpenAiLanguageModel.builder:()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #58 = Methodref          #63.#194      // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #59 = Methodref          #63.#195      // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n-   #60 = Class              #196          // dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n-   #61 = InvokeDynamic      #2:#199       // #2:get:()Ljava/util/function/Supplier;\n-   #62 = Methodref          #200.#201     // dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-   #63 = Class              #202          // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n-   #64 = Methodref          #133.#203     // dev/ai4j/openai4j/OpenAiClient.completion:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n-   #65 = InterfaceMethodref #204.#205     // dev/ai4j/openai4j/SyncOrAsyncOrStreaming.execute:()Ljava/lang/Object;\n-   #66 = Class              #206          // dev/langchain4j/model/openai/OpenAiTokenizer\n-   #67 = Methodref          #66.#207      // dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n-   #68 = Class              #208          // dev/langchain4j/model/openai/OpenAiLanguageModel\n-   #69 = Class              #209          // java/lang/Object\n-   #70 = Class              #210          // dev/langchain4j/model/language/LanguageModel\n-   #71 = Class              #211          // dev/langchain4j/model/language/TokenCountEstimator\n-   #72 = Utf8               OpenAiLanguageModelBuilder\n-   #73 = Utf8               InnerClasses\n-   #74 = Utf8               client\n-   #75 = Utf8               Ldev/ai4j/openai4j/OpenAiClient;\n-   #76 = Utf8               modelName\n-   #77 = Utf8               Ljava/lang/String;\n-   #78 = Utf8               temperature\n-   #79 = Utf8               Ljava/lang/Double;\n-   #80 = Utf8               maxRetries\n-   #81 = Utf8               Ljava/lang/Integer;\n-   #82 = Utf8               tokenizer\n-   #83 = Utf8               Ldev/langchain4j/model/Tokenizer;\n-   #84 = Utf8               <init>\n-   #85 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #86 = Utf8               Code\n-   #87 = Utf8               LineNumberTable\n-   #88 = Utf8               LocalVariableTable\n-   #89 = Utf8               this\n-   #90 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n-   #91 = Utf8               baseUrl\n-   #92 = Utf8               apiKey\n-   #93 = Utf8               organizationId\n-   #94 = Utf8               timeout\n-   #95 = Utf8               Ljava/time/Duration;\n-   #96 = Utf8               proxy\n-   #97 = Utf8               Ljava/net/Proxy;\n-   #98 = Utf8               logRequests\n-   #99 = Utf8               Ljava/lang/Boolean;\n-  #100 = Utf8               logResponses\n-  #101 = Utf8               generate\n-  #102 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/Response;\n-  #103 = Utf8               prompt\n-  #104 = Utf8               request\n-  #105 = Utf8               Ldev/ai4j/openai4j/completion/CompletionRequest;\n-  #106 = Utf8               response\n-  #107 = Utf8               Ldev/ai4j/openai4j/completion/CompletionResponse;\n-  #108 = Utf8               completionChoice\n-  #109 = Utf8               Ldev/ai4j/openai4j/completion/CompletionChoice;\n-  #110 = Utf8               Signature\n-  #111 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/Response<Ljava/lang/String;>;\n-  #112 = Utf8               estimateTokenCount\n-  #113 = Utf8               (Ljava/lang/String;)I\n-  #114 = Utf8               withApiKey\n-  #115 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n-  #116 = Utf8               builder\n-  #117 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-  #118 = Utf8               lambda$generate$1\n-  #119 = Utf8               (Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n-  #120 = Utf8               Exceptions\n-  #121 = Class              #212          // java/lang/Exception\n-  #122 = Utf8               lambda$new$0\n-  #123 = Utf8               ()Ldev/langchain4j/model/Tokenizer;\n-  #124 = Utf8               SourceFile\n-  #125 = Utf8               OpenAiLanguageModel.java\n-  #126 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n-  #127 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n-  #128 = NameAndType        #84:#213      // \"<init>\":()V\n-  #129 = NameAndType        #214:#215     // ofSeconds:(J)Ljava/time/Duration;\n-  #130 = Class              #216          // dev/langchain4j/internal/Utils\n-  #131 = NameAndType        #217:#218     // getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-  #132 = Utf8               java/time/Duration\n-  #133 = Class              #219          // dev/ai4j/openai4j/OpenAiClient\n-  #134 = NameAndType        #116:#221     // builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #135 = Utf8               https://api.openai.com/v1\n-  #136 = Utf8               java/lang/String\n-  #137 = Class              #222          // dev/ai4j/openai4j/OpenAiClient$Builder\n-  #138 = NameAndType        #91:#223      // baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #139 = NameAndType        #224:#223     // openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #140 = NameAndType        #93:#223      // organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #141 = NameAndType        #225:#226     // callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #142 = NameAndType        #227:#226     // connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #143 = NameAndType        #228:#226     // readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #144 = NameAndType        #229:#226     // writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #145 = NameAndType        #96:#230      // proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #146 = NameAndType        #98:#231      // logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #147 = NameAndType        #100:#231     // logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #148 = NameAndType        #232:#233     // build:()Ldev/ai4j/openai4j/OpenAiClient;\n-  #149 = NameAndType        #74:#75       // client:Ldev/ai4j/openai4j/OpenAiClient;\n-  #150 = Utf8               gpt-3.5-turbo-instruct\n-  #151 = NameAndType        #76:#77       // modelName:Ljava/lang/String;\n-  #152 = NameAndType        #234:#235     // valueOf:(D)Ljava/lang/Double;\n-  #153 = Utf8               java/lang/Double\n-  #154 = NameAndType        #78:#79       // temperature:Ljava/lang/Double;\n-  #155 = NameAndType        #234:#236     // valueOf:(I)Ljava/lang/Integer;\n-  #156 = Utf8               java/lang/Integer\n-  #157 = NameAndType        #80:#81       // maxRetries:Ljava/lang/Integer;\n-  #158 = Utf8               BootstrapMethods\n-  #159 = MethodHandle       6:#237        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #160 = MethodType         #238          //  ()Ljava/lang/Object;\n-  #161 = MethodHandle       7:#239        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-  #162 = MethodType         #123          //  ()Ldev/langchain4j/model/Tokenizer;\n-  #163 = NameAndType        #240:#241     // get:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;)Ljava/util/function/Supplier;\n-  #164 = NameAndType        #217:#242     // getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #165 = Utf8               dev/langchain4j/model/Tokenizer\n-  #166 = NameAndType        #82:#83       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n-  #167 = Class              #243          // dev/ai4j/openai4j/completion/CompletionRequest\n-  #168 = NameAndType        #116:#244     // builder:()Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-  #169 = Class              #245          // dev/ai4j/openai4j/completion/CompletionRequest$Builder\n-  #170 = NameAndType        #246:#247     // model:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-  #171 = NameAndType        #103:#247     // prompt:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-  #172 = NameAndType        #78:#248      // temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-  #173 = NameAndType        #232:#249     // build:()Ldev/ai4j/openai4j/completion/CompletionRequest;\n-  #174 = MethodHandle       7:#250        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$generate$1:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n-  #175 = MethodType         #251          //  ()Ldev/ai4j/openai4j/completion/CompletionResponse;\n-  #176 = NameAndType        #252:#253     // call:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;Ldev/ai4j/openai4j/completion/CompletionRequest;)Ljava/util/concurrent/Callable;\n-  #177 = NameAndType        #254:#255     // intValue:()I\n-  #178 = Class              #256          // dev/langchain4j/internal/RetryUtils\n-  #179 = NameAndType        #257:#258     // withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-  #180 = Utf8               dev/ai4j/openai4j/completion/CompletionResponse\n-  #181 = NameAndType        #259:#260     // choices:()Ljava/util/List;\n-  #182 = Class              #261          // java/util/List\n-  #183 = NameAndType        #240:#262     // get:(I)Ljava/lang/Object;\n-  #184 = Utf8               dev/ai4j/openai4j/completion/CompletionChoice\n-  #185 = NameAndType        #263:#264     // text:()Ljava/lang/String;\n-  #186 = NameAndType        #265:#266     // usage:()Ldev/ai4j/openai4j/shared/Usage;\n-  #187 = NameAndType        #267:#268     // tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-  #188 = NameAndType        #269:#264     // finishReason:()Ljava/lang/String;\n-  #189 = NameAndType        #270:#271     // finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-  #190 = Class              #272          // dev/langchain4j/model/output/Response\n-  #191 = NameAndType        #273:#274     // from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n-  #192 = NameAndType        #275:#113     // estimateTokenCountInText:(Ljava/lang/String;)I\n-  #193 = NameAndType        #116:#117     // builder:()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-  #194 = NameAndType        #92:#276      // apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-  #195 = NameAndType        #232:#277     // build:()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n-  #196 = Utf8               dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n-  #197 = MethodHandle       8:#278        // REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.\"<init>\":()V\n-  #198 = MethodType         #117          //  ()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-  #199 = NameAndType        #240:#279     // get:()Ljava/util/function/Supplier;\n-  #200 = Class              #280          // dev/langchain4j/spi/ServiceHelper\n-  #201 = NameAndType        #281:#282     // loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #202 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n-  #203 = NameAndType        #283:#284     // completion:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n-  #204 = Class              #285          // dev/ai4j/openai4j/SyncOrAsyncOrStreaming\n-  #205 = NameAndType        #286:#238     // execute:()Ljava/lang/Object;\n-  #206 = Utf8               dev/langchain4j/model/openai/OpenAiTokenizer\n-  #207 = NameAndType        #84:#287      // \"<init>\":(Ljava/lang/String;)V\n-  #208 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel\n-  #209 = Utf8               java/lang/Object\n-  #210 = Utf8               dev/langchain4j/model/language/LanguageModel\n-  #211 = Utf8               dev/langchain4j/model/language/TokenCountEstimator\n-  #212 = Utf8               java/lang/Exception\n-  #213 = Utf8               ()V\n-  #214 = Utf8               ofSeconds\n-  #215 = Utf8               (J)Ljava/time/Duration;\n-  #216 = Utf8               dev/langchain4j/internal/Utils\n-  #217 = Utf8               getOrDefault\n-  #218 = Utf8               (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-  #219 = Utf8               dev/ai4j/openai4j/OpenAiClient\n-  #220 = Utf8               Builder\n-  #221 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #222 = Utf8               dev/ai4j/openai4j/OpenAiClient$Builder\n-  #223 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #224 = Utf8               openAiApiKey\n-  #225 = Utf8               callTimeout\n-  #226 = Utf8               (Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #227 = Utf8               connectTimeout\n-  #228 = Utf8               readTimeout\n-  #229 = Utf8               writeTimeout\n-  #230 = Utf8               (Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #231 = Utf8               (Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #232 = Utf8               build\n-  #233 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient;\n-  #234 = Utf8               valueOf\n-  #235 = Utf8               (D)Ljava/lang/Double;\n-  #236 = Utf8               (I)Ljava/lang/Integer;\n-  #237 = Methodref          #288.#289     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #238 = Utf8               ()Ljava/lang/Object;\n-  #239 = Methodref          #68.#290      // dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-  #240 = Utf8               get\n-  #241 = Utf8               (Ldev/langchain4j/model/openai/OpenAiLanguageModel;)Ljava/util/function/Supplier;\n-  #242 = Utf8               (Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #243 = Utf8               dev/ai4j/openai4j/completion/CompletionRequest\n-  #244 = Utf8               ()Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-  #245 = Utf8               dev/ai4j/openai4j/completion/CompletionRequest$Builder\n-  #246 = Utf8               model\n-  #247 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-  #248 = Utf8               (Ljava/lang/Double;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-  #249 = Utf8               ()Ldev/ai4j/openai4j/completion/CompletionRequest;\n-  #250 = Methodref          #68.#291      // dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$generate$1:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n-  #251 = Utf8               ()Ldev/ai4j/openai4j/completion/CompletionResponse;\n-  #252 = Utf8               call\n-  #253 = Utf8               (Ldev/langchain4j/model/openai/OpenAiLanguageModel;Ldev/ai4j/openai4j/completion/CompletionRequest;)Ljava/util/concurrent/Callable;\n-  #254 = Utf8               intValue\n-  #255 = Utf8               ()I\n-  #256 = Utf8               dev/langchain4j/internal/RetryUtils\n-  #257 = Utf8               withRetry\n-  #258 = Utf8               (Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-  #259 = Utf8               choices\n-  #260 = Utf8               ()Ljava/util/List;\n-  #261 = Utf8               java/util/List\n-  #262 = Utf8               (I)Ljava/lang/Object;\n-  #263 = Utf8               text\n-  #264 = Utf8               ()Ljava/lang/String;\n-  #265 = Utf8               usage\n-  #266 = Utf8               ()Ldev/ai4j/openai4j/shared/Usage;\n-  #267 = Utf8               tokenUsageFrom\n-  #268 = Utf8               (Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-  #269 = Utf8               finishReason\n-  #270 = Utf8               finishReasonFrom\n-  #271 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-  #272 = Utf8               dev/langchain4j/model/output/Response\n-  #273 = Utf8               from\n-  #274 = Utf8               (Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n-  #275 = Utf8               estimateTokenCountInText\n-  #276 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-  #277 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n-  #278 = Methodref          #63.#128      // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.\"<init>\":()V\n-  #279 = Utf8               ()Ljava/util/function/Supplier;\n-  #280 = Utf8               dev/langchain4j/spi/ServiceHelper\n-  #281 = Utf8               loadFactoryService\n-  #282 = Utf8               (Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #283 = Utf8               completion\n-  #284 = Utf8               (Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n-  #285 = Utf8               dev/ai4j/openai4j/SyncOrAsyncOrStreaming\n-  #286 = Utf8               execute\n-  #287 = Utf8               (Ljava/lang/String;)V\n-  #288 = Class              #292          // java/lang/invoke/LambdaMetafactory\n-  #289 = NameAndType        #293:#296     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #290 = NameAndType        #122:#123     // lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-  #291 = NameAndType        #118:#119     // lambda$generate$1:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n-  #292 = Utf8               java/lang/invoke/LambdaMetafactory\n-  #293 = Utf8               metafactory\n-  #294 = Class              #298          // java/lang/invoke/MethodHandles$Lookup\n-  #295 = Utf8               Lookup\n-  #296 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #297 = Class              #299          // java/lang/invoke/MethodHandles\n-  #298 = Utf8               java/lang/invoke/MethodHandles$Lookup\n-  #299 = Utf8               java/lang/invoke/MethodHandles\n+    #1 = Class              #2            // dev/langchain4j/model/openai/OpenAiModelName\n+    #2 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n+    #3 = Class              #4            // dev/langchain4j/model/openai/InternalOpenAiHelper\n+    #4 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n+    #5 = Methodref          #6.#7         // java/lang/Object.\"<init>\":()V\n+    #6 = Class              #8            // java/lang/Object\n+    #7 = NameAndType        #9:#10        // \"<init>\":()V\n+    #8 = Utf8               java/lang/Object\n+    #9 = Utf8               <init>\n+   #10 = Utf8               ()V\n+   #11 = Long               60l\n+   #13 = Methodref          #14.#15       // java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n+   #14 = Class              #16           // java/time/Duration\n+   #15 = NameAndType        #17:#18       // ofSeconds:(J)Ljava/time/Duration;\n+   #16 = Utf8               java/time/Duration\n+   #17 = Utf8               ofSeconds\n+   #18 = Utf8               (J)Ljava/time/Duration;\n+   #19 = Methodref          #20.#21       // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #20 = Class              #22           // dev/langchain4j/internal/Utils\n+   #21 = NameAndType        #23:#24       // getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #22 = Utf8               dev/langchain4j/internal/Utils\n+   #23 = Utf8               getOrDefault\n+   #24 = Utf8               (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #25 = Methodref          #26.#27       // dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #26 = Class              #28           // dev/ai4j/openai4j/OpenAiClient\n+   #27 = NameAndType        #29:#30       // builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #28 = Utf8               dev/ai4j/openai4j/OpenAiClient\n+   #29 = Utf8               builder\n+   #30 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #31 = String             #32           // https://api.openai.com/v1\n+   #32 = Utf8               https://api.openai.com/v1\n+   #33 = Class              #34           // java/lang/String\n+   #34 = Utf8               java/lang/String\n+   #35 = Methodref          #36.#37       // dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #36 = Class              #38           // dev/ai4j/openai4j/OpenAiClient$Builder\n+   #37 = NameAndType        #39:#40       // baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #38 = Utf8               dev/ai4j/openai4j/OpenAiClient$Builder\n+   #39 = Utf8               baseUrl\n+   #40 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #41 = Methodref          #36.#42       // dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #42 = NameAndType        #43:#40       // openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #43 = Utf8               openAiApiKey\n+   #44 = Methodref          #36.#45       // dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #45 = NameAndType        #46:#40       // organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #46 = Utf8               organizationId\n+   #47 = Methodref          #36.#48       // dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #48 = NameAndType        #49:#50       // callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #49 = Utf8               callTimeout\n+   #50 = Utf8               (Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #51 = Methodref          #36.#52       // dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #52 = NameAndType        #53:#50       // connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #53 = Utf8               connectTimeout\n+   #54 = Methodref          #36.#55       // dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #55 = NameAndType        #56:#50       // readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #56 = Utf8               readTimeout\n+   #57 = Methodref          #36.#58       // dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #58 = NameAndType        #59:#50       // writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #59 = Utf8               writeTimeout\n+   #60 = Methodref          #36.#61       // dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #61 = NameAndType        #62:#63       // proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #62 = Utf8               proxy\n+   #63 = Utf8               (Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #64 = Methodref          #36.#65       // dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #65 = NameAndType        #66:#67       // logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #66 = Utf8               logRequests\n+   #67 = Utf8               (Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #68 = Methodref          #36.#69       // dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #69 = NameAndType        #70:#67       // logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #70 = Utf8               logResponses\n+   #71 = Methodref          #36.#72       // dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n+   #72 = NameAndType        #73:#74       // build:()Ldev/ai4j/openai4j/OpenAiClient;\n+   #73 = Utf8               build\n+   #74 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient;\n+   #75 = Fieldref           #76.#77       // dev/langchain4j/model/openai/OpenAiLanguageModel.client:Ldev/ai4j/openai4j/OpenAiClient;\n+   #76 = Class              #78           // dev/langchain4j/model/openai/OpenAiLanguageModel\n+   #77 = NameAndType        #79:#80       // client:Ldev/ai4j/openai4j/OpenAiClient;\n+   #78 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel\n+   #79 = Utf8               client\n+   #80 = Utf8               Ldev/ai4j/openai4j/OpenAiClient;\n+   #81 = String             #82           // gpt-3.5-turbo-instruct\n+   #82 = Utf8               gpt-3.5-turbo-instruct\n+   #83 = Fieldref           #76.#84       // dev/langchain4j/model/openai/OpenAiLanguageModel.modelName:Ljava/lang/String;\n+   #84 = NameAndType        #85:#86       // modelName:Ljava/lang/String;\n+   #85 = Utf8               modelName\n+   #86 = Utf8               Ljava/lang/String;\n+   #87 = Double             0.7d\n+   #89 = Methodref          #90.#91       // java/lang/Double.valueOf:(D)Ljava/lang/Double;\n+   #90 = Class              #92           // java/lang/Double\n+   #91 = NameAndType        #93:#94       // valueOf:(D)Ljava/lang/Double;\n+   #92 = Utf8               java/lang/Double\n+   #93 = Utf8               valueOf\n+   #94 = Utf8               (D)Ljava/lang/Double;\n+   #95 = Fieldref           #76.#96       // dev/langchain4j/model/openai/OpenAiLanguageModel.temperature:Ljava/lang/Double;\n+   #96 = NameAndType        #97:#98       // temperature:Ljava/lang/Double;\n+   #97 = Utf8               temperature\n+   #98 = Utf8               Ljava/lang/Double;\n+   #99 = Methodref          #100.#101     // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+  #100 = Class              #102          // java/lang/Integer\n+  #101 = NameAndType        #93:#103      // valueOf:(I)Ljava/lang/Integer;\n+  #102 = Utf8               java/lang/Integer\n+  #103 = Utf8               (I)Ljava/lang/Integer;\n+  #104 = Fieldref           #76.#105      // dev/langchain4j/model/openai/OpenAiLanguageModel.maxRetries:Ljava/lang/Integer;\n+  #105 = NameAndType        #106:#107     // maxRetries:Ljava/lang/Integer;\n+  #106 = Utf8               maxRetries\n+  #107 = Utf8               Ljava/lang/Integer;\n+  #108 = InvokeDynamic      #0:#109       // #0:get:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;)Ljava/util/function/Supplier;\n+  #109 = NameAndType        #110:#111     // get:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;)Ljava/util/function/Supplier;\n+  #110 = Utf8               get\n+  #111 = Utf8               (Ldev/langchain4j/model/openai/OpenAiLanguageModel;)Ljava/util/function/Supplier;\n+  #112 = Methodref          #20.#113      // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #113 = NameAndType        #23:#114      // getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #114 = Utf8               (Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #115 = Class              #116          // dev/langchain4j/model/Tokenizer\n+  #116 = Utf8               dev/langchain4j/model/Tokenizer\n+  #117 = Fieldref           #76.#118      // dev/langchain4j/model/openai/OpenAiLanguageModel.tokenizer:Ldev/langchain4j/model/Tokenizer;\n+  #118 = NameAndType        #119:#120     // tokenizer:Ldev/langchain4j/model/Tokenizer;\n+  #119 = Utf8               tokenizer\n+  #120 = Utf8               Ldev/langchain4j/model/Tokenizer;\n+  #121 = Methodref          #122.#123     // dev/ai4j/openai4j/completion/CompletionRequest.builder:()Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #122 = Class              #124          // dev/ai4j/openai4j/completion/CompletionRequest\n+  #123 = NameAndType        #29:#125      // builder:()Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #124 = Utf8               dev/ai4j/openai4j/completion/CompletionRequest\n+  #125 = Utf8               ()Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #126 = Methodref          #127.#128     // dev/ai4j/openai4j/completion/CompletionRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #127 = Class              #129          // dev/ai4j/openai4j/completion/CompletionRequest$Builder\n+  #128 = NameAndType        #130:#131     // model:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #129 = Utf8               dev/ai4j/openai4j/completion/CompletionRequest$Builder\n+  #130 = Utf8               model\n+  #131 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #132 = Methodref          #127.#133     // dev/ai4j/openai4j/completion/CompletionRequest$Builder.prompt:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #133 = NameAndType        #134:#131     // prompt:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #134 = Utf8               prompt\n+  #135 = Methodref          #127.#136     // dev/ai4j/openai4j/completion/CompletionRequest$Builder.temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #136 = NameAndType        #97:#137      // temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #137 = Utf8               (Ljava/lang/Double;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+  #138 = Methodref          #127.#139     // dev/ai4j/openai4j/completion/CompletionRequest$Builder.build:()Ldev/ai4j/openai4j/completion/CompletionRequest;\n+  #139 = NameAndType        #73:#140      // build:()Ldev/ai4j/openai4j/completion/CompletionRequest;\n+  #140 = Utf8               ()Ldev/ai4j/openai4j/completion/CompletionRequest;\n+  #141 = InvokeDynamic      #1:#142       // #1:call:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;Ldev/ai4j/openai4j/completion/CompletionRequest;)Ljava/util/concurrent/Callable;\n+  #142 = NameAndType        #143:#144     // call:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;Ldev/ai4j/openai4j/completion/CompletionRequest;)Ljava/util/concurrent/Callable;\n+  #143 = Utf8               call\n+  #144 = Utf8               (Ldev/langchain4j/model/openai/OpenAiLanguageModel;Ldev/ai4j/openai4j/completion/CompletionRequest;)Ljava/util/concurrent/Callable;\n+  #145 = Methodref          #100.#146     // java/lang/Integer.intValue:()I\n+  #146 = NameAndType        #147:#148     // intValue:()I\n+  #147 = Utf8               intValue\n+  #148 = Utf8               ()I\n+  #149 = Methodref          #150.#151     // dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #150 = Class              #152          // dev/langchain4j/internal/RetryUtils\n+  #151 = NameAndType        #153:#154     // withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #152 = Utf8               dev/langchain4j/internal/RetryUtils\n+  #153 = Utf8               withRetry\n+  #154 = Utf8               (Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #155 = Class              #156          // dev/ai4j/openai4j/completion/CompletionResponse\n+  #156 = Utf8               dev/ai4j/openai4j/completion/CompletionResponse\n+  #157 = Methodref          #155.#158     // dev/ai4j/openai4j/completion/CompletionResponse.choices:()Ljava/util/List;\n+  #158 = NameAndType        #159:#160     // choices:()Ljava/util/List;\n+  #159 = Utf8               choices\n+  #160 = Utf8               ()Ljava/util/List;\n+  #161 = InterfaceMethodref #162.#163     // java/util/List.get:(I)Ljava/lang/Object;\n+  #162 = Class              #164          // java/util/List\n+  #163 = NameAndType        #110:#165     // get:(I)Ljava/lang/Object;\n+  #164 = Utf8               java/util/List\n+  #165 = Utf8               (I)Ljava/lang/Object;\n+  #166 = Class              #167          // dev/ai4j/openai4j/completion/CompletionChoice\n+  #167 = Utf8               dev/ai4j/openai4j/completion/CompletionChoice\n+  #168 = Methodref          #166.#169     // dev/ai4j/openai4j/completion/CompletionChoice.text:()Ljava/lang/String;\n+  #169 = NameAndType        #170:#171     // text:()Ljava/lang/String;\n+  #170 = Utf8               text\n+  #171 = Utf8               ()Ljava/lang/String;\n+  #172 = Methodref          #155.#173     // dev/ai4j/openai4j/completion/CompletionResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n+  #173 = NameAndType        #174:#175     // usage:()Ldev/ai4j/openai4j/shared/Usage;\n+  #174 = Utf8               usage\n+  #175 = Utf8               ()Ldev/ai4j/openai4j/shared/Usage;\n+  #176 = Methodref          #3.#177       // dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #177 = NameAndType        #178:#179     // tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #178 = Utf8               tokenUsageFrom\n+  #179 = Utf8               (Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #180 = Methodref          #166.#181     // dev/ai4j/openai4j/completion/CompletionChoice.finishReason:()Ljava/lang/String;\n+  #181 = NameAndType        #182:#171     // finishReason:()Ljava/lang/String;\n+  #182 = Utf8               finishReason\n+  #183 = Methodref          #3.#184       // dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #184 = NameAndType        #185:#186     // finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #185 = Utf8               finishReasonFrom\n+  #186 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #187 = Methodref          #188.#189     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+  #188 = Class              #190          // dev/langchain4j/model/output/Response\n+  #189 = NameAndType        #191:#192     // from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+  #190 = Utf8               dev/langchain4j/model/output/Response\n+  #191 = Utf8               from\n+  #192 = Utf8               (Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+  #193 = InterfaceMethodref #115.#194     // dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n+  #194 = NameAndType        #195:#196     // estimateTokenCountInText:(Ljava/lang/String;)I\n+  #195 = Utf8               estimateTokenCountInText\n+  #196 = Utf8               (Ljava/lang/String;)I\n+  #197 = Methodref          #76.#198      // dev/langchain4j/model/openai/OpenAiLanguageModel.builder:()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #198 = NameAndType        #29:#199      // builder:()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #199 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #200 = Methodref          #201.#202     // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #201 = Class              #203          // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n+  #202 = NameAndType        #204:#205     // apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #203 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n+  #204 = Utf8               apiKey\n+  #205 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #206 = Methodref          #201.#207     // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n+  #207 = NameAndType        #73:#208      // build:()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n+  #208 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n+  #209 = Class              #210          // dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n+  #210 = Utf8               dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n+  #211 = InvokeDynamic      #2:#212       // #2:get:()Ljava/util/function/Supplier;\n+  #212 = NameAndType        #110:#213     // get:()Ljava/util/function/Supplier;\n+  #213 = Utf8               ()Ljava/util/function/Supplier;\n+  #214 = Methodref          #215.#216     // dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #215 = Class              #217          // dev/langchain4j/spi/ServiceHelper\n+  #216 = NameAndType        #218:#219     // loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #217 = Utf8               dev/langchain4j/spi/ServiceHelper\n+  #218 = Utf8               loadFactoryService\n+  #219 = Utf8               (Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #220 = Methodref          #26.#221      // dev/ai4j/openai4j/OpenAiClient.completion:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n+  #221 = NameAndType        #222:#223     // completion:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n+  #222 = Utf8               completion\n+  #223 = Utf8               (Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n+  #224 = InterfaceMethodref #225.#226     // dev/ai4j/openai4j/SyncOrAsyncOrStreaming.execute:()Ljava/lang/Object;\n+  #225 = Class              #227          // dev/ai4j/openai4j/SyncOrAsyncOrStreaming\n+  #226 = NameAndType        #228:#229     // execute:()Ljava/lang/Object;\n+  #227 = Utf8               dev/ai4j/openai4j/SyncOrAsyncOrStreaming\n+  #228 = Utf8               execute\n+  #229 = Utf8               ()Ljava/lang/Object;\n+  #230 = Class              #231          // dev/langchain4j/model/openai/OpenAiTokenizer\n+  #231 = Utf8               dev/langchain4j/model/openai/OpenAiTokenizer\n+  #232 = Methodref          #230.#233     // dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n+  #233 = NameAndType        #9:#234       // \"<init>\":(Ljava/lang/String;)V\n+  #234 = Utf8               (Ljava/lang/String;)V\n+  #235 = Class              #236          // dev/langchain4j/model/language/LanguageModel\n+  #236 = Utf8               dev/langchain4j/model/language/LanguageModel\n+  #237 = Class              #238          // dev/langchain4j/model/language/TokenCountEstimator\n+  #238 = Utf8               dev/langchain4j/model/language/TokenCountEstimator\n+  #239 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+  #240 = Utf8               Code\n+  #241 = Utf8               LineNumberTable\n+  #242 = Utf8               LocalVariableTable\n+  #243 = Utf8               this\n+  #244 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n+  #245 = Utf8               timeout\n+  #246 = Utf8               Ljava/time/Duration;\n+  #247 = Utf8               Ljava/net/Proxy;\n+  #248 = Utf8               Ljava/lang/Boolean;\n+  #249 = Utf8               generate\n+  #250 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/Response;\n+  #251 = Utf8               request\n+  #252 = Utf8               Ldev/ai4j/openai4j/completion/CompletionRequest;\n+  #253 = Utf8               response\n+  #254 = Utf8               Ldev/ai4j/openai4j/completion/CompletionResponse;\n+  #255 = Utf8               completionChoice\n+  #256 = Utf8               Ldev/ai4j/openai4j/completion/CompletionChoice;\n+  #257 = Utf8               Signature\n+  #258 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/Response<Ljava/lang/String;>;\n+  #259 = Utf8               estimateTokenCount\n+  #260 = Utf8               withApiKey\n+  #261 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n+  #262 = Utf8               lambda$generate$1\n+  #263 = Utf8               (Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n+  #264 = Utf8               Exceptions\n+  #265 = Class              #266          // java/lang/Exception\n+  #266 = Utf8               java/lang/Exception\n+  #267 = Utf8               lambda$new$0\n+  #268 = Utf8               ()Ldev/langchain4j/model/Tokenizer;\n+  #269 = Utf8               SourceFile\n+  #270 = Utf8               OpenAiLanguageModel.java\n+  #271 = Utf8               BootstrapMethods\n+  #272 = MethodHandle       6:#273        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #273 = Methodref          #274.#275     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #274 = Class              #276          // java/lang/invoke/LambdaMetafactory\n+  #275 = NameAndType        #277:#278     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #276 = Utf8               java/lang/invoke/LambdaMetafactory\n+  #277 = Utf8               metafactory\n+  #278 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #279 = MethodType         #229          //  ()Ljava/lang/Object;\n+  #280 = MethodHandle       7:#281        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+  #281 = Methodref          #76.#282      // dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+  #282 = NameAndType        #267:#268     // lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+  #283 = MethodType         #268          //  ()Ldev/langchain4j/model/Tokenizer;\n+  #284 = MethodHandle       7:#285        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$generate$1:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n+  #285 = Methodref          #76.#286      // dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$generate$1:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n+  #286 = NameAndType        #262:#263     // lambda$generate$1:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n+  #287 = MethodType         #288          //  ()Ldev/ai4j/openai4j/completion/CompletionResponse;\n+  #288 = Utf8               ()Ldev/ai4j/openai4j/completion/CompletionResponse;\n+  #289 = MethodHandle       8:#290        // REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.\"<init>\":()V\n+  #290 = Methodref          #201.#7       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.\"<init>\":()V\n+  #291 = MethodType         #199          //  ()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #292 = Utf8               InnerClasses\n+  #293 = Utf8               Builder\n+  #294 = Utf8               OpenAiLanguageModelBuilder\n+  #295 = Class              #296          // java/lang/invoke/MethodHandles$Lookup\n+  #296 = Utf8               java/lang/invoke/MethodHandles$Lookup\n+  #297 = Class              #298          // java/lang/invoke/MethodHandles\n+  #298 = Utf8               java/lang/invoke/MethodHandles\n+  #299 = Utf8               Lookup\n {\n   private final dev.ai4j.openai4j.OpenAiClient client;\n     descriptor: Ldev/ai4j/openai4j/OpenAiClient;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.lang.String modelName;\n     descriptor: Ljava/lang/String;\n@@ -328,75 +328,75 @@\n \n   public dev.langchain4j.model.openai.OpenAiLanguageModel(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Double, java.time.Duration, java.lang.Integer, java.net.Proxy, java.lang.Boolean, java.lang.Boolean, dev.langchain4j.model.Tokenizer);\n     descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=4, locals=12, args_size=12\n          0: aload_0\n-         1: invokespecial #3                  // Method java/lang/Object.\"<init>\":()V\n+         1: invokespecial #5                  // Method java/lang/Object.\"<init>\":()V\n          4: aload         6\n-         6: ldc2_w        #4                  // long 60l\n-         9: invokestatic  #6                  // Method java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n-        12: invokestatic  #7                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-        15: checkcast     #8                  // class java/time/Duration\n+         6: ldc2_w        #11                 // long 60l\n+         9: invokestatic  #13                 // Method java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n+        12: invokestatic  #19                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+        15: checkcast     #14                 // class java/time/Duration\n         18: astore        6\n         20: aload_0\n-        21: invokestatic  #9                  // Method dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        21: invokestatic  #25                 // Method dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         24: aload_1\n-        25: ldc           #10                 // String https://api.openai.com/v1\n-        27: invokestatic  #7                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-        30: checkcast     #11                 // class java/lang/String\n-        33: invokevirtual #12                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        25: ldc           #31                 // String https://api.openai.com/v1\n+        27: invokestatic  #19                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+        30: checkcast     #33                 // class java/lang/String\n+        33: invokevirtual #35                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         36: aload_2\n-        37: invokevirtual #13                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        37: invokevirtual #41                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         40: aload_3\n-        41: invokevirtual #14                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        41: invokevirtual #44                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         44: aload         6\n-        46: invokevirtual #15                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        46: invokevirtual #47                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         49: aload         6\n-        51: invokevirtual #16                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        51: invokevirtual #51                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         54: aload         6\n-        56: invokevirtual #17                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        56: invokevirtual #54                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         59: aload         6\n-        61: invokevirtual #18                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        61: invokevirtual #57                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         64: aload         8\n-        66: invokevirtual #19                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        66: invokevirtual #60                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         69: aload         9\n-        71: invokevirtual #20                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        71: invokevirtual #64                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         74: aload         10\n-        76: invokevirtual #21                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-        79: invokevirtual #22                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n-        82: putfield      #23                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n+        76: invokevirtual #68                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        79: invokevirtual #71                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n+        82: putfield      #75                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n         85: aload_0\n         86: aload         4\n-        88: ldc           #24                 // String gpt-3.5-turbo-instruct\n-        90: invokestatic  #7                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-        93: checkcast     #11                 // class java/lang/String\n-        96: putfield      #25                 // Field modelName:Ljava/lang/String;\n+        88: ldc           #81                 // String gpt-3.5-turbo-instruct\n+        90: invokestatic  #19                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+        93: checkcast     #33                 // class java/lang/String\n+        96: putfield      #83                 // Field modelName:Ljava/lang/String;\n         99: aload_0\n        100: aload         5\n-       102: ldc2_w        #26                 // double 0.7d\n-       105: invokestatic  #28                 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;\n-       108: invokestatic  #7                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-       111: checkcast     #29                 // class java/lang/Double\n-       114: putfield      #30                 // Field temperature:Ljava/lang/Double;\n+       102: ldc2_w        #87                 // double 0.7d\n+       105: invokestatic  #89                 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;\n+       108: invokestatic  #19                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+       111: checkcast     #90                 // class java/lang/Double\n+       114: putfield      #95                 // Field temperature:Ljava/lang/Double;\n        117: aload_0\n        118: aload         7\n        120: iconst_3\n-       121: invokestatic  #31                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-       124: invokestatic  #7                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-       127: checkcast     #32                 // class java/lang/Integer\n-       130: putfield      #33                 // Field maxRetries:Ljava/lang/Integer;\n+       121: invokestatic  #99                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+       124: invokestatic  #19                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+       127: checkcast     #100                // class java/lang/Integer\n+       130: putfield      #104                // Field maxRetries:Ljava/lang/Integer;\n        133: aload_0\n        134: aload         11\n        136: aload_0\n-       137: invokedynamic #34,  0             // InvokeDynamic #0:get:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;)Ljava/util/function/Supplier;\n-       142: invokestatic  #35                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-       145: checkcast     #36                 // class dev/langchain4j/model/Tokenizer\n-       148: putfield      #37                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+       137: invokedynamic #108,  0            // InvokeDynamic #0:get:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;)Ljava/util/function/Supplier;\n+       142: invokestatic  #112                // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+       145: checkcast     #115                // class dev/langchain4j/model/Tokenizer\n+       148: putfield      #117                // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n        151: return\n       LineNumberTable:\n         line 48: 0\n         line 50: 4\n         line 52: 20\n         line 53: 27\n         line 54: 37\n@@ -430,49 +430,49 @@\n             0     152    11 tokenizer   Ldev/langchain4j/model/Tokenizer;\n \n   public dev.langchain4j.model.output.Response<java.lang.String> generate(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=5, args_size=2\n-         0: invokestatic  #38                 // Method dev/ai4j/openai4j/completion/CompletionRequest.builder:()Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+         0: invokestatic  #121                // Method dev/ai4j/openai4j/completion/CompletionRequest.builder:()Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n          3: aload_0\n-         4: getfield      #25                 // Field modelName:Ljava/lang/String;\n-         7: invokevirtual #39                 // Method dev/ai4j/openai4j/completion/CompletionRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+         4: getfield      #83                 // Field modelName:Ljava/lang/String;\n+         7: invokevirtual #126                // Method dev/ai4j/openai4j/completion/CompletionRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n         10: aload_1\n-        11: invokevirtual #40                 // Method dev/ai4j/openai4j/completion/CompletionRequest$Builder.prompt:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+        11: invokevirtual #132                // Method dev/ai4j/openai4j/completion/CompletionRequest$Builder.prompt:(Ljava/lang/String;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n         14: aload_0\n-        15: getfield      #30                 // Field temperature:Ljava/lang/Double;\n-        18: invokevirtual #41                 // Method dev/ai4j/openai4j/completion/CompletionRequest$Builder.temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n-        21: invokevirtual #42                 // Method dev/ai4j/openai4j/completion/CompletionRequest$Builder.build:()Ldev/ai4j/openai4j/completion/CompletionRequest;\n+        15: getfield      #95                 // Field temperature:Ljava/lang/Double;\n+        18: invokevirtual #135                // Method dev/ai4j/openai4j/completion/CompletionRequest$Builder.temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/completion/CompletionRequest$Builder;\n+        21: invokevirtual #138                // Method dev/ai4j/openai4j/completion/CompletionRequest$Builder.build:()Ldev/ai4j/openai4j/completion/CompletionRequest;\n         24: astore_2\n         25: aload_0\n         26: aload_2\n-        27: invokedynamic #43,  0             // InvokeDynamic #1:call:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;Ldev/ai4j/openai4j/completion/CompletionRequest;)Ljava/util/concurrent/Callable;\n+        27: invokedynamic #141,  0            // InvokeDynamic #1:call:(Ldev/langchain4j/model/openai/OpenAiLanguageModel;Ldev/ai4j/openai4j/completion/CompletionRequest;)Ljava/util/concurrent/Callable;\n         32: aload_0\n-        33: getfield      #33                 // Field maxRetries:Ljava/lang/Integer;\n-        36: invokevirtual #44                 // Method java/lang/Integer.intValue:()I\n-        39: invokestatic  #45                 // Method dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-        42: checkcast     #46                 // class dev/ai4j/openai4j/completion/CompletionResponse\n+        33: getfield      #104                // Field maxRetries:Ljava/lang/Integer;\n+        36: invokevirtual #145                // Method java/lang/Integer.intValue:()I\n+        39: invokestatic  #149                // Method dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+        42: checkcast     #155                // class dev/ai4j/openai4j/completion/CompletionResponse\n         45: astore_3\n         46: aload_3\n-        47: invokevirtual #47                 // Method dev/ai4j/openai4j/completion/CompletionResponse.choices:()Ljava/util/List;\n+        47: invokevirtual #157                // Method dev/ai4j/openai4j/completion/CompletionResponse.choices:()Ljava/util/List;\n         50: iconst_0\n-        51: invokeinterface #48,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n-        56: checkcast     #49                 // class dev/ai4j/openai4j/completion/CompletionChoice\n+        51: invokeinterface #161,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n+        56: checkcast     #166                // class dev/ai4j/openai4j/completion/CompletionChoice\n         59: astore        4\n         61: aload         4\n-        63: invokevirtual #50                 // Method dev/ai4j/openai4j/completion/CompletionChoice.text:()Ljava/lang/String;\n+        63: invokevirtual #168                // Method dev/ai4j/openai4j/completion/CompletionChoice.text:()Ljava/lang/String;\n         66: aload_3\n-        67: invokevirtual #51                 // Method dev/ai4j/openai4j/completion/CompletionResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n-        70: invokestatic  #52                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+        67: invokevirtual #172                // Method dev/ai4j/openai4j/completion/CompletionResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n+        70: invokestatic  #176                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n         73: aload         4\n-        75: invokevirtual #53                 // Method dev/ai4j/openai4j/completion/CompletionChoice.finishReason:()Ljava/lang/String;\n-        78: invokestatic  #54                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-        81: invokestatic  #55                 // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+        75: invokevirtual #180                // Method dev/ai4j/openai4j/completion/CompletionChoice.finishReason:()Ljava/lang/String;\n+        78: invokestatic  #183                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+        81: invokestatic  #187                // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n         84: areturn\n       LineNumberTable:\n         line 73: 0\n         line 74: 7\n         line 75: 11\n         line 76: 18\n         line 77: 21\n@@ -486,73 +486,73 @@\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      85     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n             0      85     1 prompt   Ljava/lang/String;\n            25      60     2 request   Ldev/ai4j/openai4j/completion/CompletionRequest;\n            46      39     3 response   Ldev/ai4j/openai4j/completion/CompletionResponse;\n            61      24     4 completionChoice   Ldev/ai4j/openai4j/completion/CompletionChoice;\n-    Signature: #111                         // (Ljava/lang/String;)Ldev/langchain4j/model/output/Response<Ljava/lang/String;>;\n+    Signature: #258                         // (Ljava/lang/String;)Ldev/langchain4j/model/output/Response<Ljava/lang/String;>;\n \n   public int estimateTokenCount(java.lang.String);\n     descriptor: (Ljava/lang/String;)I\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #37                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+         1: getfield      #117                // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n          4: aload_1\n-         5: invokeinterface #56,  2           // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n+         5: invokeinterface #193,  2          // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n         10: ireturn\n       LineNumberTable:\n         line 91: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      11     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n             0      11     1 prompt   Ljava/lang/String;\n \n   public static dev.langchain4j.model.openai.OpenAiLanguageModel withApiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: invokestatic  #57                 // Method builder:()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+         0: invokestatic  #197                // Method builder:()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n          3: aload_0\n-         4: invokevirtual #58                 // Method dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-         7: invokevirtual #59                 // Method dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n+         4: invokevirtual #200                // Method dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+         7: invokevirtual #206                // Method dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n         10: areturn\n       LineNumberTable:\n         line 95: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      11     0 apiKey   Ljava/lang/String;\n \n   public static dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder builder();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=0, args_size=0\n-         0: ldc           #60                 // class dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n-         2: invokedynamic #61,  0             // InvokeDynamic #2:get:()Ljava/util/function/Supplier;\n-         7: invokestatic  #62                 // Method dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-        10: checkcast     #63                 // class dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n+         0: ldc           #209                // class dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n+         2: invokedynamic #211,  0            // InvokeDynamic #2:get:()Ljava/util/function/Supplier;\n+         7: invokestatic  #214                // Method dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+        10: checkcast     #201                // class dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n         13: areturn\n       LineNumberTable:\n         line 99: 0\n \n   private dev.ai4j.openai4j.completion.CompletionResponse lambda$generate$1(dev.ai4j.openai4j.completion.CompletionRequest) throws java.lang.Exception;\n     descriptor: (Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n     flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #23                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n+         1: getfield      #75                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n          4: aload_1\n-         5: invokevirtual #64                 // Method dev/ai4j/openai4j/OpenAiClient.completion:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n-         8: invokeinterface #65,  1           // InterfaceMethod dev/ai4j/openai4j/SyncOrAsyncOrStreaming.execute:()Ljava/lang/Object;\n-        13: checkcast     #46                 // class dev/ai4j/openai4j/completion/CompletionResponse\n+         5: invokevirtual #220                // Method dev/ai4j/openai4j/OpenAiClient.completion:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n+         8: invokeinterface #224,  1          // InterfaceMethod dev/ai4j/openai4j/SyncOrAsyncOrStreaming.execute:()Ljava/lang/Object;\n+        13: checkcast     #155                // class dev/ai4j/openai4j/completion/CompletionResponse\n         16: areturn\n       LineNumberTable:\n         line 79: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      17     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n             0      17     1 request   Ldev/ai4j/openai4j/completion/CompletionRequest;\n@@ -560,41 +560,41 @@\n       throws java.lang.Exception\n \n   private dev.langchain4j.model.Tokenizer lambda$new$0();\n     descriptor: ()Ldev/langchain4j/model/Tokenizer;\n     flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC\n     Code:\n       stack=3, locals=1, args_size=1\n-         0: new           #66                 // class dev/langchain4j/model/openai/OpenAiTokenizer\n+         0: new           #230                // class dev/langchain4j/model/openai/OpenAiTokenizer\n          3: dup\n          4: aload_0\n-         5: getfield      #25                 // Field modelName:Ljava/lang/String;\n-         8: invokespecial #67                 // Method dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n+         5: getfield      #83                 // Field modelName:Ljava/lang/String;\n+         8: invokespecial #232                // Method dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n         11: areturn\n       LineNumberTable:\n         line 67: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      12     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n }\n SourceFile: \"OpenAiLanguageModel.java\"\n-InnerClasses:\n-  public static #72= #63 of #68;          // OpenAiLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiLanguageModel\n-  public static abstract #220= #137 of #133; // Builder=class dev/ai4j/openai4j/OpenAiClient$Builder of class dev/ai4j/openai4j/OpenAiClient\n-  public static final #220= #169 of #167; // Builder=class dev/ai4j/openai4j/completion/CompletionRequest$Builder of class dev/ai4j/openai4j/completion/CompletionRequest\n-  public static final #295= #294 of #297; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n BootstrapMethods:\n-  0: #159 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  0: #272 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #160 ()Ljava/lang/Object;\n-      #161 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-      #162 ()Ldev/langchain4j/model/Tokenizer;\n-  1: #159 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #279 ()Ljava/lang/Object;\n+      #280 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+      #283 ()Ldev/langchain4j/model/Tokenizer;\n+  1: #272 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #160 ()Ljava/lang/Object;\n-      #174 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$generate$1:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n-      #175 ()Ldev/ai4j/openai4j/completion/CompletionResponse;\n-  2: #159 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #279 ()Ljava/lang/Object;\n+      #284 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel.lambda$generate$1:(Ldev/ai4j/openai4j/completion/CompletionRequest;)Ldev/ai4j/openai4j/completion/CompletionResponse;\n+      #287 ()Ldev/ai4j/openai4j/completion/CompletionResponse;\n+  2: #272 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #160 ()Ljava/lang/Object;\n-      #197 REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.\"<init>\":()V\n-      #198 ()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+      #279 ()Ljava/lang/Object;\n+      #289 REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.\"<init>\":()V\n+      #291 ()Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+InnerClasses:\n+  public static abstract #293= #36 of #26; // Builder=class dev/ai4j/openai4j/OpenAiClient$Builder of class dev/ai4j/openai4j/OpenAiClient\n+  public static final #293= #127 of #122; // Builder=class dev/ai4j/openai4j/completion/CompletionRequest$Builder of class dev/ai4j/openai4j/completion/CompletionRequest\n+  public static #294= #201 of #76;        // OpenAiLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiLanguageModel\n+  public static final #299= #295 of #297; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiStreamingChatModel.class", "source2": "dev/langchain4j/model/openai/OpenAiStreamingChatModel.class", "unified_diff": null, "details": [{"source1": "procyon -ec {}", "source2": "procyon -ec {}", "unified_diff": "@@ -3,15 +3,17 @@\n \n import java.util.function.Supplier;\n import dev.langchain4j.spi.ServiceHelper;\n import dev.langchain4j.model.openai.spi.OpenAiStreamingChatModelBuilderFactory;\n import dev.ai4j.openai4j.chat.Delta;\n import dev.ai4j.openai4j.chat.ChatCompletionChoice;\n import dev.ai4j.openai4j.chat.ChatCompletionResponse;\n+import dev.ai4j.openai4j.StreamingCompletionHandling;\n import java.util.function.Consumer;\n+import java.util.Objects;\n import dev.langchain4j.model.output.Response;\n import java.util.Collection;\n import java.util.Collections;\n import dev.ai4j.openai4j.chat.ChatCompletionRequest;\n import dev.langchain4j.agent.tool.ToolSpecification;\n import dev.langchain4j.data.message.AiMessage;\n import dev.langchain4j.model.StreamingResponseHandler;\n@@ -81,21 +83,25 @@\n         }\n         else if (!Utils.isNullOrEmpty((Collection)toolSpecifications)) {\n             requestBuilder.tools(InternalOpenAiHelper.toTools((Collection)toolSpecifications));\n             inputTokenCount += this.tokenizer.estimateTokenCountInToolSpecifications((Iterable)toolSpecifications);\n         }\n         final ChatCompletionRequest request = requestBuilder.build();\n         final OpenAiStreamingResponseBuilder responseBuilder = new OpenAiStreamingResponseBuilder(Integer.valueOf(inputTokenCount));\n-        this.client.chatCompletion(request).onPartialResponse(partialResponse -> {\n+        final StreamingCompletionHandling onComplete = this.client.chatCompletion(request).onPartialResponse(partialResponse -> {\n             responseBuilder.append(partialResponse);\n             handle(partialResponse, (StreamingResponseHandler<AiMessage>)handler);\n+            return;\n         }).onComplete(() -> {\n             final Response<AiMessage> response = (Response<AiMessage>)responseBuilder.build(this.tokenizer, toolThatMustBeExecuted != null);\n             handler.onComplete((Response)response);\n-        }).onError((Consumer)handler::onError).execute();\n+            return;\n+        });\n+        Objects.requireNonNull(handler);\n+        onComplete.onError((Consumer)handler::onError).execute();\n     }\n     \n     private static void handle(final ChatCompletionResponse partialResponse, final StreamingResponseHandler<AiMessage> handler) {\n         final List<ChatCompletionChoice> choices = partialResponse.choices();\n         if (choices == null || choices.isEmpty()) {\n             return;\n         }\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.class", "source2": "dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,181 +1,181 @@\n-  SHA-256 checksum 04ecb2c5c9e13c602c8728773f94623ecede3bdaeab43a724aeed4e42cb7b4b1\n+  SHA-256 checksum 6b83230255376d1f7a80ef45626d05e7035108eff5b274e8c9714dd3c65e029e\n   Compiled from \"OpenAiStreamingChatModel.java\"\n public class dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #49                         // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n-  super_class: #50                        // java/lang/Object\n+  this_class: #8                          // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 19, methods: 23, attributes: 2\n Constant pool:\n-    #1 = Methodref          #50.#111      // java/lang/Object.\"<init>\":()V\n-    #2 = Fieldref           #49.#112      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.modelName:Ljava/lang/String;\n-    #3 = Methodref          #113.#114     // dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-    #4 = Fieldref           #49.#115      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.baseUrl:Ljava/lang/String;\n-    #5 = Fieldref           #49.#116      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.apiKey:Ljava/lang/String;\n-    #6 = Fieldref           #49.#117      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.organizationId:Ljava/lang/String;\n-    #7 = Fieldref           #49.#118      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.temperature:Ljava/lang/Double;\n-    #8 = Fieldref           #49.#119      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.topP:Ljava/lang/Double;\n-    #9 = Fieldref           #49.#120      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.stop:Ljava/util/List;\n-   #10 = Fieldref           #49.#121      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.maxTokens:Ljava/lang/Integer;\n-   #11 = Fieldref           #49.#122      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.presencePenalty:Ljava/lang/Double;\n-   #12 = Fieldref           #49.#123      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.frequencyPenalty:Ljava/lang/Double;\n-   #13 = Fieldref           #49.#124      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.logitBias:Ljava/util/Map;\n-   #14 = Fieldref           #49.#125      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.responseFormat:Ljava/lang/String;\n-   #15 = Fieldref           #49.#126      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.seed:Ljava/lang/Integer;\n-   #16 = Fieldref           #49.#127      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.user:Ljava/lang/String;\n-   #17 = Fieldref           #49.#128      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.timeout:Ljava/time/Duration;\n-   #18 = Fieldref           #49.#129      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.proxy:Ljava/net/Proxy;\n-   #19 = Fieldref           #49.#130      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.logRequests:Ljava/lang/Boolean;\n-   #20 = Fieldref           #49.#131      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.logResponses:Ljava/lang/Boolean;\n-   #21 = Fieldref           #49.#132      // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #22 = Class              #133          // dev/langchain4j/model/openai/OpenAiStreamingChatModel\n-   #23 = Methodref          #22.#134      // dev/langchain4j/model/openai/OpenAiStreamingChatModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #24 = Class              #135          // java/lang/StringBuilder\n-   #25 = Methodref          #24.#111      // java/lang/StringBuilder.\"<init>\":()V\n-   #26 = String             #136          // OpenAiStreamingChatModel.OpenAiStreamingChatModelBuilder(baseUrl=\n-   #27 = Methodref          #24.#137      // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #28 = String             #138          // , apiKey=\n-   #29 = String             #139          // , organizationId=\n-   #30 = String             #140          // , modelName=\n-   #31 = String             #141          // , temperature=\n-   #32 = Methodref          #24.#142      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #33 = String             #143          // , topP=\n-   #34 = String             #144          // , stop=\n-   #35 = String             #145          // , maxTokens=\n-   #36 = String             #146          // , presencePenalty=\n-   #37 = String             #147          // , frequencyPenalty=\n-   #38 = String             #148          // , logitBias=\n-   #39 = String             #149          // , responseFormat=\n-   #40 = String             #150          // , seed=\n-   #41 = String             #151          // , user=\n-   #42 = String             #152          // , timeout=\n-   #43 = String             #153          // , proxy=\n-   #44 = String             #154          // , logRequests=\n-   #45 = String             #155          // , logResponses=\n-   #46 = String             #156          // , tokenizer=\n-   #47 = String             #157          // )\n-   #48 = Methodref          #24.#114      // java/lang/StringBuilder.toString:()Ljava/lang/String;\n-   #49 = Class              #158          // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n-   #50 = Class              #159          // java/lang/Object\n-   #51 = Utf8               baseUrl\n-   #52 = Utf8               Ljava/lang/String;\n-   #53 = Utf8               apiKey\n-   #54 = Utf8               organizationId\n-   #55 = Utf8               modelName\n-   #56 = Utf8               temperature\n-   #57 = Utf8               Ljava/lang/Double;\n-   #58 = Utf8               topP\n-   #59 = Utf8               stop\n-   #60 = Utf8               Ljava/util/List;\n-   #61 = Utf8               Signature\n-   #62 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n-   #63 = Utf8               maxTokens\n-   #64 = Utf8               Ljava/lang/Integer;\n-   #65 = Utf8               presencePenalty\n-   #66 = Utf8               frequencyPenalty\n-   #67 = Utf8               logitBias\n-   #68 = Utf8               Ljava/util/Map;\n-   #69 = Utf8               Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n-   #70 = Utf8               responseFormat\n-   #71 = Utf8               seed\n-   #72 = Utf8               user\n-   #73 = Utf8               timeout\n-   #74 = Utf8               Ljava/time/Duration;\n-   #75 = Utf8               proxy\n-   #76 = Utf8               Ljava/net/Proxy;\n-   #77 = Utf8               logRequests\n-   #78 = Utf8               Ljava/lang/Boolean;\n-   #79 = Utf8               logResponses\n-   #80 = Utf8               tokenizer\n-   #81 = Utf8               Ldev/langchain4j/model/Tokenizer;\n-   #82 = Utf8               <init>\n-   #83 = Utf8               ()V\n-   #84 = Utf8               Code\n-   #85 = Utf8               LineNumberTable\n-   #86 = Utf8               LocalVariableTable\n-   #87 = Utf8               this\n-   #88 = Utf8               OpenAiStreamingChatModelBuilder\n-   #89 = Utf8               InnerClasses\n-   #90 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-   #91 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-   #92 = Utf8               (Ldev/langchain4j/model/openai/OpenAiChatModelName;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-   #93 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #94 = Utf8               (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-   #95 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-   #96 = Utf8               LocalVariableTypeTable\n-   #97 = Utf8               (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-   #98 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-   #99 = Utf8               (Ljava/util/Map;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-  #100 = Utf8               (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-  #101 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-  #102 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-  #103 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-  #104 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n-  #105 = Utf8               build\n-  #106 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiStreamingChatModel;\n-  #107 = Utf8               toString\n-  #108 = Utf8               ()Ljava/lang/String;\n-  #109 = Utf8               SourceFile\n-  #110 = Utf8               OpenAiStreamingChatModel.java\n-  #111 = NameAndType        #82:#83       // \"<init>\":()V\n-  #112 = NameAndType        #55:#52       // modelName:Ljava/lang/String;\n-  #113 = Class              #160          // dev/langchain4j/model/openai/OpenAiChatModelName\n-  #114 = NameAndType        #107:#108     // toString:()Ljava/lang/String;\n-  #115 = NameAndType        #51:#52       // baseUrl:Ljava/lang/String;\n-  #116 = NameAndType        #53:#52       // apiKey:Ljava/lang/String;\n-  #117 = NameAndType        #54:#52       // organizationId:Ljava/lang/String;\n-  #118 = NameAndType        #56:#57       // temperature:Ljava/lang/Double;\n-  #119 = NameAndType        #58:#57       // topP:Ljava/lang/Double;\n-  #120 = NameAndType        #59:#60       // stop:Ljava/util/List;\n-  #121 = NameAndType        #63:#64       // maxTokens:Ljava/lang/Integer;\n-  #122 = NameAndType        #65:#57       // presencePenalty:Ljava/lang/Double;\n-  #123 = NameAndType        #66:#57       // frequencyPenalty:Ljava/lang/Double;\n-  #124 = NameAndType        #67:#68       // logitBias:Ljava/util/Map;\n-  #125 = NameAndType        #70:#52       // responseFormat:Ljava/lang/String;\n-  #126 = NameAndType        #71:#64       // seed:Ljava/lang/Integer;\n-  #127 = NameAndType        #72:#52       // user:Ljava/lang/String;\n-  #128 = NameAndType        #73:#74       // timeout:Ljava/time/Duration;\n-  #129 = NameAndType        #75:#76       // proxy:Ljava/net/Proxy;\n-  #130 = NameAndType        #77:#78       // logRequests:Ljava/lang/Boolean;\n-  #131 = NameAndType        #79:#78       // logResponses:Ljava/lang/Boolean;\n-  #132 = NameAndType        #80:#81       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n-  #133 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingChatModel\n-  #134 = NameAndType        #82:#161      // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-  #135 = Utf8               java/lang/StringBuilder\n-  #136 = Utf8               OpenAiStreamingChatModel.OpenAiStreamingChatModelBuilder(baseUrl=\n-  #137 = NameAndType        #162:#163     // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #138 = Utf8               , apiKey=\n-  #139 = Utf8               , organizationId=\n-  #140 = Utf8               , modelName=\n-  #141 = Utf8               , temperature=\n-  #142 = NameAndType        #162:#164     // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-  #143 = Utf8               , topP=\n-  #144 = Utf8               , stop=\n-  #145 = Utf8               , maxTokens=\n-  #146 = Utf8               , presencePenalty=\n-  #147 = Utf8               , frequencyPenalty=\n-  #148 = Utf8               , logitBias=\n-  #149 = Utf8               , responseFormat=\n-  #150 = Utf8               , seed=\n-  #151 = Utf8               , user=\n-  #152 = Utf8               , timeout=\n-  #153 = Utf8               , proxy=\n-  #154 = Utf8               , logRequests=\n-  #155 = Utf8               , logResponses=\n-  #156 = Utf8               , tokenizer=\n-  #157 = Utf8               )\n-  #158 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n-  #159 = Utf8               java/lang/Object\n-  #160 = Utf8               dev/langchain4j/model/openai/OpenAiChatModelName\n-  #161 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-  #162 = Utf8               append\n-  #163 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #164 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = Fieldref           #8.#9         // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.modelName:Ljava/lang/String;\n+    #8 = Class              #10           // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n+    #9 = NameAndType        #11:#12       // modelName:Ljava/lang/String;\n+   #10 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n+   #11 = Utf8               modelName\n+   #12 = Utf8               Ljava/lang/String;\n+   #13 = Methodref          #14.#15       // dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+   #14 = Class              #16           // dev/langchain4j/model/openai/OpenAiChatModelName\n+   #15 = NameAndType        #17:#18       // toString:()Ljava/lang/String;\n+   #16 = Utf8               dev/langchain4j/model/openai/OpenAiChatModelName\n+   #17 = Utf8               toString\n+   #18 = Utf8               ()Ljava/lang/String;\n+   #19 = Fieldref           #8.#20        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.baseUrl:Ljava/lang/String;\n+   #20 = NameAndType        #21:#12       // baseUrl:Ljava/lang/String;\n+   #21 = Utf8               baseUrl\n+   #22 = Fieldref           #8.#23        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.apiKey:Ljava/lang/String;\n+   #23 = NameAndType        #24:#12       // apiKey:Ljava/lang/String;\n+   #24 = Utf8               apiKey\n+   #25 = Fieldref           #8.#26        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.organizationId:Ljava/lang/String;\n+   #26 = NameAndType        #27:#12       // organizationId:Ljava/lang/String;\n+   #27 = Utf8               organizationId\n+   #28 = Fieldref           #8.#29        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.temperature:Ljava/lang/Double;\n+   #29 = NameAndType        #30:#31       // temperature:Ljava/lang/Double;\n+   #30 = Utf8               temperature\n+   #31 = Utf8               Ljava/lang/Double;\n+   #32 = Fieldref           #8.#33        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.topP:Ljava/lang/Double;\n+   #33 = NameAndType        #34:#31       // topP:Ljava/lang/Double;\n+   #34 = Utf8               topP\n+   #35 = Fieldref           #8.#36        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.stop:Ljava/util/List;\n+   #36 = NameAndType        #37:#38       // stop:Ljava/util/List;\n+   #37 = Utf8               stop\n+   #38 = Utf8               Ljava/util/List;\n+   #39 = Fieldref           #8.#40        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.maxTokens:Ljava/lang/Integer;\n+   #40 = NameAndType        #41:#42       // maxTokens:Ljava/lang/Integer;\n+   #41 = Utf8               maxTokens\n+   #42 = Utf8               Ljava/lang/Integer;\n+   #43 = Fieldref           #8.#44        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.presencePenalty:Ljava/lang/Double;\n+   #44 = NameAndType        #45:#31       // presencePenalty:Ljava/lang/Double;\n+   #45 = Utf8               presencePenalty\n+   #46 = Fieldref           #8.#47        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.frequencyPenalty:Ljava/lang/Double;\n+   #47 = NameAndType        #48:#31       // frequencyPenalty:Ljava/lang/Double;\n+   #48 = Utf8               frequencyPenalty\n+   #49 = Fieldref           #8.#50        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.logitBias:Ljava/util/Map;\n+   #50 = NameAndType        #51:#52       // logitBias:Ljava/util/Map;\n+   #51 = Utf8               logitBias\n+   #52 = Utf8               Ljava/util/Map;\n+   #53 = Fieldref           #8.#54        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.responseFormat:Ljava/lang/String;\n+   #54 = NameAndType        #55:#12       // responseFormat:Ljava/lang/String;\n+   #55 = Utf8               responseFormat\n+   #56 = Fieldref           #8.#57        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.seed:Ljava/lang/Integer;\n+   #57 = NameAndType        #58:#42       // seed:Ljava/lang/Integer;\n+   #58 = Utf8               seed\n+   #59 = Fieldref           #8.#60        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.user:Ljava/lang/String;\n+   #60 = NameAndType        #61:#12       // user:Ljava/lang/String;\n+   #61 = Utf8               user\n+   #62 = Fieldref           #8.#63        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.timeout:Ljava/time/Duration;\n+   #63 = NameAndType        #64:#65       // timeout:Ljava/time/Duration;\n+   #64 = Utf8               timeout\n+   #65 = Utf8               Ljava/time/Duration;\n+   #66 = Fieldref           #8.#67        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.proxy:Ljava/net/Proxy;\n+   #67 = NameAndType        #68:#69       // proxy:Ljava/net/Proxy;\n+   #68 = Utf8               proxy\n+   #69 = Utf8               Ljava/net/Proxy;\n+   #70 = Fieldref           #8.#71        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.logRequests:Ljava/lang/Boolean;\n+   #71 = NameAndType        #72:#73       // logRequests:Ljava/lang/Boolean;\n+   #72 = Utf8               logRequests\n+   #73 = Utf8               Ljava/lang/Boolean;\n+   #74 = Fieldref           #8.#75        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.logResponses:Ljava/lang/Boolean;\n+   #75 = NameAndType        #76:#73       // logResponses:Ljava/lang/Boolean;\n+   #76 = Utf8               logResponses\n+   #77 = Fieldref           #8.#78        // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #78 = NameAndType        #79:#80       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #79 = Utf8               tokenizer\n+   #80 = Utf8               Ldev/langchain4j/model/Tokenizer;\n+   #81 = Class              #82           // dev/langchain4j/model/openai/OpenAiStreamingChatModel\n+   #82 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingChatModel\n+   #83 = Methodref          #81.#84       // dev/langchain4j/model/openai/OpenAiStreamingChatModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #84 = NameAndType        #5:#85        // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #85 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #86 = Class              #87           // java/lang/StringBuilder\n+   #87 = Utf8               java/lang/StringBuilder\n+   #88 = Methodref          #86.#3        // java/lang/StringBuilder.\"<init>\":()V\n+   #89 = String             #90           // OpenAiStreamingChatModel.OpenAiStreamingChatModelBuilder(baseUrl=\n+   #90 = Utf8               OpenAiStreamingChatModel.OpenAiStreamingChatModelBuilder(baseUrl=\n+   #91 = Methodref          #86.#92       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #92 = NameAndType        #93:#94       // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #93 = Utf8               append\n+   #94 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #95 = String             #96           // , apiKey=\n+   #96 = Utf8               , apiKey=\n+   #97 = String             #98           // , organizationId=\n+   #98 = Utf8               , organizationId=\n+   #99 = String             #100          // , modelName=\n+  #100 = Utf8               , modelName=\n+  #101 = String             #102          // , temperature=\n+  #102 = Utf8               , temperature=\n+  #103 = Methodref          #86.#104      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #104 = NameAndType        #93:#105      // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #105 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #106 = String             #107          // , topP=\n+  #107 = Utf8               , topP=\n+  #108 = String             #109          // , stop=\n+  #109 = Utf8               , stop=\n+  #110 = String             #111          // , maxTokens=\n+  #111 = Utf8               , maxTokens=\n+  #112 = String             #113          // , presencePenalty=\n+  #113 = Utf8               , presencePenalty=\n+  #114 = String             #115          // , frequencyPenalty=\n+  #115 = Utf8               , frequencyPenalty=\n+  #116 = String             #117          // , logitBias=\n+  #117 = Utf8               , logitBias=\n+  #118 = String             #119          // , responseFormat=\n+  #119 = Utf8               , responseFormat=\n+  #120 = String             #121          // , seed=\n+  #121 = Utf8               , seed=\n+  #122 = String             #123          // , user=\n+  #123 = Utf8               , user=\n+  #124 = String             #125          // , timeout=\n+  #125 = Utf8               , timeout=\n+  #126 = String             #127          // , proxy=\n+  #127 = Utf8               , proxy=\n+  #128 = String             #129          // , logRequests=\n+  #129 = Utf8               , logRequests=\n+  #130 = String             #131          // , logResponses=\n+  #131 = Utf8               , logResponses=\n+  #132 = String             #133          // , tokenizer=\n+  #133 = Utf8               , tokenizer=\n+  #134 = String             #135          // )\n+  #135 = Utf8               )\n+  #136 = Methodref          #86.#15       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n+  #137 = Utf8               Signature\n+  #138 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n+  #139 = Utf8               Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n+  #140 = Utf8               Code\n+  #141 = Utf8               LineNumberTable\n+  #142 = Utf8               LocalVariableTable\n+  #143 = Utf8               this\n+  #144 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #145 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #146 = Utf8               (Ldev/langchain4j/model/openai/OpenAiChatModelName;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #147 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #148 = Utf8               (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #149 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #150 = Utf8               LocalVariableTypeTable\n+  #151 = Utf8               (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #152 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #153 = Utf8               (Ljava/util/Map;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #154 = Utf8               (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #155 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #156 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #157 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #158 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+  #159 = Utf8               build\n+  #160 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiStreamingChatModel;\n+  #161 = Utf8               SourceFile\n+  #162 = Utf8               OpenAiStreamingChatModel.java\n+  #163 = Utf8               InnerClasses\n+  #164 = Utf8               OpenAiStreamingChatModelBuilder\n {\n   private java.lang.String baseUrl;\n     descriptor: Ljava/lang/String;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.String apiKey;\n     descriptor: Ljava/lang/String;\n@@ -196,15 +196,15 @@\n   private java.lang.Double topP;\n     descriptor: Ljava/lang/Double;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.util.List<java.lang.String> stop;\n     descriptor: Ljava/util/List;\n     flags: (0x0002) ACC_PRIVATE\n-    Signature: #62                          // Ljava/util/List<Ljava/lang/String;>;\n+    Signature: #138                         // Ljava/util/List<Ljava/lang/String;>;\n \n   private java.lang.Integer maxTokens;\n     descriptor: Ljava/lang/Integer;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.Double presencePenalty;\n     descriptor: Ljava/lang/Double;\n@@ -213,15 +213,15 @@\n   private java.lang.Double frequencyPenalty;\n     descriptor: Ljava/lang/Double;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.util.Map<java.lang.String, java.lang.Integer> logitBias;\n     descriptor: Ljava/util/Map;\n     flags: (0x0002) ACC_PRIVATE\n-    Signature: #69                          // Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n+    Signature: #139                         // Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n \n   private java.lang.String responseFormat;\n     descriptor: Ljava/lang/String;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.Integer seed;\n     descriptor: Ljava/lang/Integer;\n@@ -269,15 +269,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder modelName(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: putfield      #7                  // Field modelName:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 202: 0\n         line 203: 5\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -287,16 +287,16 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder modelName(dev.langchain4j.model.openai.OpenAiChatModelName);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiChatModelName;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokevirtual #3                  // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-         5: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: invokevirtual #13                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+         5: putfield      #7                  // Field modelName:Ljava/lang/String;\n          8: aload_0\n          9: areturn\n       LineNumberTable:\n         line 207: 0\n         line 208: 8\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -306,15 +306,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder baseUrl(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         2: putfield      #19                 // Field baseUrl:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -323,15 +323,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder apiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #5                  // Field apiKey:Ljava/lang/String;\n+         2: putfield      #22                 // Field apiKey:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -340,15 +340,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder organizationId(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #6                  // Field organizationId:Ljava/lang/String;\n+         2: putfield      #25                 // Field organizationId:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -357,15 +357,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder temperature(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #7                  // Field temperature:Ljava/lang/Double;\n+         2: putfield      #28                 // Field temperature:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -374,15 +374,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder topP(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #8                  // Field topP:Ljava/lang/Double;\n+         2: putfield      #32                 // Field topP:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -391,36 +391,36 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder stop(java.util.List<java.lang.String>);\n     descriptor: (Ljava/util/List;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #9                  // Field stop:Ljava/util/List;\n+         2: putfield      #35                 // Field stop:Ljava/util/List;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n             0       7     1  stop   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0       7     1  stop   Ljava/util/List<Ljava/lang/String;>;\n-    Signature: #97                          // (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+    Signature: #151                         // (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n \n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder maxTokens(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #10                 // Field maxTokens:Ljava/lang/Integer;\n+         2: putfield      #39                 // Field maxTokens:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -429,15 +429,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder presencePenalty(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #11                 // Field presencePenalty:Ljava/lang/Double;\n+         2: putfield      #43                 // Field presencePenalty:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -446,15 +446,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder frequencyPenalty(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #12                 // Field frequencyPenalty:Ljava/lang/Double;\n+         2: putfield      #46                 // Field frequencyPenalty:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -463,36 +463,36 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder logitBias(java.util.Map<java.lang.String, java.lang.Integer>);\n     descriptor: (Ljava/util/Map;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #13                 // Field logitBias:Ljava/util/Map;\n+         2: putfield      #49                 // Field logitBias:Ljava/util/Map;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n             0       7     1 logitBias   Ljava/util/Map;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0       7     1 logitBias   Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n-    Signature: #100                         // (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n+    Signature: #154                         // (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n \n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder responseFormat(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #14                 // Field responseFormat:Ljava/lang/String;\n+         2: putfield      #53                 // Field responseFormat:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -501,15 +501,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder seed(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #15                 // Field seed:Ljava/lang/Integer;\n+         2: putfield      #56                 // Field seed:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -518,15 +518,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder user(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #16                 // Field user:Ljava/lang/String;\n+         2: putfield      #59                 // Field user:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -535,15 +535,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder timeout(java.time.Duration);\n     descriptor: (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #17                 // Field timeout:Ljava/time/Duration;\n+         2: putfield      #62                 // Field timeout:Ljava/time/Duration;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -552,15 +552,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder proxy(java.net.Proxy);\n     descriptor: (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #18                 // Field proxy:Ljava/net/Proxy;\n+         2: putfield      #66                 // Field proxy:Ljava/net/Proxy;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -569,15 +569,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder logRequests(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #19                 // Field logRequests:Ljava/lang/Boolean;\n+         2: putfield      #70                 // Field logRequests:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -586,15 +586,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder logResponses(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #20                 // Field logResponses:Ljava/lang/Boolean;\n+         2: putfield      #74                 // Field logResponses:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n@@ -603,186 +603,186 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder tokenizer(dev.langchain4j.model.Tokenizer);\n     descriptor: (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #21                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+         2: putfield      #77                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n             0       7     1 tokenizer   Ldev/langchain4j/model/Tokenizer;\n \n   public dev.langchain4j.model.openai.OpenAiStreamingChatModel build();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiStreamingChatModel;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=21, locals=1, args_size=1\n-         0: new           #22                 // class dev/langchain4j/model/openai/OpenAiStreamingChatModel\n+         0: new           #81                 // class dev/langchain4j/model/openai/OpenAiStreamingChatModel\n          3: dup\n          4: aload_0\n-         5: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         5: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n          8: aload_0\n-         9: getfield      #5                  // Field apiKey:Ljava/lang/String;\n+         9: getfield      #22                 // Field apiKey:Ljava/lang/String;\n         12: aload_0\n-        13: getfield      #6                  // Field organizationId:Ljava/lang/String;\n+        13: getfield      #25                 // Field organizationId:Ljava/lang/String;\n         16: aload_0\n-        17: getfield      #2                  // Field modelName:Ljava/lang/String;\n+        17: getfield      #7                  // Field modelName:Ljava/lang/String;\n         20: aload_0\n-        21: getfield      #7                  // Field temperature:Ljava/lang/Double;\n+        21: getfield      #28                 // Field temperature:Ljava/lang/Double;\n         24: aload_0\n-        25: getfield      #8                  // Field topP:Ljava/lang/Double;\n+        25: getfield      #32                 // Field topP:Ljava/lang/Double;\n         28: aload_0\n-        29: getfield      #9                  // Field stop:Ljava/util/List;\n+        29: getfield      #35                 // Field stop:Ljava/util/List;\n         32: aload_0\n-        33: getfield      #10                 // Field maxTokens:Ljava/lang/Integer;\n+        33: getfield      #39                 // Field maxTokens:Ljava/lang/Integer;\n         36: aload_0\n-        37: getfield      #11                 // Field presencePenalty:Ljava/lang/Double;\n+        37: getfield      #43                 // Field presencePenalty:Ljava/lang/Double;\n         40: aload_0\n-        41: getfield      #12                 // Field frequencyPenalty:Ljava/lang/Double;\n+        41: getfield      #46                 // Field frequencyPenalty:Ljava/lang/Double;\n         44: aload_0\n-        45: getfield      #13                 // Field logitBias:Ljava/util/Map;\n+        45: getfield      #49                 // Field logitBias:Ljava/util/Map;\n         48: aload_0\n-        49: getfield      #14                 // Field responseFormat:Ljava/lang/String;\n+        49: getfield      #53                 // Field responseFormat:Ljava/lang/String;\n         52: aload_0\n-        53: getfield      #15                 // Field seed:Ljava/lang/Integer;\n+        53: getfield      #56                 // Field seed:Ljava/lang/Integer;\n         56: aload_0\n-        57: getfield      #16                 // Field user:Ljava/lang/String;\n+        57: getfield      #59                 // Field user:Ljava/lang/String;\n         60: aload_0\n-        61: getfield      #17                 // Field timeout:Ljava/time/Duration;\n+        61: getfield      #62                 // Field timeout:Ljava/time/Duration;\n         64: aload_0\n-        65: getfield      #18                 // Field proxy:Ljava/net/Proxy;\n+        65: getfield      #66                 // Field proxy:Ljava/net/Proxy;\n         68: aload_0\n-        69: getfield      #19                 // Field logRequests:Ljava/lang/Boolean;\n+        69: getfield      #70                 // Field logRequests:Ljava/lang/Boolean;\n         72: aload_0\n-        73: getfield      #20                 // Field logResponses:Ljava/lang/Boolean;\n+        73: getfield      #74                 // Field logResponses:Ljava/lang/Boolean;\n         76: aload_0\n-        77: getfield      #21                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-        80: invokespecial #23                 // Method dev/langchain4j/model/openai/OpenAiStreamingChatModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+        77: getfield      #77                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+        80: invokespecial #83                 // Method dev/langchain4j/model/openai/OpenAiStreamingChatModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n         83: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      84     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: new           #24                 // class java/lang/StringBuilder\n+         0: new           #86                 // class java/lang/StringBuilder\n          3: dup\n-         4: invokespecial #25                 // Method java/lang/StringBuilder.\"<init>\":()V\n-         7: ldc           #26                 // String OpenAiStreamingChatModel.OpenAiStreamingChatModelBuilder(baseUrl=\n-         9: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+         4: invokespecial #88                 // Method java/lang/StringBuilder.\"<init>\":()V\n+         7: ldc           #89                 // String OpenAiStreamingChatModel.OpenAiStreamingChatModelBuilder(baseUrl=\n+         9: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         12: aload_0\n-        13: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n-        16: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        19: ldc           #28                 // String , apiKey=\n-        21: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        13: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n+        16: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        19: ldc           #95                 // String , apiKey=\n+        21: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         24: aload_0\n-        25: getfield      #5                  // Field apiKey:Ljava/lang/String;\n-        28: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        31: ldc           #29                 // String , organizationId=\n-        33: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        25: getfield      #22                 // Field apiKey:Ljava/lang/String;\n+        28: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        31: ldc           #97                 // String , organizationId=\n+        33: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         36: aload_0\n-        37: getfield      #6                  // Field organizationId:Ljava/lang/String;\n-        40: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        43: ldc           #30                 // String , modelName=\n-        45: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        37: getfield      #25                 // Field organizationId:Ljava/lang/String;\n+        40: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        43: ldc           #99                 // String , modelName=\n+        45: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         48: aload_0\n-        49: getfield      #2                  // Field modelName:Ljava/lang/String;\n-        52: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        55: ldc           #31                 // String , temperature=\n-        57: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        49: getfield      #7                  // Field modelName:Ljava/lang/String;\n+        52: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        55: ldc           #101                // String , temperature=\n+        57: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         60: aload_0\n-        61: getfield      #7                  // Field temperature:Ljava/lang/Double;\n-        64: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        67: ldc           #33                 // String , topP=\n-        69: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        61: getfield      #28                 // Field temperature:Ljava/lang/Double;\n+        64: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        67: ldc           #106                // String , topP=\n+        69: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         72: aload_0\n-        73: getfield      #8                  // Field topP:Ljava/lang/Double;\n-        76: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        79: ldc           #34                 // String , stop=\n-        81: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        73: getfield      #32                 // Field topP:Ljava/lang/Double;\n+        76: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        79: ldc           #108                // String , stop=\n+        81: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         84: aload_0\n-        85: getfield      #9                  // Field stop:Ljava/util/List;\n-        88: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        91: ldc           #35                 // String , maxTokens=\n-        93: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        85: getfield      #35                 // Field stop:Ljava/util/List;\n+        88: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        91: ldc           #110                // String , maxTokens=\n+        93: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         96: aload_0\n-        97: getfield      #10                 // Field maxTokens:Ljava/lang/Integer;\n-       100: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       103: ldc           #36                 // String , presencePenalty=\n-       105: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        97: getfield      #39                 // Field maxTokens:Ljava/lang/Integer;\n+       100: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       103: ldc           #112                // String , presencePenalty=\n+       105: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        108: aload_0\n-       109: getfield      #11                 // Field presencePenalty:Ljava/lang/Double;\n-       112: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       115: ldc           #37                 // String , frequencyPenalty=\n-       117: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       109: getfield      #43                 // Field presencePenalty:Ljava/lang/Double;\n+       112: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       115: ldc           #114                // String , frequencyPenalty=\n+       117: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        120: aload_0\n-       121: getfield      #12                 // Field frequencyPenalty:Ljava/lang/Double;\n-       124: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       127: ldc           #38                 // String , logitBias=\n-       129: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       121: getfield      #46                 // Field frequencyPenalty:Ljava/lang/Double;\n+       124: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       127: ldc           #116                // String , logitBias=\n+       129: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        132: aload_0\n-       133: getfield      #13                 // Field logitBias:Ljava/util/Map;\n-       136: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       139: ldc           #39                 // String , responseFormat=\n-       141: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       133: getfield      #49                 // Field logitBias:Ljava/util/Map;\n+       136: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       139: ldc           #118                // String , responseFormat=\n+       141: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        144: aload_0\n-       145: getfield      #14                 // Field responseFormat:Ljava/lang/String;\n-       148: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       151: ldc           #40                 // String , seed=\n-       153: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       145: getfield      #53                 // Field responseFormat:Ljava/lang/String;\n+       148: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       151: ldc           #120                // String , seed=\n+       153: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        156: aload_0\n-       157: getfield      #15                 // Field seed:Ljava/lang/Integer;\n-       160: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       163: ldc           #41                 // String , user=\n-       165: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       157: getfield      #56                 // Field seed:Ljava/lang/Integer;\n+       160: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       163: ldc           #122                // String , user=\n+       165: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        168: aload_0\n-       169: getfield      #16                 // Field user:Ljava/lang/String;\n-       172: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       175: ldc           #42                 // String , timeout=\n-       177: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       169: getfield      #59                 // Field user:Ljava/lang/String;\n+       172: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       175: ldc           #124                // String , timeout=\n+       177: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        180: aload_0\n-       181: getfield      #17                 // Field timeout:Ljava/time/Duration;\n-       184: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       187: ldc           #43                 // String , proxy=\n-       189: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       181: getfield      #62                 // Field timeout:Ljava/time/Duration;\n+       184: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       187: ldc           #126                // String , proxy=\n+       189: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        192: aload_0\n-       193: getfield      #18                 // Field proxy:Ljava/net/Proxy;\n-       196: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       199: ldc           #44                 // String , logRequests=\n-       201: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       193: getfield      #66                 // Field proxy:Ljava/net/Proxy;\n+       196: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       199: ldc           #128                // String , logRequests=\n+       201: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        204: aload_0\n-       205: getfield      #19                 // Field logRequests:Ljava/lang/Boolean;\n-       208: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       211: ldc           #45                 // String , logResponses=\n-       213: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       205: getfield      #70                 // Field logRequests:Ljava/lang/Boolean;\n+       208: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       211: ldc           #130                // String , logResponses=\n+       213: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        216: aload_0\n-       217: getfield      #20                 // Field logResponses:Ljava/lang/Boolean;\n-       220: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       223: ldc           #46                 // String , tokenizer=\n-       225: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       217: getfield      #74                 // Field logResponses:Ljava/lang/Boolean;\n+       220: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       223: ldc           #132                // String , tokenizer=\n+       225: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        228: aload_0\n-       229: getfield      #21                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-       232: invokevirtual #32                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       235: ldc           #47                 // String )\n-       237: invokevirtual #27                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       240: invokevirtual #48                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+       229: getfield      #77                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+       232: invokevirtual #103                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       235: ldc           #134                // String )\n+       237: invokevirtual #91                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       240: invokevirtual #136                // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n        243: areturn\n       LineNumberTable:\n         line 53: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0     244     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;\n }\n SourceFile: \"OpenAiStreamingChatModel.java\"\n InnerClasses:\n-  public static #88= #49 of #22;          // OpenAiStreamingChatModelBuilder=class dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder of class dev/langchain4j/model/openai/OpenAiStreamingChatModel\n+  public static #164= #8 of #81;          // OpenAiStreamingChatModelBuilder=class dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder of class dev/langchain4j/model/openai/OpenAiStreamingChatModel\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiLanguageModelName.class", "source2": "dev/langchain4j/model/openai/OpenAiLanguageModelName.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,70 +1,72 @@\n-  SHA-256 checksum b5195e0cc665c27161c0ca194d855ce365c7b642d6f0dbd233e96116e7827bc1\n+  SHA-256 checksum d35034ec19944ade9b3dd229b815f6d35a7362dff3c6446885982f89ee869bc3\n   Compiled from \"OpenAiLanguageModelName.java\"\n public final class dev.langchain4j.model.openai.OpenAiLanguageModelName extends java.lang.Enum<dev.langchain4j.model.openai.OpenAiLanguageModelName>\n   minor version: 0\n   major version: 52\n   flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM\n-  this_class: #4                          // dev/langchain4j/model/openai/OpenAiLanguageModelName\n-  super_class: #12                        // java/lang/Enum\n-  interfaces: 0, fields: 3, methods: 5, attributes: 2\n+  this_class: #1                          // dev/langchain4j/model/openai/OpenAiLanguageModelName\n+  super_class: #17                        // java/lang/Enum\n+  interfaces: 0, fields: 3, methods: 6, attributes: 2\n Constant pool:\n-   #1 = Fieldref           #4.#39         // dev/langchain4j/model/openai/OpenAiLanguageModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-   #2 = Methodref          #40.#41        // \"[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\".clone:()Ljava/lang/Object;\n-   #3 = Class              #18            // \"[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\"\n-   #4 = Class              #42            // dev/langchain4j/model/openai/OpenAiLanguageModelName\n-   #5 = Methodref          #12.#43        // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-   #6 = Methodref          #12.#44        // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n-   #7 = Fieldref           #4.#45         // dev/langchain4j/model/openai/OpenAiLanguageModelName.stringValue:Ljava/lang/String;\n-   #8 = String             #13            // GPT_3_5_TURBO_INSTRUCT\n-   #9 = String             #46            // gpt-3.5-turbo-instruct\n-  #10 = Methodref          #4.#47         // dev/langchain4j/model/openai/OpenAiLanguageModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-  #11 = Fieldref           #4.#48         // dev/langchain4j/model/openai/OpenAiLanguageModelName.GPT_3_5_TURBO_INSTRUCT:Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-  #12 = Class              #49            // java/lang/Enum\n-  #13 = Utf8               GPT_3_5_TURBO_INSTRUCT\n-  #14 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-  #15 = Utf8               stringValue\n-  #16 = Utf8               Ljava/lang/String;\n-  #17 = Utf8               $VALUES\n-  #18 = Utf8               [Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-  #19 = Utf8               values\n-  #20 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-  #21 = Utf8               Code\n-  #22 = Utf8               LineNumberTable\n-  #23 = Utf8               valueOf\n-  #24 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-  #25 = Utf8               LocalVariableTable\n-  #26 = Utf8               name\n-  #27 = Utf8               <init>\n-  #28 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n-  #29 = Utf8               this\n-  #30 = Utf8               Signature\n-  #31 = Utf8               (Ljava/lang/String;)V\n-  #32 = Utf8               toString\n-  #33 = Utf8               ()Ljava/lang/String;\n-  #34 = Utf8               <clinit>\n-  #35 = Utf8               ()V\n-  #36 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiLanguageModelName;>;\n-  #37 = Utf8               SourceFile\n-  #38 = Utf8               OpenAiLanguageModelName.java\n-  #39 = NameAndType        #17:#18        // $VALUES:[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-  #40 = Class              #18            // \"[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\"\n-  #41 = NameAndType        #50:#51        // clone:()Ljava/lang/Object;\n-  #42 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModelName\n-  #43 = NameAndType        #23:#52        // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #44 = NameAndType        #27:#53        // \"<init>\":(Ljava/lang/String;I)V\n-  #45 = NameAndType        #15:#16        // stringValue:Ljava/lang/String;\n-  #46 = Utf8               gpt-3.5-turbo-instruct\n-  #47 = NameAndType        #27:#28        // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-  #48 = NameAndType        #13:#14        // GPT_3_5_TURBO_INSTRUCT:Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-  #49 = Utf8               java/lang/Enum\n-  #50 = Utf8               clone\n-  #51 = Utf8               ()Ljava/lang/Object;\n-  #52 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #53 = Utf8               (Ljava/lang/String;I)V\n+   #1 = Class              #2             // dev/langchain4j/model/openai/OpenAiLanguageModelName\n+   #2 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModelName\n+   #3 = Fieldref           #1.#4          // dev/langchain4j/model/openai/OpenAiLanguageModelName.GPT_3_5_TURBO_INSTRUCT:Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+   #4 = NameAndType        #5:#6          // GPT_3_5_TURBO_INSTRUCT:Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+   #5 = Utf8               GPT_3_5_TURBO_INSTRUCT\n+   #6 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+   #7 = Fieldref           #1.#8          // dev/langchain4j/model/openai/OpenAiLanguageModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+   #8 = NameAndType        #9:#10         // $VALUES:[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+   #9 = Utf8               $VALUES\n+  #10 = Utf8               [Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+  #11 = Methodref          #12.#13        // \"[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\".clone:()Ljava/lang/Object;\n+  #12 = Class              #10            // \"[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\"\n+  #13 = NameAndType        #14:#15        // clone:()Ljava/lang/Object;\n+  #14 = Utf8               clone\n+  #15 = Utf8               ()Ljava/lang/Object;\n+  #16 = Methodref          #17.#18        // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #17 = Class              #19            // java/lang/Enum\n+  #18 = NameAndType        #20:#21        // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #19 = Utf8               java/lang/Enum\n+  #20 = Utf8               valueOf\n+  #21 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #22 = Methodref          #17.#23        // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+  #23 = NameAndType        #24:#25        // \"<init>\":(Ljava/lang/String;I)V\n+  #24 = Utf8               <init>\n+  #25 = Utf8               (Ljava/lang/String;I)V\n+  #26 = Fieldref           #1.#27         // dev/langchain4j/model/openai/OpenAiLanguageModelName.stringValue:Ljava/lang/String;\n+  #27 = NameAndType        #28:#29        // stringValue:Ljava/lang/String;\n+  #28 = Utf8               stringValue\n+  #29 = Utf8               Ljava/lang/String;\n+  #30 = String             #5             // GPT_3_5_TURBO_INSTRUCT\n+  #31 = String             #32            // gpt-3.5-turbo-instruct\n+  #32 = Utf8               gpt-3.5-turbo-instruct\n+  #33 = Methodref          #1.#34         // dev/langchain4j/model/openai/OpenAiLanguageModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+  #34 = NameAndType        #24:#35        // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+  #35 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n+  #36 = Methodref          #1.#37         // dev/langchain4j/model/openai/OpenAiLanguageModelName.$values:()[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+  #37 = NameAndType        #38:#39        // $values:()[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+  #38 = Utf8               $values\n+  #39 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+  #40 = Utf8               values\n+  #41 = Utf8               Code\n+  #42 = Utf8               LineNumberTable\n+  #43 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+  #44 = Utf8               LocalVariableTable\n+  #45 = Utf8               name\n+  #46 = Utf8               this\n+  #47 = Utf8               Signature\n+  #48 = Utf8               (Ljava/lang/String;)V\n+  #49 = Utf8               toString\n+  #50 = Utf8               ()Ljava/lang/String;\n+  #51 = Utf8               <clinit>\n+  #52 = Utf8               ()V\n+  #53 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiLanguageModelName;>;\n+  #54 = Utf8               SourceFile\n+  #55 = Utf8               OpenAiLanguageModelName.java\n {\n   public static final dev.langchain4j.model.openai.OpenAiLanguageModelName GPT_3_5_TURBO_INSTRUCT;\n     descriptor: Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM\n \n   private final java.lang.String stringValue;\n     descriptor: Ljava/lang/String;\n@@ -75,30 +77,30 @@\n     flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC\n \n   public static dev.langchain4j.model.openai.OpenAiLanguageModelName[] values();\n     descriptor: ()[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=1, locals=0, args_size=0\n-         0: getstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-         3: invokevirtual #2                  // Method \"[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\".clone:()Ljava/lang/Object;\n-         6: checkcast     #3                  // class \"[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\"\n+         0: getstatic     #7                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+         3: invokevirtual #11                 // Method \"[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\".clone:()Ljava/lang/Object;\n+         6: checkcast     #12                 // class \"[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\"\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n \n   public static dev.langchain4j.model.openai.OpenAiLanguageModelName valueOf(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: ldc           #4                  // class dev/langchain4j/model/openai/OpenAiLanguageModelName\n+         0: ldc           #1                  // class dev/langchain4j/model/openai/OpenAiLanguageModelName\n          2: aload_0\n-         3: invokestatic  #5                  // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-         6: checkcast     #4                  // class dev/langchain4j/model/openai/OpenAiLanguageModelName\n+         3: invokestatic  #16                 // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+         6: checkcast     #1                  // class dev/langchain4j/model/openai/OpenAiLanguageModelName\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      10     0  name   Ljava/lang/String;\n \n@@ -106,62 +108,72 @@\n     descriptor: (Ljava/lang/String;ILjava/lang/String;)V\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=3, locals=4, args_size=4\n          0: aload_0\n          1: aload_1\n          2: iload_2\n-         3: invokespecial #6                  // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+         3: invokespecial #22                 // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n          6: aload_0\n          7: aload_3\n-         8: putfield      #7                  // Field stringValue:Ljava/lang/String;\n+         8: putfield      #26                 // Field stringValue:Ljava/lang/String;\n         11: return\n       LineNumberTable:\n         line 9: 0\n         line 10: 6\n         line 11: 11\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      12     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n             0      12     3 stringValue   Ljava/lang/String;\n-    Signature: #31                          // (Ljava/lang/String;)V\n+    Signature: #48                          // (Ljava/lang/String;)V\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #7                  // Field stringValue:Ljava/lang/String;\n+         1: getfield      #26                 // Field stringValue:Ljava/lang/String;\n          4: areturn\n       LineNumberTable:\n         line 15: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n \n+  private static dev.langchain4j.model.openai.OpenAiLanguageModelName[] $values();\n+    descriptor: ()[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n+    Code:\n+      stack=4, locals=0, args_size=0\n+         0: iconst_1\n+         1: anewarray     #1                  // class dev/langchain4j/model/openai/OpenAiLanguageModelName\n+         4: dup\n+         5: iconst_0\n+         6: getstatic     #3                  // Field GPT_3_5_TURBO_INSTRUCT:Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+         9: aastore\n+        10: areturn\n+      LineNumberTable:\n+        line 3: 0\n+\n   static {};\n     descriptor: ()V\n     flags: (0x0008) ACC_STATIC\n     Code:\n       stack=5, locals=0, args_size=0\n-         0: new           #4                  // class dev/langchain4j/model/openai/OpenAiLanguageModelName\n+         0: new           #1                  // class dev/langchain4j/model/openai/OpenAiLanguageModelName\n          3: dup\n-         4: ldc           #8                  // String GPT_3_5_TURBO_INSTRUCT\n+         4: ldc           #30                 // String GPT_3_5_TURBO_INSTRUCT\n          6: iconst_0\n-         7: ldc           #9                  // String gpt-3.5-turbo-instruct\n-         9: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        12: putstatic     #11                 // Field GPT_3_5_TURBO_INSTRUCT:Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-        15: iconst_1\n-        16: anewarray     #4                  // class dev/langchain4j/model/openai/OpenAiLanguageModelName\n-        19: dup\n-        20: iconst_0\n-        21: getstatic     #11                 // Field GPT_3_5_TURBO_INSTRUCT:Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-        24: aastore\n-        25: putstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-        28: return\n+         7: ldc           #31                 // String gpt-3.5-turbo-instruct\n+         9: invokespecial #33                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        12: putstatic     #3                  // Field GPT_3_5_TURBO_INSTRUCT:Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+        15: invokestatic  #36                 // Method $values:()[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+        18: putstatic     #7                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+        21: return\n       LineNumberTable:\n         line 5: 0\n         line 3: 15\n }\n-Signature: #36                          // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiLanguageModelName;>;\n+Signature: #53                          // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiLanguageModelName;>;\n SourceFile: \"OpenAiLanguageModelName.java\"\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiModelName.class", "source2": "dev/langchain4j/model/openai/OpenAiModelName.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,97 +1,97 @@\n-  SHA-256 checksum 8a0ff36b0b7c7dfb9ea46d4c5af9cbf87b2ba5809c1cbb57e87cd1184d9c9a3b\n+  SHA-256 checksum 3c89a3b95cc5889a4bcf0906ecd2708f87713753d0a2eb54615248c880501d54\n   Compiled from \"OpenAiModelName.java\"\n public class dev.langchain4j.model.openai.OpenAiModelName\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #2                          // dev/langchain4j/model/openai/OpenAiModelName\n-  super_class: #3                         // java/lang/Object\n+  this_class: #7                          // dev/langchain4j/model/openai/OpenAiModelName\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 20, methods: 1, attributes: 3\n Constant pool:\n-   #1 = Methodref          #3.#58         // java/lang/Object.\"<init>\":()V\n-   #2 = Class              #59            // dev/langchain4j/model/openai/OpenAiModelName\n-   #3 = Class              #60            // java/lang/Object\n-   #4 = Utf8               GPT_3_5_TURBO\n-   #5 = Utf8               Ljava/lang/String;\n-   #6 = Utf8               ConstantValue\n-   #7 = String             #61            // gpt-3.5-turbo\n-   #8 = Utf8               GPT_3_5_TURBO_0301\n-   #9 = String             #62            // gpt-3.5-turbo-0301\n-  #10 = Utf8               GPT_3_5_TURBO_0613\n-  #11 = String             #63            // gpt-3.5-turbo-0613\n-  #12 = Utf8               GPT_3_5_TURBO_1106\n-  #13 = String             #64            // gpt-3.5-turbo-1106\n-  #14 = Utf8               GPT_3_5_TURBO_16K\n-  #15 = String             #65            // gpt-3.5-turbo-16k\n-  #16 = Utf8               GPT_3_5_TURBO_16K_0613\n-  #17 = String             #66            // gpt-3.5-turbo-16k-0613\n-  #18 = Utf8               GPT_4\n-  #19 = String             #67            // gpt-4\n-  #20 = Utf8               GPT_4_0314\n-  #21 = String             #68            // gpt-4-0314\n-  #22 = Utf8               GPT_4_0613\n-  #23 = String             #69            // gpt-4-0613\n-  #24 = Utf8               GPT_4_32K\n-  #25 = String             #70            // gpt-4-32k\n-  #26 = Utf8               GPT_4_32K_0314\n-  #27 = String             #71            // gpt-4-32k-0314\n-  #28 = Utf8               GPT_4_32K_0613\n-  #29 = String             #72            // gpt-4-32k-0613\n-  #30 = Utf8               GPT_4_1106_PREVIEW\n-  #31 = String             #73            // gpt-4-1106-preview\n-  #32 = Utf8               GPT_4_VISION_PREVIEW\n-  #33 = String             #74            // gpt-4-vision-preview\n-  #34 = Utf8               GPT_3_5_TURBO_INSTRUCT\n-  #35 = String             #75            // gpt-3.5-turbo-instruct\n-  #36 = Utf8               TEXT_EMBEDDING_ADA_002\n-  #37 = String             #76            // text-embedding-ada-002\n-  #38 = Utf8               TEXT_MODERATION_STABLE\n-  #39 = String             #77            // text-moderation-stable\n-  #40 = Utf8               TEXT_MODERATION_LATEST\n-  #41 = String             #78            // text-moderation-latest\n-  #42 = Utf8               DALL_E_2\n-  #43 = String             #79            // dall-e-2\n-  #44 = Utf8               DALL_E_3\n-  #45 = String             #80            // dall-e-3\n-  #46 = Utf8               <init>\n-  #47 = Utf8               ()V\n-  #48 = Utf8               Code\n-  #49 = Utf8               LineNumberTable\n-  #50 = Utf8               LocalVariableTable\n-  #51 = Utf8               this\n-  #52 = Utf8               Ldev/langchain4j/model/openai/OpenAiModelName;\n-  #53 = Utf8               SourceFile\n-  #54 = Utf8               OpenAiModelName.java\n-  #55 = Utf8               Deprecated\n-  #56 = Utf8               RuntimeVisibleAnnotations\n-  #57 = Utf8               Ljava/lang/Deprecated;\n-  #58 = NameAndType        #46:#47        // \"<init>\":()V\n-  #59 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n-  #60 = Utf8               java/lang/Object\n-  #61 = Utf8               gpt-3.5-turbo\n-  #62 = Utf8               gpt-3.5-turbo-0301\n-  #63 = Utf8               gpt-3.5-turbo-0613\n-  #64 = Utf8               gpt-3.5-turbo-1106\n-  #65 = Utf8               gpt-3.5-turbo-16k\n-  #66 = Utf8               gpt-3.5-turbo-16k-0613\n-  #67 = Utf8               gpt-4\n-  #68 = Utf8               gpt-4-0314\n-  #69 = Utf8               gpt-4-0613\n-  #70 = Utf8               gpt-4-32k\n-  #71 = Utf8               gpt-4-32k-0314\n-  #72 = Utf8               gpt-4-32k-0613\n-  #73 = Utf8               gpt-4-1106-preview\n-  #74 = Utf8               gpt-4-vision-preview\n-  #75 = Utf8               gpt-3.5-turbo-instruct\n-  #76 = Utf8               text-embedding-ada-002\n-  #77 = Utf8               text-moderation-stable\n-  #78 = Utf8               text-moderation-latest\n-  #79 = Utf8               dall-e-2\n-  #80 = Utf8               dall-e-3\n+   #1 = Methodref          #2.#3          // java/lang/Object.\"<init>\":()V\n+   #2 = Class              #4             // java/lang/Object\n+   #3 = NameAndType        #5:#6          // \"<init>\":()V\n+   #4 = Utf8               java/lang/Object\n+   #5 = Utf8               <init>\n+   #6 = Utf8               ()V\n+   #7 = Class              #8             // dev/langchain4j/model/openai/OpenAiModelName\n+   #8 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n+   #9 = Utf8               GPT_3_5_TURBO\n+  #10 = Utf8               Ljava/lang/String;\n+  #11 = Utf8               ConstantValue\n+  #12 = String             #13            // gpt-3.5-turbo\n+  #13 = Utf8               gpt-3.5-turbo\n+  #14 = Utf8               GPT_3_5_TURBO_0301\n+  #15 = String             #16            // gpt-3.5-turbo-0301\n+  #16 = Utf8               gpt-3.5-turbo-0301\n+  #17 = Utf8               GPT_3_5_TURBO_0613\n+  #18 = String             #19            // gpt-3.5-turbo-0613\n+  #19 = Utf8               gpt-3.5-turbo-0613\n+  #20 = Utf8               GPT_3_5_TURBO_1106\n+  #21 = String             #22            // gpt-3.5-turbo-1106\n+  #22 = Utf8               gpt-3.5-turbo-1106\n+  #23 = Utf8               GPT_3_5_TURBO_16K\n+  #24 = String             #25            // gpt-3.5-turbo-16k\n+  #25 = Utf8               gpt-3.5-turbo-16k\n+  #26 = Utf8               GPT_3_5_TURBO_16K_0613\n+  #27 = String             #28            // gpt-3.5-turbo-16k-0613\n+  #28 = Utf8               gpt-3.5-turbo-16k-0613\n+  #29 = Utf8               GPT_4\n+  #30 = String             #31            // gpt-4\n+  #31 = Utf8               gpt-4\n+  #32 = Utf8               GPT_4_0314\n+  #33 = String             #34            // gpt-4-0314\n+  #34 = Utf8               gpt-4-0314\n+  #35 = Utf8               GPT_4_0613\n+  #36 = String             #37            // gpt-4-0613\n+  #37 = Utf8               gpt-4-0613\n+  #38 = Utf8               GPT_4_32K\n+  #39 = String             #40            // gpt-4-32k\n+  #40 = Utf8               gpt-4-32k\n+  #41 = Utf8               GPT_4_32K_0314\n+  #42 = String             #43            // gpt-4-32k-0314\n+  #43 = Utf8               gpt-4-32k-0314\n+  #44 = Utf8               GPT_4_32K_0613\n+  #45 = String             #46            // gpt-4-32k-0613\n+  #46 = Utf8               gpt-4-32k-0613\n+  #47 = Utf8               GPT_4_1106_PREVIEW\n+  #48 = String             #49            // gpt-4-1106-preview\n+  #49 = Utf8               gpt-4-1106-preview\n+  #50 = Utf8               GPT_4_VISION_PREVIEW\n+  #51 = String             #52            // gpt-4-vision-preview\n+  #52 = Utf8               gpt-4-vision-preview\n+  #53 = Utf8               GPT_3_5_TURBO_INSTRUCT\n+  #54 = String             #55            // gpt-3.5-turbo-instruct\n+  #55 = Utf8               gpt-3.5-turbo-instruct\n+  #56 = Utf8               TEXT_EMBEDDING_ADA_002\n+  #57 = String             #58            // text-embedding-ada-002\n+  #58 = Utf8               text-embedding-ada-002\n+  #59 = Utf8               TEXT_MODERATION_STABLE\n+  #60 = String             #61            // text-moderation-stable\n+  #61 = Utf8               text-moderation-stable\n+  #62 = Utf8               TEXT_MODERATION_LATEST\n+  #63 = String             #64            // text-moderation-latest\n+  #64 = Utf8               text-moderation-latest\n+  #65 = Utf8               DALL_E_2\n+  #66 = String             #67            // dall-e-2\n+  #67 = Utf8               dall-e-2\n+  #68 = Utf8               DALL_E_3\n+  #69 = String             #70            // dall-e-3\n+  #70 = Utf8               dall-e-3\n+  #71 = Utf8               Code\n+  #72 = Utf8               LineNumberTable\n+  #73 = Utf8               LocalVariableTable\n+  #74 = Utf8               this\n+  #75 = Utf8               Ldev/langchain4j/model/openai/OpenAiModelName;\n+  #76 = Utf8               SourceFile\n+  #77 = Utf8               OpenAiModelName.java\n+  #78 = Utf8               Deprecated\n+  #79 = Utf8               RuntimeVisibleAnnotations\n+  #80 = Utf8               Ljava/lang/Deprecated;\n {\n   public static final java.lang.String GPT_3_5_TURBO = \"gpt-3.5-turbo\";\n     descriptor: Ljava/lang/String;\n     flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL\n     ConstantValue: String gpt-3.5-turbo\n \n   public static final java.lang.String GPT_3_5_TURBO_0301 = \"gpt-3.5-turbo-0301\";\n@@ -202,9 +202,9 @@\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0  this   Ldev/langchain4j/model/openai/OpenAiModelName;\n }\n SourceFile: \"OpenAiModelName.java\"\n Deprecated: true\n RuntimeVisibleAnnotations:\n-  0: #57()\n+  0: #80()\n     java.lang.Deprecated\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.class", "source2": "dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,186 +1,186 @@\n-  SHA-256 checksum 332a24138cc7009286fae609605cd46a627ab056eea7a802c302312572182830\n+  SHA-256 checksum 4e102da99c5d44942b1b4744cbb29f25d348f5f0082a9fb4995d17cbeff7506d\n   Compiled from \"OpenAiChatModel.java\"\n public class dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #51                         // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n-  super_class: #52                        // java/lang/Object\n+  this_class: #8                          // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 20, methods: 24, attributes: 2\n Constant pool:\n-    #1 = Methodref          #52.#114      // java/lang/Object.\"<init>\":()V\n-    #2 = Fieldref           #51.#115      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.modelName:Ljava/lang/String;\n-    #3 = Methodref          #116.#117     // dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-    #4 = Fieldref           #51.#118      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.baseUrl:Ljava/lang/String;\n-    #5 = Fieldref           #51.#119      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.apiKey:Ljava/lang/String;\n-    #6 = Fieldref           #51.#120      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.organizationId:Ljava/lang/String;\n-    #7 = Fieldref           #51.#121      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.temperature:Ljava/lang/Double;\n-    #8 = Fieldref           #51.#122      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.topP:Ljava/lang/Double;\n-    #9 = Fieldref           #51.#123      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.stop:Ljava/util/List;\n-   #10 = Fieldref           #51.#124      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.maxTokens:Ljava/lang/Integer;\n-   #11 = Fieldref           #51.#125      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.presencePenalty:Ljava/lang/Double;\n-   #12 = Fieldref           #51.#126      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.frequencyPenalty:Ljava/lang/Double;\n-   #13 = Fieldref           #51.#127      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.logitBias:Ljava/util/Map;\n-   #14 = Fieldref           #51.#128      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.responseFormat:Ljava/lang/String;\n-   #15 = Fieldref           #51.#129      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.seed:Ljava/lang/Integer;\n-   #16 = Fieldref           #51.#130      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.user:Ljava/lang/String;\n-   #17 = Fieldref           #51.#131      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.timeout:Ljava/time/Duration;\n-   #18 = Fieldref           #51.#132      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.maxRetries:Ljava/lang/Integer;\n-   #19 = Fieldref           #51.#133      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.proxy:Ljava/net/Proxy;\n-   #20 = Fieldref           #51.#134      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.logRequests:Ljava/lang/Boolean;\n-   #21 = Fieldref           #51.#135      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.logResponses:Ljava/lang/Boolean;\n-   #22 = Fieldref           #51.#136      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #23 = Class              #137          // dev/langchain4j/model/openai/OpenAiChatModel\n-   #24 = Methodref          #23.#138      // dev/langchain4j/model/openai/OpenAiChatModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #25 = Class              #139          // java/lang/StringBuilder\n-   #26 = Methodref          #25.#114      // java/lang/StringBuilder.\"<init>\":()V\n-   #27 = String             #140          // OpenAiChatModel.OpenAiChatModelBuilder(baseUrl=\n-   #28 = Methodref          #25.#141      // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #29 = String             #142          // , apiKey=\n-   #30 = String             #143          // , organizationId=\n-   #31 = String             #144          // , modelName=\n-   #32 = String             #145          // , temperature=\n-   #33 = Methodref          #25.#146      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #34 = String             #147          // , topP=\n-   #35 = String             #148          // , stop=\n-   #36 = String             #149          // , maxTokens=\n-   #37 = String             #150          // , presencePenalty=\n-   #38 = String             #151          // , frequencyPenalty=\n-   #39 = String             #152          // , logitBias=\n-   #40 = String             #153          // , responseFormat=\n-   #41 = String             #154          // , seed=\n-   #42 = String             #155          // , user=\n-   #43 = String             #156          // , timeout=\n-   #44 = String             #157          // , maxRetries=\n-   #45 = String             #158          // , proxy=\n-   #46 = String             #159          // , logRequests=\n-   #47 = String             #160          // , logResponses=\n-   #48 = String             #161          // , tokenizer=\n-   #49 = String             #162          // )\n-   #50 = Methodref          #25.#117      // java/lang/StringBuilder.toString:()Ljava/lang/String;\n-   #51 = Class              #163          // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n-   #52 = Class              #164          // java/lang/Object\n-   #53 = Utf8               baseUrl\n-   #54 = Utf8               Ljava/lang/String;\n-   #55 = Utf8               apiKey\n-   #56 = Utf8               organizationId\n-   #57 = Utf8               modelName\n-   #58 = Utf8               temperature\n-   #59 = Utf8               Ljava/lang/Double;\n-   #60 = Utf8               topP\n-   #61 = Utf8               stop\n-   #62 = Utf8               Ljava/util/List;\n-   #63 = Utf8               Signature\n-   #64 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n-   #65 = Utf8               maxTokens\n-   #66 = Utf8               Ljava/lang/Integer;\n-   #67 = Utf8               presencePenalty\n-   #68 = Utf8               frequencyPenalty\n-   #69 = Utf8               logitBias\n-   #70 = Utf8               Ljava/util/Map;\n-   #71 = Utf8               Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n-   #72 = Utf8               responseFormat\n-   #73 = Utf8               seed\n-   #74 = Utf8               user\n-   #75 = Utf8               timeout\n-   #76 = Utf8               Ljava/time/Duration;\n-   #77 = Utf8               maxRetries\n-   #78 = Utf8               proxy\n-   #79 = Utf8               Ljava/net/Proxy;\n-   #80 = Utf8               logRequests\n-   #81 = Utf8               Ljava/lang/Boolean;\n-   #82 = Utf8               logResponses\n-   #83 = Utf8               tokenizer\n-   #84 = Utf8               Ldev/langchain4j/model/Tokenizer;\n-   #85 = Utf8               <init>\n-   #86 = Utf8               ()V\n-   #87 = Utf8               Code\n-   #88 = Utf8               LineNumberTable\n-   #89 = Utf8               LocalVariableTable\n-   #90 = Utf8               this\n-   #91 = Utf8               OpenAiChatModelBuilder\n-   #92 = Utf8               InnerClasses\n-   #93 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-   #94 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-   #95 = Utf8               (Ldev/langchain4j/model/openai/OpenAiChatModelName;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-   #96 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #97 = Utf8               (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-   #98 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-   #99 = Utf8               LocalVariableTypeTable\n-  #100 = Utf8               (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #101 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #102 = Utf8               (Ljava/util/Map;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #103 = Utf8               (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #104 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #105 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #106 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #107 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #108 = Utf8               build\n-  #109 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiChatModel;\n-  #110 = Utf8               toString\n-  #111 = Utf8               ()Ljava/lang/String;\n-  #112 = Utf8               SourceFile\n-  #113 = Utf8               OpenAiChatModel.java\n-  #114 = NameAndType        #85:#86       // \"<init>\":()V\n-  #115 = NameAndType        #57:#54       // modelName:Ljava/lang/String;\n-  #116 = Class              #165          // dev/langchain4j/model/openai/OpenAiChatModelName\n-  #117 = NameAndType        #110:#111     // toString:()Ljava/lang/String;\n-  #118 = NameAndType        #53:#54       // baseUrl:Ljava/lang/String;\n-  #119 = NameAndType        #55:#54       // apiKey:Ljava/lang/String;\n-  #120 = NameAndType        #56:#54       // organizationId:Ljava/lang/String;\n-  #121 = NameAndType        #58:#59       // temperature:Ljava/lang/Double;\n-  #122 = NameAndType        #60:#59       // topP:Ljava/lang/Double;\n-  #123 = NameAndType        #61:#62       // stop:Ljava/util/List;\n-  #124 = NameAndType        #65:#66       // maxTokens:Ljava/lang/Integer;\n-  #125 = NameAndType        #67:#59       // presencePenalty:Ljava/lang/Double;\n-  #126 = NameAndType        #68:#59       // frequencyPenalty:Ljava/lang/Double;\n-  #127 = NameAndType        #69:#70       // logitBias:Ljava/util/Map;\n-  #128 = NameAndType        #72:#54       // responseFormat:Ljava/lang/String;\n-  #129 = NameAndType        #73:#66       // seed:Ljava/lang/Integer;\n-  #130 = NameAndType        #74:#54       // user:Ljava/lang/String;\n-  #131 = NameAndType        #75:#76       // timeout:Ljava/time/Duration;\n-  #132 = NameAndType        #77:#66       // maxRetries:Ljava/lang/Integer;\n-  #133 = NameAndType        #78:#79       // proxy:Ljava/net/Proxy;\n-  #134 = NameAndType        #80:#81       // logRequests:Ljava/lang/Boolean;\n-  #135 = NameAndType        #82:#81       // logResponses:Ljava/lang/Boolean;\n-  #136 = NameAndType        #83:#84       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n-  #137 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel\n-  #138 = NameAndType        #85:#166      // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-  #139 = Utf8               java/lang/StringBuilder\n-  #140 = Utf8               OpenAiChatModel.OpenAiChatModelBuilder(baseUrl=\n-  #141 = NameAndType        #167:#168     // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #142 = Utf8               , apiKey=\n-  #143 = Utf8               , organizationId=\n-  #144 = Utf8               , modelName=\n-  #145 = Utf8               , temperature=\n-  #146 = NameAndType        #167:#169     // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-  #147 = Utf8               , topP=\n-  #148 = Utf8               , stop=\n-  #149 = Utf8               , maxTokens=\n-  #150 = Utf8               , presencePenalty=\n-  #151 = Utf8               , frequencyPenalty=\n-  #152 = Utf8               , logitBias=\n-  #153 = Utf8               , responseFormat=\n-  #154 = Utf8               , seed=\n-  #155 = Utf8               , user=\n-  #156 = Utf8               , timeout=\n-  #157 = Utf8               , maxRetries=\n-  #158 = Utf8               , proxy=\n-  #159 = Utf8               , logRequests=\n-  #160 = Utf8               , logResponses=\n-  #161 = Utf8               , tokenizer=\n-  #162 = Utf8               )\n-  #163 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n-  #164 = Utf8               java/lang/Object\n-  #165 = Utf8               dev/langchain4j/model/openai/OpenAiChatModelName\n-  #166 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-  #167 = Utf8               append\n-  #168 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #169 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = Fieldref           #8.#9         // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.modelName:Ljava/lang/String;\n+    #8 = Class              #10           // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n+    #9 = NameAndType        #11:#12       // modelName:Ljava/lang/String;\n+   #10 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n+   #11 = Utf8               modelName\n+   #12 = Utf8               Ljava/lang/String;\n+   #13 = Methodref          #14.#15       // dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+   #14 = Class              #16           // dev/langchain4j/model/openai/OpenAiChatModelName\n+   #15 = NameAndType        #17:#18       // toString:()Ljava/lang/String;\n+   #16 = Utf8               dev/langchain4j/model/openai/OpenAiChatModelName\n+   #17 = Utf8               toString\n+   #18 = Utf8               ()Ljava/lang/String;\n+   #19 = Fieldref           #8.#20        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.baseUrl:Ljava/lang/String;\n+   #20 = NameAndType        #21:#12       // baseUrl:Ljava/lang/String;\n+   #21 = Utf8               baseUrl\n+   #22 = Fieldref           #8.#23        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.apiKey:Ljava/lang/String;\n+   #23 = NameAndType        #24:#12       // apiKey:Ljava/lang/String;\n+   #24 = Utf8               apiKey\n+   #25 = Fieldref           #8.#26        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.organizationId:Ljava/lang/String;\n+   #26 = NameAndType        #27:#12       // organizationId:Ljava/lang/String;\n+   #27 = Utf8               organizationId\n+   #28 = Fieldref           #8.#29        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.temperature:Ljava/lang/Double;\n+   #29 = NameAndType        #30:#31       // temperature:Ljava/lang/Double;\n+   #30 = Utf8               temperature\n+   #31 = Utf8               Ljava/lang/Double;\n+   #32 = Fieldref           #8.#33        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.topP:Ljava/lang/Double;\n+   #33 = NameAndType        #34:#31       // topP:Ljava/lang/Double;\n+   #34 = Utf8               topP\n+   #35 = Fieldref           #8.#36        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.stop:Ljava/util/List;\n+   #36 = NameAndType        #37:#38       // stop:Ljava/util/List;\n+   #37 = Utf8               stop\n+   #38 = Utf8               Ljava/util/List;\n+   #39 = Fieldref           #8.#40        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.maxTokens:Ljava/lang/Integer;\n+   #40 = NameAndType        #41:#42       // maxTokens:Ljava/lang/Integer;\n+   #41 = Utf8               maxTokens\n+   #42 = Utf8               Ljava/lang/Integer;\n+   #43 = Fieldref           #8.#44        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.presencePenalty:Ljava/lang/Double;\n+   #44 = NameAndType        #45:#31       // presencePenalty:Ljava/lang/Double;\n+   #45 = Utf8               presencePenalty\n+   #46 = Fieldref           #8.#47        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.frequencyPenalty:Ljava/lang/Double;\n+   #47 = NameAndType        #48:#31       // frequencyPenalty:Ljava/lang/Double;\n+   #48 = Utf8               frequencyPenalty\n+   #49 = Fieldref           #8.#50        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.logitBias:Ljava/util/Map;\n+   #50 = NameAndType        #51:#52       // logitBias:Ljava/util/Map;\n+   #51 = Utf8               logitBias\n+   #52 = Utf8               Ljava/util/Map;\n+   #53 = Fieldref           #8.#54        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.responseFormat:Ljava/lang/String;\n+   #54 = NameAndType        #55:#12       // responseFormat:Ljava/lang/String;\n+   #55 = Utf8               responseFormat\n+   #56 = Fieldref           #8.#57        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.seed:Ljava/lang/Integer;\n+   #57 = NameAndType        #58:#42       // seed:Ljava/lang/Integer;\n+   #58 = Utf8               seed\n+   #59 = Fieldref           #8.#60        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.user:Ljava/lang/String;\n+   #60 = NameAndType        #61:#12       // user:Ljava/lang/String;\n+   #61 = Utf8               user\n+   #62 = Fieldref           #8.#63        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.timeout:Ljava/time/Duration;\n+   #63 = NameAndType        #64:#65       // timeout:Ljava/time/Duration;\n+   #64 = Utf8               timeout\n+   #65 = Utf8               Ljava/time/Duration;\n+   #66 = Fieldref           #8.#67        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.maxRetries:Ljava/lang/Integer;\n+   #67 = NameAndType        #68:#42       // maxRetries:Ljava/lang/Integer;\n+   #68 = Utf8               maxRetries\n+   #69 = Fieldref           #8.#70        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.proxy:Ljava/net/Proxy;\n+   #70 = NameAndType        #71:#72       // proxy:Ljava/net/Proxy;\n+   #71 = Utf8               proxy\n+   #72 = Utf8               Ljava/net/Proxy;\n+   #73 = Fieldref           #8.#74        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.logRequests:Ljava/lang/Boolean;\n+   #74 = NameAndType        #75:#76       // logRequests:Ljava/lang/Boolean;\n+   #75 = Utf8               logRequests\n+   #76 = Utf8               Ljava/lang/Boolean;\n+   #77 = Fieldref           #8.#78        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.logResponses:Ljava/lang/Boolean;\n+   #78 = NameAndType        #79:#76       // logResponses:Ljava/lang/Boolean;\n+   #79 = Utf8               logResponses\n+   #80 = Fieldref           #8.#81        // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #81 = NameAndType        #82:#83       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #82 = Utf8               tokenizer\n+   #83 = Utf8               Ldev/langchain4j/model/Tokenizer;\n+   #84 = Class              #85           // dev/langchain4j/model/openai/OpenAiChatModel\n+   #85 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel\n+   #86 = Methodref          #84.#87       // dev/langchain4j/model/openai/OpenAiChatModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #87 = NameAndType        #5:#88        // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #88 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #89 = Class              #90           // java/lang/StringBuilder\n+   #90 = Utf8               java/lang/StringBuilder\n+   #91 = Methodref          #89.#3        // java/lang/StringBuilder.\"<init>\":()V\n+   #92 = String             #93           // OpenAiChatModel.OpenAiChatModelBuilder(baseUrl=\n+   #93 = Utf8               OpenAiChatModel.OpenAiChatModelBuilder(baseUrl=\n+   #94 = Methodref          #89.#95       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #95 = NameAndType        #96:#97       // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #96 = Utf8               append\n+   #97 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #98 = String             #99           // , apiKey=\n+   #99 = Utf8               , apiKey=\n+  #100 = String             #101          // , organizationId=\n+  #101 = Utf8               , organizationId=\n+  #102 = String             #103          // , modelName=\n+  #103 = Utf8               , modelName=\n+  #104 = String             #105          // , temperature=\n+  #105 = Utf8               , temperature=\n+  #106 = Methodref          #89.#107      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #107 = NameAndType        #96:#108      // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #108 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #109 = String             #110          // , topP=\n+  #110 = Utf8               , topP=\n+  #111 = String             #112          // , stop=\n+  #112 = Utf8               , stop=\n+  #113 = String             #114          // , maxTokens=\n+  #114 = Utf8               , maxTokens=\n+  #115 = String             #116          // , presencePenalty=\n+  #116 = Utf8               , presencePenalty=\n+  #117 = String             #118          // , frequencyPenalty=\n+  #118 = Utf8               , frequencyPenalty=\n+  #119 = String             #120          // , logitBias=\n+  #120 = Utf8               , logitBias=\n+  #121 = String             #122          // , responseFormat=\n+  #122 = Utf8               , responseFormat=\n+  #123 = String             #124          // , seed=\n+  #124 = Utf8               , seed=\n+  #125 = String             #126          // , user=\n+  #126 = Utf8               , user=\n+  #127 = String             #128          // , timeout=\n+  #128 = Utf8               , timeout=\n+  #129 = String             #130          // , maxRetries=\n+  #130 = Utf8               , maxRetries=\n+  #131 = String             #132          // , proxy=\n+  #132 = Utf8               , proxy=\n+  #133 = String             #134          // , logRequests=\n+  #134 = Utf8               , logRequests=\n+  #135 = String             #136          // , logResponses=\n+  #136 = Utf8               , logResponses=\n+  #137 = String             #138          // , tokenizer=\n+  #138 = Utf8               , tokenizer=\n+  #139 = String             #140          // )\n+  #140 = Utf8               )\n+  #141 = Methodref          #89.#15       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n+  #142 = Utf8               Signature\n+  #143 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n+  #144 = Utf8               Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n+  #145 = Utf8               Code\n+  #146 = Utf8               LineNumberTable\n+  #147 = Utf8               LocalVariableTable\n+  #148 = Utf8               this\n+  #149 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #150 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #151 = Utf8               (Ldev/langchain4j/model/openai/OpenAiChatModelName;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #152 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #153 = Utf8               (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #154 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #155 = Utf8               LocalVariableTypeTable\n+  #156 = Utf8               (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #157 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #158 = Utf8               (Ljava/util/Map;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #159 = Utf8               (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #160 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #161 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #162 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #163 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #164 = Utf8               build\n+  #165 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiChatModel;\n+  #166 = Utf8               SourceFile\n+  #167 = Utf8               OpenAiChatModel.java\n+  #168 = Utf8               InnerClasses\n+  #169 = Utf8               OpenAiChatModelBuilder\n {\n   private java.lang.String baseUrl;\n     descriptor: Ljava/lang/String;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.String apiKey;\n     descriptor: Ljava/lang/String;\n@@ -201,15 +201,15 @@\n   private java.lang.Double topP;\n     descriptor: Ljava/lang/Double;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.util.List<java.lang.String> stop;\n     descriptor: Ljava/util/List;\n     flags: (0x0002) ACC_PRIVATE\n-    Signature: #64                          // Ljava/util/List<Ljava/lang/String;>;\n+    Signature: #143                         // Ljava/util/List<Ljava/lang/String;>;\n \n   private java.lang.Integer maxTokens;\n     descriptor: Ljava/lang/Integer;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.Double presencePenalty;\n     descriptor: Ljava/lang/Double;\n@@ -218,15 +218,15 @@\n   private java.lang.Double frequencyPenalty;\n     descriptor: Ljava/lang/Double;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.util.Map<java.lang.String, java.lang.Integer> logitBias;\n     descriptor: Ljava/util/Map;\n     flags: (0x0002) ACC_PRIVATE\n-    Signature: #71                          // Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n+    Signature: #144                         // Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n \n   private java.lang.String responseFormat;\n     descriptor: Ljava/lang/String;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.Integer seed;\n     descriptor: Ljava/lang/Integer;\n@@ -278,15 +278,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder modelName(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: putfield      #7                  // Field modelName:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 181: 0\n         line 182: 5\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -296,16 +296,16 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder modelName(dev.langchain4j.model.openai.OpenAiChatModelName);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiChatModelName;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokevirtual #3                  // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-         5: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: invokevirtual #13                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+         5: putfield      #7                  // Field modelName:Ljava/lang/String;\n          8: aload_0\n          9: areturn\n       LineNumberTable:\n         line 186: 0\n         line 187: 8\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -315,15 +315,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder baseUrl(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         2: putfield      #19                 // Field baseUrl:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -332,15 +332,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder apiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #5                  // Field apiKey:Ljava/lang/String;\n+         2: putfield      #22                 // Field apiKey:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -349,15 +349,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder organizationId(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #6                  // Field organizationId:Ljava/lang/String;\n+         2: putfield      #25                 // Field organizationId:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -366,15 +366,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder temperature(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #7                  // Field temperature:Ljava/lang/Double;\n+         2: putfield      #28                 // Field temperature:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -383,15 +383,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder topP(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #8                  // Field topP:Ljava/lang/Double;\n+         2: putfield      #32                 // Field topP:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -400,36 +400,36 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder stop(java.util.List<java.lang.String>);\n     descriptor: (Ljava/util/List;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #9                  // Field stop:Ljava/util/List;\n+         2: putfield      #35                 // Field stop:Ljava/util/List;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n             0       7     1  stop   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0       7     1  stop   Ljava/util/List<Ljava/lang/String;>;\n-    Signature: #100                         // (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+    Signature: #156                         // (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n \n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder maxTokens(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #10                 // Field maxTokens:Ljava/lang/Integer;\n+         2: putfield      #39                 // Field maxTokens:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -438,15 +438,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder presencePenalty(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #11                 // Field presencePenalty:Ljava/lang/Double;\n+         2: putfield      #43                 // Field presencePenalty:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -455,15 +455,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder frequencyPenalty(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #12                 // Field frequencyPenalty:Ljava/lang/Double;\n+         2: putfield      #46                 // Field frequencyPenalty:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -472,36 +472,36 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder logitBias(java.util.Map<java.lang.String, java.lang.Integer>);\n     descriptor: (Ljava/util/Map;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #13                 // Field logitBias:Ljava/util/Map;\n+         2: putfield      #49                 // Field logitBias:Ljava/util/Map;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n             0       7     1 logitBias   Ljava/util/Map;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0       7     1 logitBias   Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n-    Signature: #103                         // (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+    Signature: #159                         // (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n \n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder responseFormat(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #14                 // Field responseFormat:Ljava/lang/String;\n+         2: putfield      #53                 // Field responseFormat:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -510,15 +510,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder seed(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #15                 // Field seed:Ljava/lang/Integer;\n+         2: putfield      #56                 // Field seed:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -527,15 +527,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder user(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #16                 // Field user:Ljava/lang/String;\n+         2: putfield      #59                 // Field user:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -544,15 +544,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder timeout(java.time.Duration);\n     descriptor: (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #17                 // Field timeout:Ljava/time/Duration;\n+         2: putfield      #62                 // Field timeout:Ljava/time/Duration;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -561,15 +561,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder maxRetries(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #18                 // Field maxRetries:Ljava/lang/Integer;\n+         2: putfield      #66                 // Field maxRetries:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -578,15 +578,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder proxy(java.net.Proxy);\n     descriptor: (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #19                 // Field proxy:Ljava/net/Proxy;\n+         2: putfield      #69                 // Field proxy:Ljava/net/Proxy;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -595,15 +595,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder logRequests(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #20                 // Field logRequests:Ljava/lang/Boolean;\n+         2: putfield      #73                 // Field logRequests:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -612,15 +612,15 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder logResponses(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #21                 // Field logResponses:Ljava/lang/Boolean;\n+         2: putfield      #77                 // Field logResponses:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n@@ -629,193 +629,193 @@\n   public dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder tokenizer(dev.langchain4j.model.Tokenizer);\n     descriptor: (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #22                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+         2: putfield      #80                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n             0       7     1 tokenizer   Ldev/langchain4j/model/Tokenizer;\n \n   public dev.langchain4j.model.openai.OpenAiChatModel build();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiChatModel;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=22, locals=1, args_size=1\n-         0: new           #23                 // class dev/langchain4j/model/openai/OpenAiChatModel\n+         0: new           #84                 // class dev/langchain4j/model/openai/OpenAiChatModel\n          3: dup\n          4: aload_0\n-         5: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         5: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n          8: aload_0\n-         9: getfield      #5                  // Field apiKey:Ljava/lang/String;\n+         9: getfield      #22                 // Field apiKey:Ljava/lang/String;\n         12: aload_0\n-        13: getfield      #6                  // Field organizationId:Ljava/lang/String;\n+        13: getfield      #25                 // Field organizationId:Ljava/lang/String;\n         16: aload_0\n-        17: getfield      #2                  // Field modelName:Ljava/lang/String;\n+        17: getfield      #7                  // Field modelName:Ljava/lang/String;\n         20: aload_0\n-        21: getfield      #7                  // Field temperature:Ljava/lang/Double;\n+        21: getfield      #28                 // Field temperature:Ljava/lang/Double;\n         24: aload_0\n-        25: getfield      #8                  // Field topP:Ljava/lang/Double;\n+        25: getfield      #32                 // Field topP:Ljava/lang/Double;\n         28: aload_0\n-        29: getfield      #9                  // Field stop:Ljava/util/List;\n+        29: getfield      #35                 // Field stop:Ljava/util/List;\n         32: aload_0\n-        33: getfield      #10                 // Field maxTokens:Ljava/lang/Integer;\n+        33: getfield      #39                 // Field maxTokens:Ljava/lang/Integer;\n         36: aload_0\n-        37: getfield      #11                 // Field presencePenalty:Ljava/lang/Double;\n+        37: getfield      #43                 // Field presencePenalty:Ljava/lang/Double;\n         40: aload_0\n-        41: getfield      #12                 // Field frequencyPenalty:Ljava/lang/Double;\n+        41: getfield      #46                 // Field frequencyPenalty:Ljava/lang/Double;\n         44: aload_0\n-        45: getfield      #13                 // Field logitBias:Ljava/util/Map;\n+        45: getfield      #49                 // Field logitBias:Ljava/util/Map;\n         48: aload_0\n-        49: getfield      #14                 // Field responseFormat:Ljava/lang/String;\n+        49: getfield      #53                 // Field responseFormat:Ljava/lang/String;\n         52: aload_0\n-        53: getfield      #15                 // Field seed:Ljava/lang/Integer;\n+        53: getfield      #56                 // Field seed:Ljava/lang/Integer;\n         56: aload_0\n-        57: getfield      #16                 // Field user:Ljava/lang/String;\n+        57: getfield      #59                 // Field user:Ljava/lang/String;\n         60: aload_0\n-        61: getfield      #17                 // Field timeout:Ljava/time/Duration;\n+        61: getfield      #62                 // Field timeout:Ljava/time/Duration;\n         64: aload_0\n-        65: getfield      #18                 // Field maxRetries:Ljava/lang/Integer;\n+        65: getfield      #66                 // Field maxRetries:Ljava/lang/Integer;\n         68: aload_0\n-        69: getfield      #19                 // Field proxy:Ljava/net/Proxy;\n+        69: getfield      #69                 // Field proxy:Ljava/net/Proxy;\n         72: aload_0\n-        73: getfield      #20                 // Field logRequests:Ljava/lang/Boolean;\n+        73: getfield      #73                 // Field logRequests:Ljava/lang/Boolean;\n         76: aload_0\n-        77: getfield      #21                 // Field logResponses:Ljava/lang/Boolean;\n+        77: getfield      #77                 // Field logResponses:Ljava/lang/Boolean;\n         80: aload_0\n-        81: getfield      #22                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-        84: invokespecial #24                 // Method dev/langchain4j/model/openai/OpenAiChatModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+        81: getfield      #80                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+        84: invokespecial #86                 // Method dev/langchain4j/model/openai/OpenAiChatModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n         87: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      88     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: new           #25                 // class java/lang/StringBuilder\n+         0: new           #89                 // class java/lang/StringBuilder\n          3: dup\n-         4: invokespecial #26                 // Method java/lang/StringBuilder.\"<init>\":()V\n-         7: ldc           #27                 // String OpenAiChatModel.OpenAiChatModelBuilder(baseUrl=\n-         9: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+         4: invokespecial #91                 // Method java/lang/StringBuilder.\"<init>\":()V\n+         7: ldc           #92                 // String OpenAiChatModel.OpenAiChatModelBuilder(baseUrl=\n+         9: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         12: aload_0\n-        13: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n-        16: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        19: ldc           #29                 // String , apiKey=\n-        21: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        13: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n+        16: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        19: ldc           #98                 // String , apiKey=\n+        21: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         24: aload_0\n-        25: getfield      #5                  // Field apiKey:Ljava/lang/String;\n-        28: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        31: ldc           #30                 // String , organizationId=\n-        33: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        25: getfield      #22                 // Field apiKey:Ljava/lang/String;\n+        28: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        31: ldc           #100                // String , organizationId=\n+        33: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         36: aload_0\n-        37: getfield      #6                  // Field organizationId:Ljava/lang/String;\n-        40: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        43: ldc           #31                 // String , modelName=\n-        45: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        37: getfield      #25                 // Field organizationId:Ljava/lang/String;\n+        40: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        43: ldc           #102                // String , modelName=\n+        45: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         48: aload_0\n-        49: getfield      #2                  // Field modelName:Ljava/lang/String;\n-        52: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        55: ldc           #32                 // String , temperature=\n-        57: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        49: getfield      #7                  // Field modelName:Ljava/lang/String;\n+        52: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        55: ldc           #104                // String , temperature=\n+        57: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         60: aload_0\n-        61: getfield      #7                  // Field temperature:Ljava/lang/Double;\n-        64: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        67: ldc           #34                 // String , topP=\n-        69: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        61: getfield      #28                 // Field temperature:Ljava/lang/Double;\n+        64: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        67: ldc           #109                // String , topP=\n+        69: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         72: aload_0\n-        73: getfield      #8                  // Field topP:Ljava/lang/Double;\n-        76: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        79: ldc           #35                 // String , stop=\n-        81: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        73: getfield      #32                 // Field topP:Ljava/lang/Double;\n+        76: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        79: ldc           #111                // String , stop=\n+        81: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         84: aload_0\n-        85: getfield      #9                  // Field stop:Ljava/util/List;\n-        88: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        91: ldc           #36                 // String , maxTokens=\n-        93: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        85: getfield      #35                 // Field stop:Ljava/util/List;\n+        88: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        91: ldc           #113                // String , maxTokens=\n+        93: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         96: aload_0\n-        97: getfield      #10                 // Field maxTokens:Ljava/lang/Integer;\n-       100: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       103: ldc           #37                 // String , presencePenalty=\n-       105: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        97: getfield      #39                 // Field maxTokens:Ljava/lang/Integer;\n+       100: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       103: ldc           #115                // String , presencePenalty=\n+       105: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        108: aload_0\n-       109: getfield      #11                 // Field presencePenalty:Ljava/lang/Double;\n-       112: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       115: ldc           #38                 // String , frequencyPenalty=\n-       117: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       109: getfield      #43                 // Field presencePenalty:Ljava/lang/Double;\n+       112: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       115: ldc           #117                // String , frequencyPenalty=\n+       117: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        120: aload_0\n-       121: getfield      #12                 // Field frequencyPenalty:Ljava/lang/Double;\n-       124: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       127: ldc           #39                 // String , logitBias=\n-       129: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       121: getfield      #46                 // Field frequencyPenalty:Ljava/lang/Double;\n+       124: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       127: ldc           #119                // String , logitBias=\n+       129: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        132: aload_0\n-       133: getfield      #13                 // Field logitBias:Ljava/util/Map;\n-       136: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       139: ldc           #40                 // String , responseFormat=\n-       141: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       133: getfield      #49                 // Field logitBias:Ljava/util/Map;\n+       136: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       139: ldc           #121                // String , responseFormat=\n+       141: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        144: aload_0\n-       145: getfield      #14                 // Field responseFormat:Ljava/lang/String;\n-       148: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       151: ldc           #41                 // String , seed=\n-       153: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       145: getfield      #53                 // Field responseFormat:Ljava/lang/String;\n+       148: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       151: ldc           #123                // String , seed=\n+       153: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        156: aload_0\n-       157: getfield      #15                 // Field seed:Ljava/lang/Integer;\n-       160: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       163: ldc           #42                 // String , user=\n-       165: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       157: getfield      #56                 // Field seed:Ljava/lang/Integer;\n+       160: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       163: ldc           #125                // String , user=\n+       165: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        168: aload_0\n-       169: getfield      #16                 // Field user:Ljava/lang/String;\n-       172: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       175: ldc           #43                 // String , timeout=\n-       177: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       169: getfield      #59                 // Field user:Ljava/lang/String;\n+       172: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       175: ldc           #127                // String , timeout=\n+       177: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        180: aload_0\n-       181: getfield      #17                 // Field timeout:Ljava/time/Duration;\n-       184: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       187: ldc           #44                 // String , maxRetries=\n-       189: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       181: getfield      #62                 // Field timeout:Ljava/time/Duration;\n+       184: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       187: ldc           #129                // String , maxRetries=\n+       189: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        192: aload_0\n-       193: getfield      #18                 // Field maxRetries:Ljava/lang/Integer;\n-       196: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       199: ldc           #45                 // String , proxy=\n-       201: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       193: getfield      #66                 // Field maxRetries:Ljava/lang/Integer;\n+       196: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       199: ldc           #131                // String , proxy=\n+       201: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        204: aload_0\n-       205: getfield      #19                 // Field proxy:Ljava/net/Proxy;\n-       208: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       211: ldc           #46                 // String , logRequests=\n-       213: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       205: getfield      #69                 // Field proxy:Ljava/net/Proxy;\n+       208: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       211: ldc           #133                // String , logRequests=\n+       213: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        216: aload_0\n-       217: getfield      #20                 // Field logRequests:Ljava/lang/Boolean;\n-       220: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       223: ldc           #47                 // String , logResponses=\n-       225: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       217: getfield      #73                 // Field logRequests:Ljava/lang/Boolean;\n+       220: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       223: ldc           #135                // String , logResponses=\n+       225: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        228: aload_0\n-       229: getfield      #21                 // Field logResponses:Ljava/lang/Boolean;\n-       232: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       235: ldc           #48                 // String , tokenizer=\n-       237: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       229: getfield      #77                 // Field logResponses:Ljava/lang/Boolean;\n+       232: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       235: ldc           #137                // String , tokenizer=\n+       237: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        240: aload_0\n-       241: getfield      #22                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-       244: invokevirtual #33                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       247: ldc           #49                 // String )\n-       249: invokevirtual #28                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       252: invokevirtual #50                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+       241: getfield      #80                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+       244: invokevirtual #106                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       247: ldc           #139                // String )\n+       249: invokevirtual #94                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       252: invokevirtual #141                // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n        255: areturn\n       LineNumberTable:\n         line 50: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0     256     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n }\n SourceFile: \"OpenAiChatModel.java\"\n InnerClasses:\n-  public static #91= #51 of #23;          // OpenAiChatModelBuilder=class dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder of class dev/langchain4j/model/openai/OpenAiChatModel\n+  public static #169= #8 of #84;          // OpenAiChatModelBuilder=class dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder of class dev/langchain4j/model/openai/OpenAiChatModel\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.class", "source2": "dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,131 +1,131 @@\n-  SHA-256 checksum e5278a799bf6728ef59c7c697ebfa99ea1ee409e88baeec36c57876d41e94891\n+  SHA-256 checksum 8efb799e16dc7d50bf5d5664613514d4e26e90be6b383b08e4524a61601a5786\n   Compiled from \"OpenAiLanguageModel.java\"\n public class dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #33                         // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n-  super_class: #34                        // java/lang/Object\n+  this_class: #8                          // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 11, methods: 15, attributes: 2\n Constant pool:\n-    #1 = Methodref          #34.#77       // java/lang/Object.\"<init>\":()V\n-    #2 = Fieldref           #33.#78       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.modelName:Ljava/lang/String;\n-    #3 = Methodref          #79.#80       // dev/langchain4j/model/openai/OpenAiLanguageModelName.toString:()Ljava/lang/String;\n-    #4 = Fieldref           #33.#81       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.baseUrl:Ljava/lang/String;\n-    #5 = Fieldref           #33.#82       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.apiKey:Ljava/lang/String;\n-    #6 = Fieldref           #33.#83       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.organizationId:Ljava/lang/String;\n-    #7 = Fieldref           #33.#84       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.temperature:Ljava/lang/Double;\n-    #8 = Fieldref           #33.#85       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.timeout:Ljava/time/Duration;\n-    #9 = Fieldref           #33.#86       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.maxRetries:Ljava/lang/Integer;\n-   #10 = Fieldref           #33.#87       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.proxy:Ljava/net/Proxy;\n-   #11 = Fieldref           #33.#88       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.logRequests:Ljava/lang/Boolean;\n-   #12 = Fieldref           #33.#89       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.logResponses:Ljava/lang/Boolean;\n-   #13 = Fieldref           #33.#90       // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #14 = Class              #91           // dev/langchain4j/model/openai/OpenAiLanguageModel\n-   #15 = Methodref          #14.#92       // dev/langchain4j/model/openai/OpenAiLanguageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #16 = Class              #93           // java/lang/StringBuilder\n-   #17 = Methodref          #16.#77       // java/lang/StringBuilder.\"<init>\":()V\n-   #18 = String             #94           // OpenAiLanguageModel.OpenAiLanguageModelBuilder(baseUrl=\n-   #19 = Methodref          #16.#95       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #20 = String             #96           // , apiKey=\n-   #21 = String             #97           // , organizationId=\n-   #22 = String             #98           // , modelName=\n-   #23 = String             #99           // , temperature=\n-   #24 = Methodref          #16.#100      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #25 = String             #101          // , timeout=\n-   #26 = String             #102          // , maxRetries=\n-   #27 = String             #103          // , proxy=\n-   #28 = String             #104          // , logRequests=\n-   #29 = String             #105          // , logResponses=\n-   #30 = String             #106          // , tokenizer=\n-   #31 = String             #107          // )\n-   #32 = Methodref          #16.#80       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n-   #33 = Class              #108          // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n-   #34 = Class              #109          // java/lang/Object\n-   #35 = Utf8               baseUrl\n-   #36 = Utf8               Ljava/lang/String;\n-   #37 = Utf8               apiKey\n-   #38 = Utf8               organizationId\n-   #39 = Utf8               modelName\n-   #40 = Utf8               temperature\n-   #41 = Utf8               Ljava/lang/Double;\n-   #42 = Utf8               timeout\n-   #43 = Utf8               Ljava/time/Duration;\n-   #44 = Utf8               maxRetries\n-   #45 = Utf8               Ljava/lang/Integer;\n-   #46 = Utf8               proxy\n-   #47 = Utf8               Ljava/net/Proxy;\n-   #48 = Utf8               logRequests\n-   #49 = Utf8               Ljava/lang/Boolean;\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = Fieldref           #8.#9         // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.modelName:Ljava/lang/String;\n+    #8 = Class              #10           // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n+    #9 = NameAndType        #11:#12       // modelName:Ljava/lang/String;\n+   #10 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n+   #11 = Utf8               modelName\n+   #12 = Utf8               Ljava/lang/String;\n+   #13 = Methodref          #14.#15       // dev/langchain4j/model/openai/OpenAiLanguageModelName.toString:()Ljava/lang/String;\n+   #14 = Class              #16           // dev/langchain4j/model/openai/OpenAiLanguageModelName\n+   #15 = NameAndType        #17:#18       // toString:()Ljava/lang/String;\n+   #16 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModelName\n+   #17 = Utf8               toString\n+   #18 = Utf8               ()Ljava/lang/String;\n+   #19 = Fieldref           #8.#20        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.baseUrl:Ljava/lang/String;\n+   #20 = NameAndType        #21:#12       // baseUrl:Ljava/lang/String;\n+   #21 = Utf8               baseUrl\n+   #22 = Fieldref           #8.#23        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.apiKey:Ljava/lang/String;\n+   #23 = NameAndType        #24:#12       // apiKey:Ljava/lang/String;\n+   #24 = Utf8               apiKey\n+   #25 = Fieldref           #8.#26        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.organizationId:Ljava/lang/String;\n+   #26 = NameAndType        #27:#12       // organizationId:Ljava/lang/String;\n+   #27 = Utf8               organizationId\n+   #28 = Fieldref           #8.#29        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.temperature:Ljava/lang/Double;\n+   #29 = NameAndType        #30:#31       // temperature:Ljava/lang/Double;\n+   #30 = Utf8               temperature\n+   #31 = Utf8               Ljava/lang/Double;\n+   #32 = Fieldref           #8.#33        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.timeout:Ljava/time/Duration;\n+   #33 = NameAndType        #34:#35       // timeout:Ljava/time/Duration;\n+   #34 = Utf8               timeout\n+   #35 = Utf8               Ljava/time/Duration;\n+   #36 = Fieldref           #8.#37        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.maxRetries:Ljava/lang/Integer;\n+   #37 = NameAndType        #38:#39       // maxRetries:Ljava/lang/Integer;\n+   #38 = Utf8               maxRetries\n+   #39 = Utf8               Ljava/lang/Integer;\n+   #40 = Fieldref           #8.#41        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.proxy:Ljava/net/Proxy;\n+   #41 = NameAndType        #42:#43       // proxy:Ljava/net/Proxy;\n+   #42 = Utf8               proxy\n+   #43 = Utf8               Ljava/net/Proxy;\n+   #44 = Fieldref           #8.#45        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.logRequests:Ljava/lang/Boolean;\n+   #45 = NameAndType        #46:#47       // logRequests:Ljava/lang/Boolean;\n+   #46 = Utf8               logRequests\n+   #47 = Utf8               Ljava/lang/Boolean;\n+   #48 = Fieldref           #8.#49        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.logResponses:Ljava/lang/Boolean;\n+   #49 = NameAndType        #50:#47       // logResponses:Ljava/lang/Boolean;\n    #50 = Utf8               logResponses\n-   #51 = Utf8               tokenizer\n-   #52 = Utf8               Ldev/langchain4j/model/Tokenizer;\n-   #53 = Utf8               <init>\n-   #54 = Utf8               ()V\n-   #55 = Utf8               Code\n-   #56 = Utf8               LineNumberTable\n-   #57 = Utf8               LocalVariableTable\n-   #58 = Utf8               this\n-   #59 = Utf8               OpenAiLanguageModelBuilder\n-   #60 = Utf8               InnerClasses\n-   #61 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #62 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #63 = Utf8               (Ldev/langchain4j/model/openai/OpenAiLanguageModelName;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #64 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-   #65 = Utf8               (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #66 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #67 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #68 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #69 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #70 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n-   #71 = Utf8               build\n-   #72 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n-   #73 = Utf8               toString\n-   #74 = Utf8               ()Ljava/lang/String;\n-   #75 = Utf8               SourceFile\n-   #76 = Utf8               OpenAiLanguageModel.java\n-   #77 = NameAndType        #53:#54       // \"<init>\":()V\n-   #78 = NameAndType        #39:#36       // modelName:Ljava/lang/String;\n-   #79 = Class              #110          // dev/langchain4j/model/openai/OpenAiLanguageModelName\n-   #80 = NameAndType        #73:#74       // toString:()Ljava/lang/String;\n-   #81 = NameAndType        #35:#36       // baseUrl:Ljava/lang/String;\n-   #82 = NameAndType        #37:#36       // apiKey:Ljava/lang/String;\n-   #83 = NameAndType        #38:#36       // organizationId:Ljava/lang/String;\n-   #84 = NameAndType        #40:#41       // temperature:Ljava/lang/Double;\n-   #85 = NameAndType        #42:#43       // timeout:Ljava/time/Duration;\n-   #86 = NameAndType        #44:#45       // maxRetries:Ljava/lang/Integer;\n-   #87 = NameAndType        #46:#47       // proxy:Ljava/net/Proxy;\n-   #88 = NameAndType        #48:#49       // logRequests:Ljava/lang/Boolean;\n-   #89 = NameAndType        #50:#49       // logResponses:Ljava/lang/Boolean;\n-   #90 = NameAndType        #51:#52       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #91 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel\n-   #92 = NameAndType        #53:#111      // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #93 = Utf8               java/lang/StringBuilder\n-   #94 = Utf8               OpenAiLanguageModel.OpenAiLanguageModelBuilder(baseUrl=\n-   #95 = NameAndType        #112:#113     // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #96 = Utf8               , apiKey=\n-   #97 = Utf8               , organizationId=\n-   #98 = Utf8               , modelName=\n-   #99 = Utf8               , temperature=\n-  #100 = NameAndType        #112:#114     // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-  #101 = Utf8               , timeout=\n-  #102 = Utf8               , maxRetries=\n-  #103 = Utf8               , proxy=\n-  #104 = Utf8               , logRequests=\n-  #105 = Utf8               , logResponses=\n-  #106 = Utf8               , tokenizer=\n-  #107 = Utf8               )\n-  #108 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n-  #109 = Utf8               java/lang/Object\n-  #110 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModelName\n-  #111 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-  #112 = Utf8               append\n-  #113 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #114 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #51 = Fieldref           #8.#52        // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #52 = NameAndType        #53:#54       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #53 = Utf8               tokenizer\n+   #54 = Utf8               Ldev/langchain4j/model/Tokenizer;\n+   #55 = Class              #56           // dev/langchain4j/model/openai/OpenAiLanguageModel\n+   #56 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel\n+   #57 = Methodref          #55.#58       // dev/langchain4j/model/openai/OpenAiLanguageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #58 = NameAndType        #5:#59        // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #59 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #60 = Class              #61           // java/lang/StringBuilder\n+   #61 = Utf8               java/lang/StringBuilder\n+   #62 = Methodref          #60.#3        // java/lang/StringBuilder.\"<init>\":()V\n+   #63 = String             #64           // OpenAiLanguageModel.OpenAiLanguageModelBuilder(baseUrl=\n+   #64 = Utf8               OpenAiLanguageModel.OpenAiLanguageModelBuilder(baseUrl=\n+   #65 = Methodref          #60.#66       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #66 = NameAndType        #67:#68       // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #67 = Utf8               append\n+   #68 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #69 = String             #70           // , apiKey=\n+   #70 = Utf8               , apiKey=\n+   #71 = String             #72           // , organizationId=\n+   #72 = Utf8               , organizationId=\n+   #73 = String             #74           // , modelName=\n+   #74 = Utf8               , modelName=\n+   #75 = String             #76           // , temperature=\n+   #76 = Utf8               , temperature=\n+   #77 = Methodref          #60.#78       // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #78 = NameAndType        #67:#79       // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #79 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #80 = String             #81           // , timeout=\n+   #81 = Utf8               , timeout=\n+   #82 = String             #83           // , maxRetries=\n+   #83 = Utf8               , maxRetries=\n+   #84 = String             #85           // , proxy=\n+   #85 = Utf8               , proxy=\n+   #86 = String             #87           // , logRequests=\n+   #87 = Utf8               , logRequests=\n+   #88 = String             #89           // , logResponses=\n+   #89 = Utf8               , logResponses=\n+   #90 = String             #91           // , tokenizer=\n+   #91 = Utf8               , tokenizer=\n+   #92 = String             #93           // )\n+   #93 = Utf8               )\n+   #94 = Methodref          #60.#15       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n+   #95 = Utf8               Code\n+   #96 = Utf8               LineNumberTable\n+   #97 = Utf8               LocalVariableTable\n+   #98 = Utf8               this\n+   #99 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #100 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #101 = Utf8               (Ldev/langchain4j/model/openai/OpenAiLanguageModelName;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #102 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+  #103 = Utf8               (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #104 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #105 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #106 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #107 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #108 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n+  #109 = Utf8               build\n+  #110 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n+  #111 = Utf8               SourceFile\n+  #112 = Utf8               OpenAiLanguageModel.java\n+  #113 = Utf8               InnerClasses\n+  #114 = Utf8               OpenAiLanguageModelBuilder\n {\n   private java.lang.String baseUrl;\n     descriptor: Ljava/lang/String;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.String apiKey;\n     descriptor: Ljava/lang/String;\n@@ -185,15 +185,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder modelName(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: putfield      #7                  // Field modelName:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 113: 0\n         line 114: 5\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -203,16 +203,16 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder modelName(dev.langchain4j.model.openai.OpenAiLanguageModelName);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiLanguageModelName;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokevirtual #3                  // Method dev/langchain4j/model/openai/OpenAiLanguageModelName.toString:()Ljava/lang/String;\n-         5: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: invokevirtual #13                 // Method dev/langchain4j/model/openai/OpenAiLanguageModelName.toString:()Ljava/lang/String;\n+         5: putfield      #7                  // Field modelName:Ljava/lang/String;\n          8: aload_0\n          9: areturn\n       LineNumberTable:\n         line 118: 0\n         line 119: 8\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -222,15 +222,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder baseUrl(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         2: putfield      #19                 // Field baseUrl:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n@@ -239,15 +239,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder apiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #5                  // Field apiKey:Ljava/lang/String;\n+         2: putfield      #22                 // Field apiKey:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n@@ -256,15 +256,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder organizationId(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #6                  // Field organizationId:Ljava/lang/String;\n+         2: putfield      #25                 // Field organizationId:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n@@ -273,15 +273,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder temperature(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #7                  // Field temperature:Ljava/lang/Double;\n+         2: putfield      #28                 // Field temperature:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n@@ -290,15 +290,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder timeout(java.time.Duration);\n     descriptor: (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #8                  // Field timeout:Ljava/time/Duration;\n+         2: putfield      #32                 // Field timeout:Ljava/time/Duration;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n@@ -307,15 +307,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder maxRetries(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #9                  // Field maxRetries:Ljava/lang/Integer;\n+         2: putfield      #36                 // Field maxRetries:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n@@ -324,15 +324,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder proxy(java.net.Proxy);\n     descriptor: (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #10                 // Field proxy:Ljava/net/Proxy;\n+         2: putfield      #40                 // Field proxy:Ljava/net/Proxy;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n@@ -341,15 +341,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder logRequests(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #11                 // Field logRequests:Ljava/lang/Boolean;\n+         2: putfield      #44                 // Field logRequests:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n@@ -358,15 +358,15 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder logResponses(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #12                 // Field logResponses:Ljava/lang/Boolean;\n+         2: putfield      #48                 // Field logResponses:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n@@ -375,130 +375,130 @@\n   public dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder tokenizer(dev.langchain4j.model.Tokenizer);\n     descriptor: (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #13                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+         2: putfield      #51                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n             0       7     1 tokenizer   Ldev/langchain4j/model/Tokenizer;\n \n   public dev.langchain4j.model.openai.OpenAiLanguageModel build();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiLanguageModel;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=13, locals=1, args_size=1\n-         0: new           #14                 // class dev/langchain4j/model/openai/OpenAiLanguageModel\n+         0: new           #55                 // class dev/langchain4j/model/openai/OpenAiLanguageModel\n          3: dup\n          4: aload_0\n-         5: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         5: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n          8: aload_0\n-         9: getfield      #5                  // Field apiKey:Ljava/lang/String;\n+         9: getfield      #22                 // Field apiKey:Ljava/lang/String;\n         12: aload_0\n-        13: getfield      #6                  // Field organizationId:Ljava/lang/String;\n+        13: getfield      #25                 // Field organizationId:Ljava/lang/String;\n         16: aload_0\n-        17: getfield      #2                  // Field modelName:Ljava/lang/String;\n+        17: getfield      #7                  // Field modelName:Ljava/lang/String;\n         20: aload_0\n-        21: getfield      #7                  // Field temperature:Ljava/lang/Double;\n+        21: getfield      #28                 // Field temperature:Ljava/lang/Double;\n         24: aload_0\n-        25: getfield      #8                  // Field timeout:Ljava/time/Duration;\n+        25: getfield      #32                 // Field timeout:Ljava/time/Duration;\n         28: aload_0\n-        29: getfield      #9                  // Field maxRetries:Ljava/lang/Integer;\n+        29: getfield      #36                 // Field maxRetries:Ljava/lang/Integer;\n         32: aload_0\n-        33: getfield      #10                 // Field proxy:Ljava/net/Proxy;\n+        33: getfield      #40                 // Field proxy:Ljava/net/Proxy;\n         36: aload_0\n-        37: getfield      #11                 // Field logRequests:Ljava/lang/Boolean;\n+        37: getfield      #44                 // Field logRequests:Ljava/lang/Boolean;\n         40: aload_0\n-        41: getfield      #12                 // Field logResponses:Ljava/lang/Boolean;\n+        41: getfield      #48                 // Field logResponses:Ljava/lang/Boolean;\n         44: aload_0\n-        45: getfield      #13                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-        48: invokespecial #15                 // Method dev/langchain4j/model/openai/OpenAiLanguageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+        45: getfield      #51                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+        48: invokespecial #57                 // Method dev/langchain4j/model/openai/OpenAiLanguageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n         51: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      52     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: new           #16                 // class java/lang/StringBuilder\n+         0: new           #60                 // class java/lang/StringBuilder\n          3: dup\n-         4: invokespecial #17                 // Method java/lang/StringBuilder.\"<init>\":()V\n-         7: ldc           #18                 // String OpenAiLanguageModel.OpenAiLanguageModelBuilder(baseUrl=\n-         9: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+         4: invokespecial #62                 // Method java/lang/StringBuilder.\"<init>\":()V\n+         7: ldc           #63                 // String OpenAiLanguageModel.OpenAiLanguageModelBuilder(baseUrl=\n+         9: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         12: aload_0\n-        13: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n-        16: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        19: ldc           #20                 // String , apiKey=\n-        21: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        13: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n+        16: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        19: ldc           #69                 // String , apiKey=\n+        21: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         24: aload_0\n-        25: getfield      #5                  // Field apiKey:Ljava/lang/String;\n-        28: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        31: ldc           #21                 // String , organizationId=\n-        33: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        25: getfield      #22                 // Field apiKey:Ljava/lang/String;\n+        28: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        31: ldc           #71                 // String , organizationId=\n+        33: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         36: aload_0\n-        37: getfield      #6                  // Field organizationId:Ljava/lang/String;\n-        40: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        43: ldc           #22                 // String , modelName=\n-        45: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        37: getfield      #25                 // Field organizationId:Ljava/lang/String;\n+        40: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        43: ldc           #73                 // String , modelName=\n+        45: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         48: aload_0\n-        49: getfield      #2                  // Field modelName:Ljava/lang/String;\n-        52: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        55: ldc           #23                 // String , temperature=\n-        57: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        49: getfield      #7                  // Field modelName:Ljava/lang/String;\n+        52: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        55: ldc           #75                 // String , temperature=\n+        57: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         60: aload_0\n-        61: getfield      #7                  // Field temperature:Ljava/lang/Double;\n-        64: invokevirtual #24                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        67: ldc           #25                 // String , timeout=\n-        69: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        61: getfield      #28                 // Field temperature:Ljava/lang/Double;\n+        64: invokevirtual #77                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        67: ldc           #80                 // String , timeout=\n+        69: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         72: aload_0\n-        73: getfield      #8                  // Field timeout:Ljava/time/Duration;\n-        76: invokevirtual #24                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        79: ldc           #26                 // String , maxRetries=\n-        81: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        73: getfield      #32                 // Field timeout:Ljava/time/Duration;\n+        76: invokevirtual #77                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        79: ldc           #82                 // String , maxRetries=\n+        81: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         84: aload_0\n-        85: getfield      #9                  // Field maxRetries:Ljava/lang/Integer;\n-        88: invokevirtual #24                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        91: ldc           #27                 // String , proxy=\n-        93: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        85: getfield      #36                 // Field maxRetries:Ljava/lang/Integer;\n+        88: invokevirtual #77                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        91: ldc           #84                 // String , proxy=\n+        93: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         96: aload_0\n-        97: getfield      #10                 // Field proxy:Ljava/net/Proxy;\n-       100: invokevirtual #24                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       103: ldc           #28                 // String , logRequests=\n-       105: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        97: getfield      #40                 // Field proxy:Ljava/net/Proxy;\n+       100: invokevirtual #77                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       103: ldc           #86                 // String , logRequests=\n+       105: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        108: aload_0\n-       109: getfield      #11                 // Field logRequests:Ljava/lang/Boolean;\n-       112: invokevirtual #24                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       115: ldc           #29                 // String , logResponses=\n-       117: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       109: getfield      #44                 // Field logRequests:Ljava/lang/Boolean;\n+       112: invokevirtual #77                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       115: ldc           #88                 // String , logResponses=\n+       117: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        120: aload_0\n-       121: getfield      #12                 // Field logResponses:Ljava/lang/Boolean;\n-       124: invokevirtual #24                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       127: ldc           #30                 // String , tokenizer=\n-       129: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       121: getfield      #48                 // Field logResponses:Ljava/lang/Boolean;\n+       124: invokevirtual #77                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       127: ldc           #90                 // String , tokenizer=\n+       129: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        132: aload_0\n-       133: getfield      #13                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-       136: invokevirtual #24                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       139: ldc           #31                 // String )\n-       141: invokevirtual #19                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       144: invokevirtual #32                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+       133: getfield      #51                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+       136: invokevirtual #77                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       139: ldc           #92                 // String )\n+       141: invokevirtual #65                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       144: invokevirtual #94                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n        147: areturn\n       LineNumberTable:\n         line 37: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0     148     0  this   Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;\n }\n SourceFile: \"OpenAiLanguageModel.java\"\n InnerClasses:\n-  public static #59= #33 of #14;          // OpenAiLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiLanguageModel\n+  public static #114= #8 of #55;          // OpenAiLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiLanguageModel\n"}]}, {"source1": "dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory.class", "source2": "dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,32 +1,32 @@\n-  SHA-256 checksum dc49e5a3fc9d67407bd50455a91e4bcc97f0fce7da776fa045842a8e7f73a539\n+  SHA-256 checksum 2b730106793fb6102b92c8c1ca669c4d256f3d34719d9262027ea9de26f81aab\n   Compiled from \"OpenAiModerationModelBuilderFactory.java\"\n public interface dev.langchain4j.model.openai.spi.OpenAiModerationModelBuilderFactory extends java.util.function.Supplier<dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder>\n   minor version: 0\n   major version: 52\n   flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT\n   this_class: #1                          // dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n-  super_class: #2                         // java/lang/Object\n+  super_class: #3                         // java/lang/Object\n   interfaces: 1, fields: 0, methods: 0, attributes: 3\n Constant pool:\n-   #1 = Class              #11            // dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n-   #2 = Class              #12            // java/lang/Object\n-   #3 = Class              #13            // java/util/function/Supplier\n-   #4 = Utf8               Signature\n-   #5 = Class              #15            // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n-   #6 = Utf8               OpenAiModerationModelBuilder\n-   #7 = Utf8               InnerClasses\n+   #1 = Class              #2             // dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n+   #2 = Utf8               dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n+   #3 = Class              #4             // java/lang/Object\n+   #4 = Utf8               java/lang/Object\n+   #5 = Class              #6             // java/util/function/Supplier\n+   #6 = Utf8               java/util/function/Supplier\n+   #7 = Utf8               Signature\n    #8 = Utf8               Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;>;\n    #9 = Utf8               SourceFile\n   #10 = Utf8               OpenAiModerationModelBuilderFactory.java\n-  #11 = Utf8               dev/langchain4j/model/openai/spi/OpenAiModerationModelBuilderFactory\n-  #12 = Utf8               java/lang/Object\n-  #13 = Utf8               java/util/function/Supplier\n-  #14 = Class              #16            // dev/langchain4j/model/openai/OpenAiModerationModel\n-  #15 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n-  #16 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel\n+  #11 = Utf8               InnerClasses\n+  #12 = Class              #13            // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n+  #13 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n+  #14 = Class              #15            // dev/langchain4j/model/openai/OpenAiModerationModel\n+  #15 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel\n+  #16 = Utf8               OpenAiModerationModelBuilder\n {\n }\n Signature: #8                           // Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;>;\n SourceFile: \"OpenAiModerationModelBuilderFactory.java\"\n InnerClasses:\n-  public static #6= #5 of #14;            // OpenAiModerationModelBuilder=class dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder of class dev/langchain4j/model/openai/OpenAiModerationModel\n+  public static #16= #12 of #14;          // OpenAiModerationModelBuilder=class dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder of class dev/langchain4j/model/openai/OpenAiModerationModel\n"}]}, {"source1": "dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory.class", "source2": "dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,32 +1,32 @@\n-  SHA-256 checksum ca76082b9bfb048eedc978efd0b1b34bcec1bdd7cac5dc4bcb1ad75f956d322f\n+  SHA-256 checksum 412e19cafe81fc76d23d611b0d0df3d7f47777a204859a58307495b057a8e0b0\n   Compiled from \"OpenAiStreamingLanguageModelBuilderFactory.java\"\n public interface dev.langchain4j.model.openai.spi.OpenAiStreamingLanguageModelBuilderFactory extends java.util.function.Supplier<dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder>\n   minor version: 0\n   major version: 52\n   flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT\n   this_class: #1                          // dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory\n-  super_class: #2                         // java/lang/Object\n+  super_class: #3                         // java/lang/Object\n   interfaces: 1, fields: 0, methods: 0, attributes: 3\n Constant pool:\n-   #1 = Class              #11            // dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory\n-   #2 = Class              #12            // java/lang/Object\n-   #3 = Class              #13            // java/util/function/Supplier\n-   #4 = Utf8               Signature\n-   #5 = Class              #15            // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n-   #6 = Utf8               OpenAiStreamingLanguageModelBuilder\n-   #7 = Utf8               InnerClasses\n+   #1 = Class              #2             // dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory\n+   #2 = Utf8               dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory\n+   #3 = Class              #4             // java/lang/Object\n+   #4 = Utf8               java/lang/Object\n+   #5 = Class              #6             // java/util/function/Supplier\n+   #6 = Utf8               java/util/function/Supplier\n+   #7 = Utf8               Signature\n    #8 = Utf8               Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;>;\n    #9 = Utf8               SourceFile\n   #10 = Utf8               OpenAiStreamingLanguageModelBuilderFactory.java\n-  #11 = Utf8               dev/langchain4j/model/openai/spi/OpenAiStreamingLanguageModelBuilderFactory\n-  #12 = Utf8               java/lang/Object\n-  #13 = Utf8               java/util/function/Supplier\n-  #14 = Class              #16            // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n-  #15 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n-  #16 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n+  #11 = Utf8               InnerClasses\n+  #12 = Class              #13            // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n+  #13 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n+  #14 = Class              #15            // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n+  #15 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n+  #16 = Utf8               OpenAiStreamingLanguageModelBuilder\n {\n }\n Signature: #8                           // Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;>;\n SourceFile: \"OpenAiStreamingLanguageModelBuilderFactory.java\"\n InnerClasses:\n-  public static #6= #5 of #14;            // OpenAiStreamingLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n+  public static #16= #12 of #14;          // OpenAiStreamingLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n"}]}, {"source1": "dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory.class", "source2": "dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,32 +1,32 @@\n-  SHA-256 checksum 91464b15f482b4444465f8cf8c53eb0446d0b084c5660f0184dd66b323825278\n+  SHA-256 checksum d1ff32b654f6b4ea036d7d8e82c2d83251323371bd6d0a9325ca1c7820f83d77\n   Compiled from \"OpenAiEmbeddingModelBuilderFactory.java\"\n public interface dev.langchain4j.model.openai.spi.OpenAiEmbeddingModelBuilderFactory extends java.util.function.Supplier<dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder>\n   minor version: 0\n   major version: 52\n   flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT\n   this_class: #1                          // dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n-  super_class: #2                         // java/lang/Object\n+  super_class: #3                         // java/lang/Object\n   interfaces: 1, fields: 0, methods: 0, attributes: 3\n Constant pool:\n-   #1 = Class              #11            // dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n-   #2 = Class              #12            // java/lang/Object\n-   #3 = Class              #13            // java/util/function/Supplier\n-   #4 = Utf8               Signature\n-   #5 = Class              #15            // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n-   #6 = Utf8               OpenAiEmbeddingModelBuilder\n-   #7 = Utf8               InnerClasses\n+   #1 = Class              #2             // dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n+   #2 = Utf8               dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n+   #3 = Class              #4             // java/lang/Object\n+   #4 = Utf8               java/lang/Object\n+   #5 = Class              #6             // java/util/function/Supplier\n+   #6 = Utf8               java/util/function/Supplier\n+   #7 = Utf8               Signature\n    #8 = Utf8               Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;>;\n    #9 = Utf8               SourceFile\n   #10 = Utf8               OpenAiEmbeddingModelBuilderFactory.java\n-  #11 = Utf8               dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n-  #12 = Utf8               java/lang/Object\n-  #13 = Utf8               java/util/function/Supplier\n-  #14 = Class              #16            // dev/langchain4j/model/openai/OpenAiEmbeddingModel\n-  #15 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n-  #16 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+  #11 = Utf8               InnerClasses\n+  #12 = Class              #13            // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n+  #13 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n+  #14 = Class              #15            // dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+  #15 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+  #16 = Utf8               OpenAiEmbeddingModelBuilder\n {\n }\n Signature: #8                           // Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;>;\n SourceFile: \"OpenAiEmbeddingModelBuilderFactory.java\"\n InnerClasses:\n-  public static #6= #5 of #14;            // OpenAiEmbeddingModelBuilder=class dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder of class dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+  public static #16= #12 of #14;          // OpenAiEmbeddingModelBuilder=class dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder of class dev/langchain4j/model/openai/OpenAiEmbeddingModel\n"}]}, {"source1": "dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory.class", "source2": "dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,32 +1,32 @@\n-  SHA-256 checksum 66e809c949fb96299343b99a9700125d1780201e19c892c7befe7a18c2b868ca\n+  SHA-256 checksum 3f697ff50693396becbc72073c646a8078ae030f9d7a3a0efb9e72266a294508\n   Compiled from \"OpenAiStreamingChatModelBuilderFactory.java\"\n public interface dev.langchain4j.model.openai.spi.OpenAiStreamingChatModelBuilderFactory extends java.util.function.Supplier<dev.langchain4j.model.openai.OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder>\n   minor version: 0\n   major version: 52\n   flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT\n   this_class: #1                          // dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory\n-  super_class: #2                         // java/lang/Object\n+  super_class: #3                         // java/lang/Object\n   interfaces: 1, fields: 0, methods: 0, attributes: 3\n Constant pool:\n-   #1 = Class              #11            // dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory\n-   #2 = Class              #12            // java/lang/Object\n-   #3 = Class              #13            // java/util/function/Supplier\n-   #4 = Utf8               Signature\n-   #5 = Class              #15            // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n-   #6 = Utf8               OpenAiStreamingChatModelBuilder\n-   #7 = Utf8               InnerClasses\n+   #1 = Class              #2             // dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory\n+   #2 = Utf8               dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory\n+   #3 = Class              #4             // java/lang/Object\n+   #4 = Utf8               java/lang/Object\n+   #5 = Class              #6             // java/util/function/Supplier\n+   #6 = Utf8               java/util/function/Supplier\n+   #7 = Utf8               Signature\n    #8 = Utf8               Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;>;\n    #9 = Utf8               SourceFile\n   #10 = Utf8               OpenAiStreamingChatModelBuilderFactory.java\n-  #11 = Utf8               dev/langchain4j/model/openai/spi/OpenAiStreamingChatModelBuilderFactory\n-  #12 = Utf8               java/lang/Object\n-  #13 = Utf8               java/util/function/Supplier\n-  #14 = Class              #16            // dev/langchain4j/model/openai/OpenAiStreamingChatModel\n-  #15 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n-  #16 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingChatModel\n+  #11 = Utf8               InnerClasses\n+  #12 = Class              #13            // dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n+  #13 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder\n+  #14 = Class              #15            // dev/langchain4j/model/openai/OpenAiStreamingChatModel\n+  #15 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingChatModel\n+  #16 = Utf8               OpenAiStreamingChatModelBuilder\n {\n }\n Signature: #8                           // Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder;>;\n SourceFile: \"OpenAiStreamingChatModelBuilderFactory.java\"\n InnerClasses:\n-  public static #6= #5 of #14;            // OpenAiStreamingChatModelBuilder=class dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder of class dev/langchain4j/model/openai/OpenAiStreamingChatModel\n+  public static #16= #12 of #14;          // OpenAiStreamingChatModelBuilder=class dev/langchain4j/model/openai/OpenAiStreamingChatModel$OpenAiStreamingChatModelBuilder of class dev/langchain4j/model/openai/OpenAiStreamingChatModel\n"}]}, {"source1": "dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory.class", "source2": "dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,32 +1,32 @@\n-  SHA-256 checksum f865befba551a0fde8c947421193ba07f9755cfec44172d430ca85ed66f88e7d\n+  SHA-256 checksum c2d17770099b8eb9e7ee771bfdc7d26233fcf1fefb2ee152bac04715cec664e5\n   Compiled from \"OpenAiImageModelBuilderFactory.java\"\n public interface dev.langchain4j.model.openai.spi.OpenAiImageModelBuilderFactory extends java.util.function.Supplier<dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder>\n   minor version: 0\n   major version: 52\n   flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT\n   this_class: #1                          // dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory\n-  super_class: #2                         // java/lang/Object\n+  super_class: #3                         // java/lang/Object\n   interfaces: 1, fields: 0, methods: 0, attributes: 3\n Constant pool:\n-   #1 = Class              #11            // dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory\n-   #2 = Class              #12            // java/lang/Object\n-   #3 = Class              #13            // java/util/function/Supplier\n-   #4 = Utf8               Signature\n-   #5 = Class              #15            // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n-   #6 = Utf8               OpenAiImageModelBuilder\n-   #7 = Utf8               InnerClasses\n+   #1 = Class              #2             // dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory\n+   #2 = Utf8               dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory\n+   #3 = Class              #4             // java/lang/Object\n+   #4 = Utf8               java/lang/Object\n+   #5 = Class              #6             // java/util/function/Supplier\n+   #6 = Utf8               java/util/function/Supplier\n+   #7 = Utf8               Signature\n    #8 = Utf8               Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;>;\n    #9 = Utf8               SourceFile\n   #10 = Utf8               OpenAiImageModelBuilderFactory.java\n-  #11 = Utf8               dev/langchain4j/model/openai/spi/OpenAiImageModelBuilderFactory\n-  #12 = Utf8               java/lang/Object\n-  #13 = Utf8               java/util/function/Supplier\n-  #14 = Class              #16            // dev/langchain4j/model/openai/OpenAiImageModel\n-  #15 = Utf8               dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n-  #16 = Utf8               dev/langchain4j/model/openai/OpenAiImageModel\n+  #11 = Utf8               InnerClasses\n+  #12 = Class              #13            // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n+  #13 = Utf8               dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n+  #14 = Class              #15            // dev/langchain4j/model/openai/OpenAiImageModel\n+  #15 = Utf8               dev/langchain4j/model/openai/OpenAiImageModel\n+  #16 = Utf8               OpenAiImageModelBuilder\n {\n }\n Signature: #8                           // Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;>;\n SourceFile: \"OpenAiImageModelBuilderFactory.java\"\n InnerClasses:\n-  public static #6= #5 of #14;            // OpenAiImageModelBuilder=class dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder of class dev/langchain4j/model/openai/OpenAiImageModel\n+  public static #16= #12 of #14;          // OpenAiImageModelBuilder=class dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder of class dev/langchain4j/model/openai/OpenAiImageModel\n"}]}, {"source1": "dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory.class", "source2": "dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,32 +1,32 @@\n-  SHA-256 checksum 8a6d544ae5ec53f8c0f4e24406784b406b93ab7633050e95b1ee2a8be979cf84\n+  SHA-256 checksum 36e1a875d28c5e6b75a6f461a94e54b8c43c91822f11af8afdba3d5c60925d4f\n   Compiled from \"OpenAiLanguageModelBuilderFactory.java\"\n public interface dev.langchain4j.model.openai.spi.OpenAiLanguageModelBuilderFactory extends java.util.function.Supplier<dev.langchain4j.model.openai.OpenAiLanguageModel$OpenAiLanguageModelBuilder>\n   minor version: 0\n   major version: 52\n   flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT\n   this_class: #1                          // dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n-  super_class: #2                         // java/lang/Object\n+  super_class: #3                         // java/lang/Object\n   interfaces: 1, fields: 0, methods: 0, attributes: 3\n Constant pool:\n-   #1 = Class              #11            // dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n-   #2 = Class              #12            // java/lang/Object\n-   #3 = Class              #13            // java/util/function/Supplier\n-   #4 = Utf8               Signature\n-   #5 = Class              #15            // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n-   #6 = Utf8               OpenAiLanguageModelBuilder\n-   #7 = Utf8               InnerClasses\n+   #1 = Class              #2             // dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n+   #2 = Utf8               dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n+   #3 = Class              #4             // java/lang/Object\n+   #4 = Utf8               java/lang/Object\n+   #5 = Class              #6             // java/util/function/Supplier\n+   #6 = Utf8               java/util/function/Supplier\n+   #7 = Utf8               Signature\n    #8 = Utf8               Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;>;\n    #9 = Utf8               SourceFile\n   #10 = Utf8               OpenAiLanguageModelBuilderFactory.java\n-  #11 = Utf8               dev/langchain4j/model/openai/spi/OpenAiLanguageModelBuilderFactory\n-  #12 = Utf8               java/lang/Object\n-  #13 = Utf8               java/util/function/Supplier\n-  #14 = Class              #16            // dev/langchain4j/model/openai/OpenAiLanguageModel\n-  #15 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n-  #16 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel\n+  #11 = Utf8               InnerClasses\n+  #12 = Class              #13            // dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n+  #13 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder\n+  #14 = Class              #15            // dev/langchain4j/model/openai/OpenAiLanguageModel\n+  #15 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModel\n+  #16 = Utf8               OpenAiLanguageModelBuilder\n {\n }\n Signature: #8                           // Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder;>;\n SourceFile: \"OpenAiLanguageModelBuilderFactory.java\"\n InnerClasses:\n-  public static #6= #5 of #14;            // OpenAiLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiLanguageModel\n+  public static #16= #12 of #14;          // OpenAiLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiLanguageModel$OpenAiLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiLanguageModel\n"}]}, {"source1": "dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory.class", "source2": "dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,32 +1,32 @@\n-  SHA-256 checksum 9121ce5004133fdbd80ef6530130c54c4c6622ea922f83bd6481477ec2e35440\n+  SHA-256 checksum 89c2db38db2a59df3bb8c0b9cfde2a32beb2753d3233238b6a5b3d4fbf060ecb\n   Compiled from \"OpenAiChatModelBuilderFactory.java\"\n public interface dev.langchain4j.model.openai.spi.OpenAiChatModelBuilderFactory extends java.util.function.Supplier<dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder>\n   minor version: 0\n   major version: 52\n   flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT\n   this_class: #1                          // dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n-  super_class: #2                         // java/lang/Object\n+  super_class: #3                         // java/lang/Object\n   interfaces: 1, fields: 0, methods: 0, attributes: 3\n Constant pool:\n-   #1 = Class              #11            // dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n-   #2 = Class              #12            // java/lang/Object\n-   #3 = Class              #13            // java/util/function/Supplier\n-   #4 = Utf8               Signature\n-   #5 = Class              #15            // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n-   #6 = Utf8               OpenAiChatModelBuilder\n-   #7 = Utf8               InnerClasses\n+   #1 = Class              #2             // dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n+   #2 = Utf8               dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n+   #3 = Class              #4             // java/lang/Object\n+   #4 = Utf8               java/lang/Object\n+   #5 = Class              #6             // java/util/function/Supplier\n+   #6 = Utf8               java/util/function/Supplier\n+   #7 = Utf8               Signature\n    #8 = Utf8               Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;>;\n    #9 = Utf8               SourceFile\n   #10 = Utf8               OpenAiChatModelBuilderFactory.java\n-  #11 = Utf8               dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n-  #12 = Utf8               java/lang/Object\n-  #13 = Utf8               java/util/function/Supplier\n-  #14 = Class              #16            // dev/langchain4j/model/openai/OpenAiChatModel\n-  #15 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n-  #16 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel\n+  #11 = Utf8               InnerClasses\n+  #12 = Class              #13            // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n+  #13 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n+  #14 = Class              #15            // dev/langchain4j/model/openai/OpenAiChatModel\n+  #15 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel\n+  #16 = Utf8               OpenAiChatModelBuilder\n {\n }\n Signature: #8                           // Ljava/lang/Object;Ljava/util/function/Supplier<Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;>;\n SourceFile: \"OpenAiChatModelBuilderFactory.java\"\n InnerClasses:\n-  public static #6= #5 of #14;            // OpenAiChatModelBuilder=class dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder of class dev/langchain4j/model/openai/OpenAiChatModel\n+  public static #16= #12 of #14;          // OpenAiChatModelBuilder=class dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder of class dev/langchain4j/model/openai/OpenAiChatModel\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.class", "source2": "dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,124 +1,124 @@\n-  SHA-256 checksum 2527352cb72a7012b2d4c09c7d6682d2afef213aed9d9673f96e85dcc772a7cb\n+  SHA-256 checksum c27bc13b3bc0cc9082aeae873687de3b111d10c833c14f0b6116a06b270059f6\n   Compiled from \"OpenAiStreamingLanguageModel.java\"\n public class dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #31                         // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n-  super_class: #32                        // java/lang/Object\n+  this_class: #8                          // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 10, methods: 14, attributes: 2\n Constant pool:\n-    #1 = Methodref          #32.#72       // java/lang/Object.\"<init>\":()V\n-    #2 = Fieldref           #31.#73       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.modelName:Ljava/lang/String;\n-    #3 = Methodref          #74.#75       // dev/langchain4j/model/openai/OpenAiLanguageModelName.toString:()Ljava/lang/String;\n-    #4 = Fieldref           #31.#76       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.baseUrl:Ljava/lang/String;\n-    #5 = Fieldref           #31.#77       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.apiKey:Ljava/lang/String;\n-    #6 = Fieldref           #31.#78       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.organizationId:Ljava/lang/String;\n-    #7 = Fieldref           #31.#79       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.temperature:Ljava/lang/Double;\n-    #8 = Fieldref           #31.#80       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.timeout:Ljava/time/Duration;\n-    #9 = Fieldref           #31.#81       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.proxy:Ljava/net/Proxy;\n-   #10 = Fieldref           #31.#82       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.logRequests:Ljava/lang/Boolean;\n-   #11 = Fieldref           #31.#83       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.logResponses:Ljava/lang/Boolean;\n-   #12 = Fieldref           #31.#84       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #13 = Class              #85           // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n-   #14 = Methodref          #13.#86       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #15 = Class              #87           // java/lang/StringBuilder\n-   #16 = Methodref          #15.#72       // java/lang/StringBuilder.\"<init>\":()V\n-   #17 = String             #88           // OpenAiStreamingLanguageModel.OpenAiStreamingLanguageModelBuilder(baseUrl=\n-   #18 = Methodref          #15.#89       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #19 = String             #90           // , apiKey=\n-   #20 = String             #91           // , organizationId=\n-   #21 = String             #92           // , modelName=\n-   #22 = String             #93           // , temperature=\n-   #23 = Methodref          #15.#94       // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #24 = String             #95           // , timeout=\n-   #25 = String             #96           // , proxy=\n-   #26 = String             #97           // , logRequests=\n-   #27 = String             #98           // , logResponses=\n-   #28 = String             #99           // , tokenizer=\n-   #29 = String             #100          // )\n-   #30 = Methodref          #15.#75       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n-   #31 = Class              #101          // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n-   #32 = Class              #102          // java/lang/Object\n-   #33 = Utf8               baseUrl\n-   #34 = Utf8               Ljava/lang/String;\n-   #35 = Utf8               apiKey\n-   #36 = Utf8               organizationId\n-   #37 = Utf8               modelName\n-   #38 = Utf8               temperature\n-   #39 = Utf8               Ljava/lang/Double;\n-   #40 = Utf8               timeout\n-   #41 = Utf8               Ljava/time/Duration;\n-   #42 = Utf8               proxy\n-   #43 = Utf8               Ljava/net/Proxy;\n-   #44 = Utf8               logRequests\n-   #45 = Utf8               Ljava/lang/Boolean;\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = Fieldref           #8.#9         // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.modelName:Ljava/lang/String;\n+    #8 = Class              #10           // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n+    #9 = NameAndType        #11:#12       // modelName:Ljava/lang/String;\n+   #10 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n+   #11 = Utf8               modelName\n+   #12 = Utf8               Ljava/lang/String;\n+   #13 = Methodref          #14.#15       // dev/langchain4j/model/openai/OpenAiLanguageModelName.toString:()Ljava/lang/String;\n+   #14 = Class              #16           // dev/langchain4j/model/openai/OpenAiLanguageModelName\n+   #15 = NameAndType        #17:#18       // toString:()Ljava/lang/String;\n+   #16 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModelName\n+   #17 = Utf8               toString\n+   #18 = Utf8               ()Ljava/lang/String;\n+   #19 = Fieldref           #8.#20        // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.baseUrl:Ljava/lang/String;\n+   #20 = NameAndType        #21:#12       // baseUrl:Ljava/lang/String;\n+   #21 = Utf8               baseUrl\n+   #22 = Fieldref           #8.#23        // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.apiKey:Ljava/lang/String;\n+   #23 = NameAndType        #24:#12       // apiKey:Ljava/lang/String;\n+   #24 = Utf8               apiKey\n+   #25 = Fieldref           #8.#26        // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.organizationId:Ljava/lang/String;\n+   #26 = NameAndType        #27:#12       // organizationId:Ljava/lang/String;\n+   #27 = Utf8               organizationId\n+   #28 = Fieldref           #8.#29        // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.temperature:Ljava/lang/Double;\n+   #29 = NameAndType        #30:#31       // temperature:Ljava/lang/Double;\n+   #30 = Utf8               temperature\n+   #31 = Utf8               Ljava/lang/Double;\n+   #32 = Fieldref           #8.#33        // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.timeout:Ljava/time/Duration;\n+   #33 = NameAndType        #34:#35       // timeout:Ljava/time/Duration;\n+   #34 = Utf8               timeout\n+   #35 = Utf8               Ljava/time/Duration;\n+   #36 = Fieldref           #8.#37        // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.proxy:Ljava/net/Proxy;\n+   #37 = NameAndType        #38:#39       // proxy:Ljava/net/Proxy;\n+   #38 = Utf8               proxy\n+   #39 = Utf8               Ljava/net/Proxy;\n+   #40 = Fieldref           #8.#41        // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.logRequests:Ljava/lang/Boolean;\n+   #41 = NameAndType        #42:#43       // logRequests:Ljava/lang/Boolean;\n+   #42 = Utf8               logRequests\n+   #43 = Utf8               Ljava/lang/Boolean;\n+   #44 = Fieldref           #8.#45        // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.logResponses:Ljava/lang/Boolean;\n+   #45 = NameAndType        #46:#43       // logResponses:Ljava/lang/Boolean;\n    #46 = Utf8               logResponses\n-   #47 = Utf8               tokenizer\n-   #48 = Utf8               Ldev/langchain4j/model/Tokenizer;\n-   #49 = Utf8               <init>\n-   #50 = Utf8               ()V\n-   #51 = Utf8               Code\n-   #52 = Utf8               LineNumberTable\n-   #53 = Utf8               LocalVariableTable\n-   #54 = Utf8               this\n-   #55 = Utf8               OpenAiStreamingLanguageModelBuilder\n-   #56 = Utf8               InnerClasses\n-   #57 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n-   #58 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n-   #59 = Utf8               (Ldev/langchain4j/model/openai/OpenAiLanguageModelName;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n-   #60 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n-   #61 = Utf8               (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n-   #62 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n-   #63 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n-   #64 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n-   #65 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n-   #66 = Utf8               build\n-   #67 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel;\n-   #68 = Utf8               toString\n-   #69 = Utf8               ()Ljava/lang/String;\n-   #70 = Utf8               SourceFile\n-   #71 = Utf8               OpenAiStreamingLanguageModel.java\n-   #72 = NameAndType        #49:#50       // \"<init>\":()V\n-   #73 = NameAndType        #37:#34       // modelName:Ljava/lang/String;\n-   #74 = Class              #103          // dev/langchain4j/model/openai/OpenAiLanguageModelName\n-   #75 = NameAndType        #68:#69       // toString:()Ljava/lang/String;\n-   #76 = NameAndType        #33:#34       // baseUrl:Ljava/lang/String;\n-   #77 = NameAndType        #35:#34       // apiKey:Ljava/lang/String;\n-   #78 = NameAndType        #36:#34       // organizationId:Ljava/lang/String;\n-   #79 = NameAndType        #38:#39       // temperature:Ljava/lang/Double;\n-   #80 = NameAndType        #40:#41       // timeout:Ljava/time/Duration;\n-   #81 = NameAndType        #42:#43       // proxy:Ljava/net/Proxy;\n-   #82 = NameAndType        #44:#45       // logRequests:Ljava/lang/Boolean;\n-   #83 = NameAndType        #46:#45       // logResponses:Ljava/lang/Boolean;\n-   #84 = NameAndType        #47:#48       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #85 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n-   #86 = NameAndType        #49:#104      // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #87 = Utf8               java/lang/StringBuilder\n-   #88 = Utf8               OpenAiStreamingLanguageModel.OpenAiStreamingLanguageModelBuilder(baseUrl=\n-   #89 = NameAndType        #105:#106     // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #90 = Utf8               , apiKey=\n-   #91 = Utf8               , organizationId=\n-   #92 = Utf8               , modelName=\n-   #93 = Utf8               , temperature=\n-   #94 = NameAndType        #105:#107     // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #95 = Utf8               , timeout=\n-   #96 = Utf8               , proxy=\n-   #97 = Utf8               , logRequests=\n-   #98 = Utf8               , logResponses=\n-   #99 = Utf8               , tokenizer=\n-  #100 = Utf8               )\n-  #101 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder\n-  #102 = Utf8               java/lang/Object\n-  #103 = Utf8               dev/langchain4j/model/openai/OpenAiLanguageModelName\n-  #104 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-  #105 = Utf8               append\n-  #106 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #107 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #47 = Fieldref           #8.#48        // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #48 = NameAndType        #49:#50       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #49 = Utf8               tokenizer\n+   #50 = Utf8               Ldev/langchain4j/model/Tokenizer;\n+   #51 = Class              #52           // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n+   #52 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n+   #53 = Methodref          #51.#54       // dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #54 = NameAndType        #5:#55        // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #55 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #56 = Class              #57           // java/lang/StringBuilder\n+   #57 = Utf8               java/lang/StringBuilder\n+   #58 = Methodref          #56.#3        // java/lang/StringBuilder.\"<init>\":()V\n+   #59 = String             #60           // OpenAiStreamingLanguageModel.OpenAiStreamingLanguageModelBuilder(baseUrl=\n+   #60 = Utf8               OpenAiStreamingLanguageModel.OpenAiStreamingLanguageModelBuilder(baseUrl=\n+   #61 = Methodref          #56.#62       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #62 = NameAndType        #63:#64       // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #63 = Utf8               append\n+   #64 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #65 = String             #66           // , apiKey=\n+   #66 = Utf8               , apiKey=\n+   #67 = String             #68           // , organizationId=\n+   #68 = Utf8               , organizationId=\n+   #69 = String             #70           // , modelName=\n+   #70 = Utf8               , modelName=\n+   #71 = String             #72           // , temperature=\n+   #72 = Utf8               , temperature=\n+   #73 = Methodref          #56.#74       // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #74 = NameAndType        #63:#75       // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #75 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #76 = String             #77           // , timeout=\n+   #77 = Utf8               , timeout=\n+   #78 = String             #79           // , proxy=\n+   #79 = Utf8               , proxy=\n+   #80 = String             #81           // , logRequests=\n+   #81 = Utf8               , logRequests=\n+   #82 = String             #83           // , logResponses=\n+   #83 = Utf8               , logResponses=\n+   #84 = String             #85           // , tokenizer=\n+   #85 = Utf8               , tokenizer=\n+   #86 = String             #87           // )\n+   #87 = Utf8               )\n+   #88 = Methodref          #56.#15       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n+   #89 = Utf8               Code\n+   #90 = Utf8               LineNumberTable\n+   #91 = Utf8               LocalVariableTable\n+   #92 = Utf8               this\n+   #93 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n+   #94 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n+   #95 = Utf8               (Ldev/langchain4j/model/openai/OpenAiLanguageModelName;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n+   #96 = Utf8               Ldev/langchain4j/model/openai/OpenAiLanguageModelName;\n+   #97 = Utf8               (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n+   #98 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n+   #99 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n+  #100 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n+  #101 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n+  #102 = Utf8               build\n+  #103 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel;\n+  #104 = Utf8               SourceFile\n+  #105 = Utf8               OpenAiStreamingLanguageModel.java\n+  #106 = Utf8               InnerClasses\n+  #107 = Utf8               OpenAiStreamingLanguageModelBuilder\n {\n   private java.lang.String baseUrl;\n     descriptor: Ljava/lang/String;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.String apiKey;\n     descriptor: Ljava/lang/String;\n@@ -174,15 +174,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder modelName(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: putfield      #7                  // Field modelName:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 123: 0\n         line 124: 5\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -192,16 +192,16 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder modelName(dev.langchain4j.model.openai.OpenAiLanguageModelName);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiLanguageModelName;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokevirtual #3                  // Method dev/langchain4j/model/openai/OpenAiLanguageModelName.toString:()Ljava/lang/String;\n-         5: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: invokevirtual #13                 // Method dev/langchain4j/model/openai/OpenAiLanguageModelName.toString:()Ljava/lang/String;\n+         5: putfield      #7                  // Field modelName:Ljava/lang/String;\n          8: aload_0\n          9: areturn\n       LineNumberTable:\n         line 128: 0\n         line 129: 8\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -211,15 +211,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder baseUrl(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         2: putfield      #19                 // Field baseUrl:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n@@ -228,15 +228,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder apiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #5                  // Field apiKey:Ljava/lang/String;\n+         2: putfield      #22                 // Field apiKey:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n@@ -245,15 +245,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder organizationId(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #6                  // Field organizationId:Ljava/lang/String;\n+         2: putfield      #25                 // Field organizationId:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n@@ -262,15 +262,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder temperature(java.lang.Double);\n     descriptor: (Ljava/lang/Double;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #7                  // Field temperature:Ljava/lang/Double;\n+         2: putfield      #28                 // Field temperature:Ljava/lang/Double;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n@@ -279,15 +279,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder timeout(java.time.Duration);\n     descriptor: (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #8                  // Field timeout:Ljava/time/Duration;\n+         2: putfield      #32                 // Field timeout:Ljava/time/Duration;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n@@ -296,15 +296,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder proxy(java.net.Proxy);\n     descriptor: (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #9                  // Field proxy:Ljava/net/Proxy;\n+         2: putfield      #36                 // Field proxy:Ljava/net/Proxy;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n@@ -313,15 +313,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder logRequests(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #10                 // Field logRequests:Ljava/lang/Boolean;\n+         2: putfield      #40                 // Field logRequests:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n@@ -330,15 +330,15 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder logResponses(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #11                 // Field logResponses:Ljava/lang/Boolean;\n+         2: putfield      #44                 // Field logResponses:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n@@ -347,123 +347,123 @@\n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder tokenizer(dev.langchain4j.model.Tokenizer);\n     descriptor: (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #12                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+         2: putfield      #47                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n             0       7     1 tokenizer   Ldev/langchain4j/model/Tokenizer;\n \n   public dev.langchain4j.model.openai.OpenAiStreamingLanguageModel build();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=12, locals=1, args_size=1\n-         0: new           #13                 // class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n+         0: new           #51                 // class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n          3: dup\n          4: aload_0\n-         5: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         5: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n          8: aload_0\n-         9: getfield      #5                  // Field apiKey:Ljava/lang/String;\n+         9: getfield      #22                 // Field apiKey:Ljava/lang/String;\n         12: aload_0\n-        13: getfield      #6                  // Field organizationId:Ljava/lang/String;\n+        13: getfield      #25                 // Field organizationId:Ljava/lang/String;\n         16: aload_0\n-        17: getfield      #2                  // Field modelName:Ljava/lang/String;\n+        17: getfield      #7                  // Field modelName:Ljava/lang/String;\n         20: aload_0\n-        21: getfield      #7                  // Field temperature:Ljava/lang/Double;\n+        21: getfield      #28                 // Field temperature:Ljava/lang/Double;\n         24: aload_0\n-        25: getfield      #8                  // Field timeout:Ljava/time/Duration;\n+        25: getfield      #32                 // Field timeout:Ljava/time/Duration;\n         28: aload_0\n-        29: getfield      #9                  // Field proxy:Ljava/net/Proxy;\n+        29: getfield      #36                 // Field proxy:Ljava/net/Proxy;\n         32: aload_0\n-        33: getfield      #10                 // Field logRequests:Ljava/lang/Boolean;\n+        33: getfield      #40                 // Field logRequests:Ljava/lang/Boolean;\n         36: aload_0\n-        37: getfield      #11                 // Field logResponses:Ljava/lang/Boolean;\n+        37: getfield      #44                 // Field logResponses:Ljava/lang/Boolean;\n         40: aload_0\n-        41: getfield      #12                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-        44: invokespecial #14                 // Method dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+        41: getfield      #47                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+        44: invokespecial #53                 // Method dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/time/Duration;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n         47: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      48     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: new           #15                 // class java/lang/StringBuilder\n+         0: new           #56                 // class java/lang/StringBuilder\n          3: dup\n-         4: invokespecial #16                 // Method java/lang/StringBuilder.\"<init>\":()V\n-         7: ldc           #17                 // String OpenAiStreamingLanguageModel.OpenAiStreamingLanguageModelBuilder(baseUrl=\n-         9: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+         4: invokespecial #58                 // Method java/lang/StringBuilder.\"<init>\":()V\n+         7: ldc           #59                 // String OpenAiStreamingLanguageModel.OpenAiStreamingLanguageModelBuilder(baseUrl=\n+         9: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         12: aload_0\n-        13: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n-        16: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        19: ldc           #19                 // String , apiKey=\n-        21: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        13: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n+        16: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        19: ldc           #65                 // String , apiKey=\n+        21: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         24: aload_0\n-        25: getfield      #5                  // Field apiKey:Ljava/lang/String;\n-        28: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        31: ldc           #20                 // String , organizationId=\n-        33: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        25: getfield      #22                 // Field apiKey:Ljava/lang/String;\n+        28: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        31: ldc           #67                 // String , organizationId=\n+        33: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         36: aload_0\n-        37: getfield      #6                  // Field organizationId:Ljava/lang/String;\n-        40: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        43: ldc           #21                 // String , modelName=\n-        45: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        37: getfield      #25                 // Field organizationId:Ljava/lang/String;\n+        40: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        43: ldc           #69                 // String , modelName=\n+        45: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         48: aload_0\n-        49: getfield      #2                  // Field modelName:Ljava/lang/String;\n-        52: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        55: ldc           #22                 // String , temperature=\n-        57: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        49: getfield      #7                  // Field modelName:Ljava/lang/String;\n+        52: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        55: ldc           #71                 // String , temperature=\n+        57: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         60: aload_0\n-        61: getfield      #7                  // Field temperature:Ljava/lang/Double;\n-        64: invokevirtual #23                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        67: ldc           #24                 // String , timeout=\n-        69: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        61: getfield      #28                 // Field temperature:Ljava/lang/Double;\n+        64: invokevirtual #73                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        67: ldc           #76                 // String , timeout=\n+        69: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         72: aload_0\n-        73: getfield      #8                  // Field timeout:Ljava/time/Duration;\n-        76: invokevirtual #23                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        79: ldc           #25                 // String , proxy=\n-        81: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        73: getfield      #32                 // Field timeout:Ljava/time/Duration;\n+        76: invokevirtual #73                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        79: ldc           #78                 // String , proxy=\n+        81: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         84: aload_0\n-        85: getfield      #9                  // Field proxy:Ljava/net/Proxy;\n-        88: invokevirtual #23                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        91: ldc           #26                 // String , logRequests=\n-        93: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        85: getfield      #36                 // Field proxy:Ljava/net/Proxy;\n+        88: invokevirtual #73                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        91: ldc           #80                 // String , logRequests=\n+        93: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         96: aload_0\n-        97: getfield      #10                 // Field logRequests:Ljava/lang/Boolean;\n-       100: invokevirtual #23                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       103: ldc           #27                 // String , logResponses=\n-       105: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        97: getfield      #40                 // Field logRequests:Ljava/lang/Boolean;\n+       100: invokevirtual #73                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       103: ldc           #82                 // String , logResponses=\n+       105: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        108: aload_0\n-       109: getfield      #11                 // Field logResponses:Ljava/lang/Boolean;\n-       112: invokevirtual #23                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       115: ldc           #28                 // String , tokenizer=\n-       117: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       109: getfield      #44                 // Field logResponses:Ljava/lang/Boolean;\n+       112: invokevirtual #73                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       115: ldc           #84                 // String , tokenizer=\n+       117: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        120: aload_0\n-       121: getfield      #12                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-       124: invokevirtual #23                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       127: ldc           #29                 // String )\n-       129: invokevirtual #18                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       132: invokevirtual #30                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+       121: getfield      #47                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+       124: invokevirtual #73                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       127: ldc           #86                 // String )\n+       129: invokevirtual #61                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       132: invokevirtual #88                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n        135: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0     136     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder;\n }\n SourceFile: \"OpenAiStreamingLanguageModel.java\"\n InnerClasses:\n-  public static #55= #31 of #13;          // OpenAiStreamingLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n+  public static #107= #8 of #51;          // OpenAiStreamingLanguageModelBuilder=class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel$OpenAiStreamingLanguageModelBuilder of class dev/langchain4j/model/openai/OpenAiStreamingLanguageModel\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.class", "source2": "dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,174 +1,174 @@\n-  SHA-256 checksum b96552ed2a52ce30f0231dd8106171111060c6ffaa030dd33c2e3acc6ff45584\n+  SHA-256 checksum 12df39ce8b418bf029a085b29bb3e06c59dbed18fd666fa66812247d2aa99787\n   Compiled from \"OpenAiImageModel.java\"\n public class dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #48                         // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n-  super_class: #49                        // java/lang/Object\n+  this_class: #8                          // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 16, methods: 21, attributes: 2\n Constant pool:\n-    #1 = Methodref          #49.#100      // java/lang/Object.\"<init>\":()V\n-    #2 = Fieldref           #48.#101      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.modelName:Ljava/lang/String;\n-    #3 = Methodref          #102.#103     // dev/langchain4j/model/openai/OpenAiImageModelName.toString:()Ljava/lang/String;\n-    #4 = Methodref          #104.#105     // java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;\n-    #5 = Methodref          #48.#106      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.withPersisting:(Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-    #6 = Fieldref           #48.#107      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.withPersisting:Ljava/lang/Boolean;\n-    #7 = Fieldref           #48.#108      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.baseUrl:Ljava/lang/String;\n-    #8 = Class              #109          // java/lang/NullPointerException\n-    #9 = String             #110          // apiKey is marked non-null but is null\n-   #10 = Methodref          #8.#111       // java/lang/NullPointerException.\"<init>\":(Ljava/lang/String;)V\n-   #11 = Fieldref           #48.#112      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.apiKey:Ljava/lang/String;\n-   #12 = Fieldref           #48.#113      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.organizationId:Ljava/lang/String;\n-   #13 = Fieldref           #48.#114      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.size:Ljava/lang/String;\n-   #14 = Fieldref           #48.#115      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.quality:Ljava/lang/String;\n-   #15 = Fieldref           #48.#116      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.style:Ljava/lang/String;\n-   #16 = Fieldref           #48.#117      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.user:Ljava/lang/String;\n-   #17 = Fieldref           #48.#118      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.responseFormat:Ljava/lang/String;\n-   #18 = Fieldref           #48.#119      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.timeout:Ljava/time/Duration;\n-   #19 = Fieldref           #48.#120      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.maxRetries:Ljava/lang/Integer;\n-   #20 = Fieldref           #48.#121      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.proxy:Ljava/net/Proxy;\n-   #21 = Fieldref           #48.#122      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.logRequests:Ljava/lang/Boolean;\n-   #22 = Fieldref           #48.#123      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.logResponses:Ljava/lang/Boolean;\n-   #23 = Fieldref           #48.#124      // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.persistTo:Ljava/nio/file/Path;\n-   #24 = Class              #125          // dev/langchain4j/model/openai/OpenAiImageModel\n-   #25 = Methodref          #24.#126      // dev/langchain4j/model/openai/OpenAiImageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/nio/file/Path;)V\n-   #26 = Class              #127          // java/lang/StringBuilder\n-   #27 = Methodref          #26.#100      // java/lang/StringBuilder.\"<init>\":()V\n-   #28 = String             #128          // OpenAiImageModel.OpenAiImageModelBuilder(baseUrl=\n-   #29 = Methodref          #26.#129      // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #30 = String             #130          // , apiKey=\n-   #31 = String             #131          // , organizationId=\n-   #32 = String             #132          // , modelName=\n-   #33 = String             #133          // , size=\n-   #34 = String             #134          // , quality=\n-   #35 = String             #135          // , style=\n-   #36 = String             #136          // , user=\n-   #37 = String             #137          // , responseFormat=\n-   #38 = String             #138          // , timeout=\n-   #39 = Methodref          #26.#139      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #40 = String             #140          // , maxRetries=\n-   #41 = String             #141          // , proxy=\n-   #42 = String             #142          // , logRequests=\n-   #43 = String             #143          // , logResponses=\n-   #44 = String             #144          // , withPersisting=\n-   #45 = String             #145          // , persistTo=\n-   #46 = String             #146          // )\n-   #47 = Methodref          #26.#103      // java/lang/StringBuilder.toString:()Ljava/lang/String;\n-   #48 = Class              #147          // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n-   #49 = Class              #148          // java/lang/Object\n-   #50 = Utf8               baseUrl\n-   #51 = Utf8               Ljava/lang/String;\n-   #52 = Utf8               apiKey\n-   #53 = Utf8               organizationId\n-   #54 = Utf8               modelName\n-   #55 = Utf8               size\n-   #56 = Utf8               quality\n-   #57 = Utf8               style\n-   #58 = Utf8               user\n-   #59 = Utf8               responseFormat\n-   #60 = Utf8               timeout\n-   #61 = Utf8               Ljava/time/Duration;\n-   #62 = Utf8               maxRetries\n-   #63 = Utf8               Ljava/lang/Integer;\n-   #64 = Utf8               proxy\n-   #65 = Utf8               Ljava/net/Proxy;\n-   #66 = Utf8               logRequests\n-   #67 = Utf8               Ljava/lang/Boolean;\n-   #68 = Utf8               logResponses\n-   #69 = Utf8               withPersisting\n-   #70 = Utf8               persistTo\n-   #71 = Utf8               Ljava/nio/file/Path;\n-   #72 = Utf8               <init>\n-   #73 = Utf8               ()V\n-   #74 = Utf8               Code\n-   #75 = Utf8               LineNumberTable\n-   #76 = Utf8               LocalVariableTable\n-   #77 = Utf8               this\n-   #78 = Utf8               OpenAiImageModelBuilder\n-   #79 = Utf8               InnerClasses\n-   #80 = Utf8               Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-   #81 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-   #82 = Utf8               (Ldev/langchain4j/model/openai/OpenAiImageModelName;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-   #83 = Utf8               Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-   #84 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-   #85 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-   #86 = Utf8               StackMapTable\n-   #87 = Utf8               RuntimeInvisibleTypeAnnotations\n-   #88 = Utf8               Llombok/NonNull;\n-   #89 = Utf8               RuntimeInvisibleParameterAnnotations\n-   #90 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-   #91 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-   #92 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-   #93 = Utf8               (Ljava/nio/file/Path;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-   #94 = Utf8               build\n-   #95 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiImageModel;\n-   #96 = Utf8               toString\n-   #97 = Utf8               ()Ljava/lang/String;\n-   #98 = Utf8               SourceFile\n-   #99 = Utf8               OpenAiImageModel.java\n-  #100 = NameAndType        #72:#73       // \"<init>\":()V\n-  #101 = NameAndType        #54:#51       // modelName:Ljava/lang/String;\n-  #102 = Class              #149          // dev/langchain4j/model/openai/OpenAiImageModelName\n-  #103 = NameAndType        #96:#97       // toString:()Ljava/lang/String;\n-  #104 = Class              #150          // java/lang/Boolean\n-  #105 = NameAndType        #151:#152     // valueOf:(Z)Ljava/lang/Boolean;\n-  #106 = NameAndType        #69:#85       // withPersisting:(Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n-  #107 = NameAndType        #69:#67       // withPersisting:Ljava/lang/Boolean;\n-  #108 = NameAndType        #50:#51       // baseUrl:Ljava/lang/String;\n-  #109 = Utf8               java/lang/NullPointerException\n-  #110 = Utf8               apiKey is marked non-null but is null\n-  #111 = NameAndType        #72:#153      // \"<init>\":(Ljava/lang/String;)V\n-  #112 = NameAndType        #52:#51       // apiKey:Ljava/lang/String;\n-  #113 = NameAndType        #53:#51       // organizationId:Ljava/lang/String;\n-  #114 = NameAndType        #55:#51       // size:Ljava/lang/String;\n-  #115 = NameAndType        #56:#51       // quality:Ljava/lang/String;\n-  #116 = NameAndType        #57:#51       // style:Ljava/lang/String;\n-  #117 = NameAndType        #58:#51       // user:Ljava/lang/String;\n-  #118 = NameAndType        #59:#51       // responseFormat:Ljava/lang/String;\n-  #119 = NameAndType        #60:#61       // timeout:Ljava/time/Duration;\n-  #120 = NameAndType        #62:#63       // maxRetries:Ljava/lang/Integer;\n-  #121 = NameAndType        #64:#65       // proxy:Ljava/net/Proxy;\n-  #122 = NameAndType        #66:#67       // logRequests:Ljava/lang/Boolean;\n-  #123 = NameAndType        #68:#67       // logResponses:Ljava/lang/Boolean;\n-  #124 = NameAndType        #70:#71       // persistTo:Ljava/nio/file/Path;\n-  #125 = Utf8               dev/langchain4j/model/openai/OpenAiImageModel\n-  #126 = NameAndType        #72:#154      // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/nio/file/Path;)V\n-  #127 = Utf8               java/lang/StringBuilder\n-  #128 = Utf8               OpenAiImageModel.OpenAiImageModelBuilder(baseUrl=\n-  #129 = NameAndType        #155:#156     // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #130 = Utf8               , apiKey=\n-  #131 = Utf8               , organizationId=\n-  #132 = Utf8               , modelName=\n-  #133 = Utf8               , size=\n-  #134 = Utf8               , quality=\n-  #135 = Utf8               , style=\n-  #136 = Utf8               , user=\n-  #137 = Utf8               , responseFormat=\n-  #138 = Utf8               , timeout=\n-  #139 = NameAndType        #155:#157     // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-  #140 = Utf8               , maxRetries=\n-  #141 = Utf8               , proxy=\n-  #142 = Utf8               , logRequests=\n-  #143 = Utf8               , logResponses=\n-  #144 = Utf8               , withPersisting=\n-  #145 = Utf8               , persistTo=\n-  #146 = Utf8               )\n-  #147 = Utf8               dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n-  #148 = Utf8               java/lang/Object\n-  #149 = Utf8               dev/langchain4j/model/openai/OpenAiImageModelName\n-  #150 = Utf8               java/lang/Boolean\n-  #151 = Utf8               valueOf\n-  #152 = Utf8               (Z)Ljava/lang/Boolean;\n-  #153 = Utf8               (Ljava/lang/String;)V\n-  #154 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/nio/file/Path;)V\n-  #155 = Utf8               append\n-  #156 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #157 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = Fieldref           #8.#9         // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.modelName:Ljava/lang/String;\n+    #8 = Class              #10           // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n+    #9 = NameAndType        #11:#12       // modelName:Ljava/lang/String;\n+   #10 = Utf8               dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder\n+   #11 = Utf8               modelName\n+   #12 = Utf8               Ljava/lang/String;\n+   #13 = Methodref          #14.#15       // dev/langchain4j/model/openai/OpenAiImageModelName.toString:()Ljava/lang/String;\n+   #14 = Class              #16           // dev/langchain4j/model/openai/OpenAiImageModelName\n+   #15 = NameAndType        #17:#18       // toString:()Ljava/lang/String;\n+   #16 = Utf8               dev/langchain4j/model/openai/OpenAiImageModelName\n+   #17 = Utf8               toString\n+   #18 = Utf8               ()Ljava/lang/String;\n+   #19 = Methodref          #20.#21       // java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;\n+   #20 = Class              #22           // java/lang/Boolean\n+   #21 = NameAndType        #23:#24       // valueOf:(Z)Ljava/lang/Boolean;\n+   #22 = Utf8               java/lang/Boolean\n+   #23 = Utf8               valueOf\n+   #24 = Utf8               (Z)Ljava/lang/Boolean;\n+   #25 = Methodref          #8.#26        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.withPersisting:(Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+   #26 = NameAndType        #27:#28       // withPersisting:(Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+   #27 = Utf8               withPersisting\n+   #28 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+   #29 = Fieldref           #8.#30        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.withPersisting:Ljava/lang/Boolean;\n+   #30 = NameAndType        #27:#31       // withPersisting:Ljava/lang/Boolean;\n+   #31 = Utf8               Ljava/lang/Boolean;\n+   #32 = Fieldref           #8.#33        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.baseUrl:Ljava/lang/String;\n+   #33 = NameAndType        #34:#12       // baseUrl:Ljava/lang/String;\n+   #34 = Utf8               baseUrl\n+   #35 = Class              #36           // java/lang/NullPointerException\n+   #36 = Utf8               java/lang/NullPointerException\n+   #37 = String             #38           // apiKey is marked non-null but is null\n+   #38 = Utf8               apiKey is marked non-null but is null\n+   #39 = Methodref          #35.#40       // java/lang/NullPointerException.\"<init>\":(Ljava/lang/String;)V\n+   #40 = NameAndType        #5:#41        // \"<init>\":(Ljava/lang/String;)V\n+   #41 = Utf8               (Ljava/lang/String;)V\n+   #42 = Fieldref           #8.#43        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.apiKey:Ljava/lang/String;\n+   #43 = NameAndType        #44:#12       // apiKey:Ljava/lang/String;\n+   #44 = Utf8               apiKey\n+   #45 = Fieldref           #8.#46        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.organizationId:Ljava/lang/String;\n+   #46 = NameAndType        #47:#12       // organizationId:Ljava/lang/String;\n+   #47 = Utf8               organizationId\n+   #48 = Fieldref           #8.#49        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.size:Ljava/lang/String;\n+   #49 = NameAndType        #50:#12       // size:Ljava/lang/String;\n+   #50 = Utf8               size\n+   #51 = Fieldref           #8.#52        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.quality:Ljava/lang/String;\n+   #52 = NameAndType        #53:#12       // quality:Ljava/lang/String;\n+   #53 = Utf8               quality\n+   #54 = Fieldref           #8.#55        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.style:Ljava/lang/String;\n+   #55 = NameAndType        #56:#12       // style:Ljava/lang/String;\n+   #56 = Utf8               style\n+   #57 = Fieldref           #8.#58        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.user:Ljava/lang/String;\n+   #58 = NameAndType        #59:#12       // user:Ljava/lang/String;\n+   #59 = Utf8               user\n+   #60 = Fieldref           #8.#61        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.responseFormat:Ljava/lang/String;\n+   #61 = NameAndType        #62:#12       // responseFormat:Ljava/lang/String;\n+   #62 = Utf8               responseFormat\n+   #63 = Fieldref           #8.#64        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.timeout:Ljava/time/Duration;\n+   #64 = NameAndType        #65:#66       // timeout:Ljava/time/Duration;\n+   #65 = Utf8               timeout\n+   #66 = Utf8               Ljava/time/Duration;\n+   #67 = Fieldref           #8.#68        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.maxRetries:Ljava/lang/Integer;\n+   #68 = NameAndType        #69:#70       // maxRetries:Ljava/lang/Integer;\n+   #69 = Utf8               maxRetries\n+   #70 = Utf8               Ljava/lang/Integer;\n+   #71 = Fieldref           #8.#72        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.proxy:Ljava/net/Proxy;\n+   #72 = NameAndType        #73:#74       // proxy:Ljava/net/Proxy;\n+   #73 = Utf8               proxy\n+   #74 = Utf8               Ljava/net/Proxy;\n+   #75 = Fieldref           #8.#76        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.logRequests:Ljava/lang/Boolean;\n+   #76 = NameAndType        #77:#31       // logRequests:Ljava/lang/Boolean;\n+   #77 = Utf8               logRequests\n+   #78 = Fieldref           #8.#79        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.logResponses:Ljava/lang/Boolean;\n+   #79 = NameAndType        #80:#31       // logResponses:Ljava/lang/Boolean;\n+   #80 = Utf8               logResponses\n+   #81 = Fieldref           #8.#82        // dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder.persistTo:Ljava/nio/file/Path;\n+   #82 = NameAndType        #83:#84       // persistTo:Ljava/nio/file/Path;\n+   #83 = Utf8               persistTo\n+   #84 = Utf8               Ljava/nio/file/Path;\n+   #85 = Class              #86           // dev/langchain4j/model/openai/OpenAiImageModel\n+   #86 = Utf8               dev/langchain4j/model/openai/OpenAiImageModel\n+   #87 = Methodref          #85.#88       // dev/langchain4j/model/openai/OpenAiImageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/nio/file/Path;)V\n+   #88 = NameAndType        #5:#89        // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/nio/file/Path;)V\n+   #89 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/nio/file/Path;)V\n+   #90 = Class              #91           // java/lang/StringBuilder\n+   #91 = Utf8               java/lang/StringBuilder\n+   #92 = Methodref          #90.#3        // java/lang/StringBuilder.\"<init>\":()V\n+   #93 = String             #94           // OpenAiImageModel.OpenAiImageModelBuilder(baseUrl=\n+   #94 = Utf8               OpenAiImageModel.OpenAiImageModelBuilder(baseUrl=\n+   #95 = Methodref          #90.#96       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #96 = NameAndType        #97:#98       // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #97 = Utf8               append\n+   #98 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #99 = String             #100          // , apiKey=\n+  #100 = Utf8               , apiKey=\n+  #101 = String             #102          // , organizationId=\n+  #102 = Utf8               , organizationId=\n+  #103 = String             #104          // , modelName=\n+  #104 = Utf8               , modelName=\n+  #105 = String             #106          // , size=\n+  #106 = Utf8               , size=\n+  #107 = String             #108          // , quality=\n+  #108 = Utf8               , quality=\n+  #109 = String             #110          // , style=\n+  #110 = Utf8               , style=\n+  #111 = String             #112          // , user=\n+  #112 = Utf8               , user=\n+  #113 = String             #114          // , responseFormat=\n+  #114 = Utf8               , responseFormat=\n+  #115 = String             #116          // , timeout=\n+  #116 = Utf8               , timeout=\n+  #117 = Methodref          #90.#118      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #118 = NameAndType        #97:#119      // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #119 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #120 = String             #121          // , maxRetries=\n+  #121 = Utf8               , maxRetries=\n+  #122 = String             #123          // , proxy=\n+  #123 = Utf8               , proxy=\n+  #124 = String             #125          // , logRequests=\n+  #125 = Utf8               , logRequests=\n+  #126 = String             #127          // , logResponses=\n+  #127 = Utf8               , logResponses=\n+  #128 = String             #129          // , withPersisting=\n+  #129 = Utf8               , withPersisting=\n+  #130 = String             #131          // , persistTo=\n+  #131 = Utf8               , persistTo=\n+  #132 = String             #133          // )\n+  #133 = Utf8               )\n+  #134 = Methodref          #90.#15       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n+  #135 = Utf8               Code\n+  #136 = Utf8               LineNumberTable\n+  #137 = Utf8               LocalVariableTable\n+  #138 = Utf8               this\n+  #139 = Utf8               Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+  #140 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+  #141 = Utf8               (Ldev/langchain4j/model/openai/OpenAiImageModelName;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+  #142 = Utf8               Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+  #143 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+  #144 = Utf8               StackMapTable\n+  #145 = Utf8               RuntimeInvisibleTypeAnnotations\n+  #146 = Utf8               Llombok/NonNull;\n+  #147 = Utf8               RuntimeInvisibleParameterAnnotations\n+  #148 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+  #149 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+  #150 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+  #151 = Utf8               (Ljava/nio/file/Path;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+  #152 = Utf8               build\n+  #153 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiImageModel;\n+  #154 = Utf8               SourceFile\n+  #155 = Utf8               OpenAiImageModel.java\n+  #156 = Utf8               InnerClasses\n+  #157 = Utf8               OpenAiImageModelBuilder\n {\n   private java.lang.String baseUrl;\n     descriptor: Ljava/lang/String;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.String apiKey;\n     descriptor: Ljava/lang/String;\n@@ -248,15 +248,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder modelName(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: putfield      #7                  // Field modelName:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 139: 0\n         line 140: 5\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -266,16 +266,16 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder modelName(dev.langchain4j.model.openai.OpenAiImageModelName);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiImageModelName;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokevirtual #3                  // Method dev/langchain4j/model/openai/OpenAiImageModelName.toString:()Ljava/lang/String;\n-         5: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: invokevirtual #13                 // Method dev/langchain4j/model/openai/OpenAiImageModelName.toString:()Ljava/lang/String;\n+         5: putfield      #7                  // Field modelName:Ljava/lang/String;\n          8: aload_0\n          9: areturn\n       LineNumberTable:\n         line 144: 0\n         line 145: 8\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -285,31 +285,31 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder withPersisting();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n          1: iconst_1\n-         2: invokestatic  #4                  // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;\n-         5: invokevirtual #5                  // Method withPersisting:(Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n+         2: invokestatic  #19                 // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;\n+         5: invokevirtual #25                 // Method withPersisting:(Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n          8: areturn\n       LineNumberTable:\n         line 149: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       9     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n \n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder withPersisting(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #6                  // Field withPersisting:Ljava/lang/Boolean;\n+         2: putfield      #29                 // Field withPersisting:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 153: 0\n         line 154: 5\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -319,15 +319,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder baseUrl(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #7                  // Field baseUrl:Ljava/lang/String;\n+         2: putfield      #32                 // Field baseUrl:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -336,48 +336,48 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder apiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=2, args_size=2\n          0: aload_1\n          1: ifnonnull     14\n-         4: new           #8                  // class java/lang/NullPointerException\n+         4: new           #35                 // class java/lang/NullPointerException\n          7: dup\n-         8: ldc           #9                  // String apiKey is marked non-null but is null\n-        10: invokespecial #10                 // Method java/lang/NullPointerException.\"<init>\":(Ljava/lang/String;)V\n+         8: ldc           #37                 // String apiKey is marked non-null but is null\n+        10: invokespecial #39                 // Method java/lang/NullPointerException.\"<init>\":(Ljava/lang/String;)V\n         13: athrow\n         14: aload_0\n         15: aload_1\n-        16: putfield      #11                 // Field apiKey:Ljava/lang/String;\n+        16: putfield      #42                 // Field apiKey:Ljava/lang/String;\n         19: aload_0\n         20: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      21     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n             0      21     1 apiKey   Ljava/lang/String;\n       StackMapTable: number_of_entries = 1\n         frame_type = 14 /* same */\n     RuntimeInvisibleTypeAnnotations:\n-      0: #88(): METHOD_FORMAL_PARAMETER, param_index=0\n+      0: #146(): METHOD_FORMAL_PARAMETER, param_index=0\n         lombok.NonNull\n     RuntimeInvisibleParameterAnnotations:\n       parameter 0:\n-        0: #88()\n+        0: #146()\n           lombok.NonNull\n \n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder organizationId(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #12                 // Field organizationId:Ljava/lang/String;\n+         2: putfield      #45                 // Field organizationId:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -386,15 +386,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder size(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #13                 // Field size:Ljava/lang/String;\n+         2: putfield      #48                 // Field size:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -403,15 +403,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder quality(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #14                 // Field quality:Ljava/lang/String;\n+         2: putfield      #51                 // Field quality:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -420,15 +420,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder style(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #15                 // Field style:Ljava/lang/String;\n+         2: putfield      #54                 // Field style:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -437,15 +437,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder user(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #16                 // Field user:Ljava/lang/String;\n+         2: putfield      #57                 // Field user:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -454,15 +454,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder responseFormat(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #17                 // Field responseFormat:Ljava/lang/String;\n+         2: putfield      #60                 // Field responseFormat:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -471,15 +471,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder timeout(java.time.Duration);\n     descriptor: (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #18                 // Field timeout:Ljava/time/Duration;\n+         2: putfield      #63                 // Field timeout:Ljava/time/Duration;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -488,15 +488,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder maxRetries(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #19                 // Field maxRetries:Ljava/lang/Integer;\n+         2: putfield      #67                 // Field maxRetries:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -505,15 +505,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder proxy(java.net.Proxy);\n     descriptor: (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #20                 // Field proxy:Ljava/net/Proxy;\n+         2: putfield      #71                 // Field proxy:Ljava/net/Proxy;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -522,15 +522,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder logRequests(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #21                 // Field logRequests:Ljava/lang/Boolean;\n+         2: putfield      #75                 // Field logRequests:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -539,15 +539,15 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder logResponses(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #22                 // Field logResponses:Ljava/lang/Boolean;\n+         2: putfield      #78                 // Field logResponses:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n@@ -556,165 +556,165 @@\n   public dev.langchain4j.model.openai.OpenAiImageModel$OpenAiImageModelBuilder persistTo(java.nio.file.Path);\n     descriptor: (Ljava/nio/file/Path;)Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #23                 // Field persistTo:Ljava/nio/file/Path;\n+         2: putfield      #81                 // Field persistTo:Ljava/nio/file/Path;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n             0       7     1 persistTo   Ljava/nio/file/Path;\n \n   public dev.langchain4j.model.openai.OpenAiImageModel build();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiImageModel;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=18, locals=1, args_size=1\n-         0: new           #24                 // class dev/langchain4j/model/openai/OpenAiImageModel\n+         0: new           #85                 // class dev/langchain4j/model/openai/OpenAiImageModel\n          3: dup\n          4: aload_0\n-         5: getfield      #7                  // Field baseUrl:Ljava/lang/String;\n+         5: getfield      #32                 // Field baseUrl:Ljava/lang/String;\n          8: aload_0\n-         9: getfield      #11                 // Field apiKey:Ljava/lang/String;\n+         9: getfield      #42                 // Field apiKey:Ljava/lang/String;\n         12: aload_0\n-        13: getfield      #12                 // Field organizationId:Ljava/lang/String;\n+        13: getfield      #45                 // Field organizationId:Ljava/lang/String;\n         16: aload_0\n-        17: getfield      #2                  // Field modelName:Ljava/lang/String;\n+        17: getfield      #7                  // Field modelName:Ljava/lang/String;\n         20: aload_0\n-        21: getfield      #13                 // Field size:Ljava/lang/String;\n+        21: getfield      #48                 // Field size:Ljava/lang/String;\n         24: aload_0\n-        25: getfield      #14                 // Field quality:Ljava/lang/String;\n+        25: getfield      #51                 // Field quality:Ljava/lang/String;\n         28: aload_0\n-        29: getfield      #15                 // Field style:Ljava/lang/String;\n+        29: getfield      #54                 // Field style:Ljava/lang/String;\n         32: aload_0\n-        33: getfield      #16                 // Field user:Ljava/lang/String;\n+        33: getfield      #57                 // Field user:Ljava/lang/String;\n         36: aload_0\n-        37: getfield      #17                 // Field responseFormat:Ljava/lang/String;\n+        37: getfield      #60                 // Field responseFormat:Ljava/lang/String;\n         40: aload_0\n-        41: getfield      #18                 // Field timeout:Ljava/time/Duration;\n+        41: getfield      #63                 // Field timeout:Ljava/time/Duration;\n         44: aload_0\n-        45: getfield      #19                 // Field maxRetries:Ljava/lang/Integer;\n+        45: getfield      #67                 // Field maxRetries:Ljava/lang/Integer;\n         48: aload_0\n-        49: getfield      #20                 // Field proxy:Ljava/net/Proxy;\n+        49: getfield      #71                 // Field proxy:Ljava/net/Proxy;\n         52: aload_0\n-        53: getfield      #21                 // Field logRequests:Ljava/lang/Boolean;\n+        53: getfield      #75                 // Field logRequests:Ljava/lang/Boolean;\n         56: aload_0\n-        57: getfield      #22                 // Field logResponses:Ljava/lang/Boolean;\n+        57: getfield      #78                 // Field logResponses:Ljava/lang/Boolean;\n         60: aload_0\n-        61: getfield      #6                  // Field withPersisting:Ljava/lang/Boolean;\n+        61: getfield      #29                 // Field withPersisting:Ljava/lang/Boolean;\n         64: aload_0\n-        65: getfield      #23                 // Field persistTo:Ljava/nio/file/Path;\n-        68: invokespecial #25                 // Method dev/langchain4j/model/openai/OpenAiImageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/nio/file/Path;)V\n+        65: getfield      #81                 // Field persistTo:Ljava/nio/file/Path;\n+        68: invokespecial #87                 // Method dev/langchain4j/model/openai/OpenAiImageModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/nio/file/Path;)V\n         71: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      72     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: new           #26                 // class java/lang/StringBuilder\n+         0: new           #90                 // class java/lang/StringBuilder\n          3: dup\n-         4: invokespecial #27                 // Method java/lang/StringBuilder.\"<init>\":()V\n-         7: ldc           #28                 // String OpenAiImageModel.OpenAiImageModelBuilder(baseUrl=\n-         9: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+         4: invokespecial #92                 // Method java/lang/StringBuilder.\"<init>\":()V\n+         7: ldc           #93                 // String OpenAiImageModel.OpenAiImageModelBuilder(baseUrl=\n+         9: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         12: aload_0\n-        13: getfield      #7                  // Field baseUrl:Ljava/lang/String;\n-        16: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        19: ldc           #30                 // String , apiKey=\n-        21: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        13: getfield      #32                 // Field baseUrl:Ljava/lang/String;\n+        16: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        19: ldc           #99                 // String , apiKey=\n+        21: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         24: aload_0\n-        25: getfield      #11                 // Field apiKey:Ljava/lang/String;\n-        28: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        31: ldc           #31                 // String , organizationId=\n-        33: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        25: getfield      #42                 // Field apiKey:Ljava/lang/String;\n+        28: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        31: ldc           #101                // String , organizationId=\n+        33: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         36: aload_0\n-        37: getfield      #12                 // Field organizationId:Ljava/lang/String;\n-        40: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        43: ldc           #32                 // String , modelName=\n-        45: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        37: getfield      #45                 // Field organizationId:Ljava/lang/String;\n+        40: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        43: ldc           #103                // String , modelName=\n+        45: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         48: aload_0\n-        49: getfield      #2                  // Field modelName:Ljava/lang/String;\n-        52: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        55: ldc           #33                 // String , size=\n-        57: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        49: getfield      #7                  // Field modelName:Ljava/lang/String;\n+        52: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        55: ldc           #105                // String , size=\n+        57: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         60: aload_0\n-        61: getfield      #13                 // Field size:Ljava/lang/String;\n-        64: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        67: ldc           #34                 // String , quality=\n-        69: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        61: getfield      #48                 // Field size:Ljava/lang/String;\n+        64: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        67: ldc           #107                // String , quality=\n+        69: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         72: aload_0\n-        73: getfield      #14                 // Field quality:Ljava/lang/String;\n-        76: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        79: ldc           #35                 // String , style=\n-        81: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        73: getfield      #51                 // Field quality:Ljava/lang/String;\n+        76: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        79: ldc           #109                // String , style=\n+        81: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         84: aload_0\n-        85: getfield      #15                 // Field style:Ljava/lang/String;\n-        88: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        91: ldc           #36                 // String , user=\n-        93: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        85: getfield      #54                 // Field style:Ljava/lang/String;\n+        88: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        91: ldc           #111                // String , user=\n+        93: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         96: aload_0\n-        97: getfield      #16                 // Field user:Ljava/lang/String;\n-       100: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       103: ldc           #37                 // String , responseFormat=\n-       105: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        97: getfield      #57                 // Field user:Ljava/lang/String;\n+       100: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       103: ldc           #113                // String , responseFormat=\n+       105: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        108: aload_0\n-       109: getfield      #17                 // Field responseFormat:Ljava/lang/String;\n-       112: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       115: ldc           #38                 // String , timeout=\n-       117: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       109: getfield      #60                 // Field responseFormat:Ljava/lang/String;\n+       112: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       115: ldc           #115                // String , timeout=\n+       117: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        120: aload_0\n-       121: getfield      #18                 // Field timeout:Ljava/time/Duration;\n-       124: invokevirtual #39                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       127: ldc           #40                 // String , maxRetries=\n-       129: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       121: getfield      #63                 // Field timeout:Ljava/time/Duration;\n+       124: invokevirtual #117                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       127: ldc           #120                // String , maxRetries=\n+       129: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        132: aload_0\n-       133: getfield      #19                 // Field maxRetries:Ljava/lang/Integer;\n-       136: invokevirtual #39                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       139: ldc           #41                 // String , proxy=\n-       141: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       133: getfield      #67                 // Field maxRetries:Ljava/lang/Integer;\n+       136: invokevirtual #117                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       139: ldc           #122                // String , proxy=\n+       141: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        144: aload_0\n-       145: getfield      #20                 // Field proxy:Ljava/net/Proxy;\n-       148: invokevirtual #39                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       151: ldc           #42                 // String , logRequests=\n-       153: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       145: getfield      #71                 // Field proxy:Ljava/net/Proxy;\n+       148: invokevirtual #117                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       151: ldc           #124                // String , logRequests=\n+       153: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        156: aload_0\n-       157: getfield      #21                 // Field logRequests:Ljava/lang/Boolean;\n-       160: invokevirtual #39                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       163: ldc           #43                 // String , logResponses=\n-       165: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       157: getfield      #75                 // Field logRequests:Ljava/lang/Boolean;\n+       160: invokevirtual #117                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       163: ldc           #126                // String , logResponses=\n+       165: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        168: aload_0\n-       169: getfield      #22                 // Field logResponses:Ljava/lang/Boolean;\n-       172: invokevirtual #39                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       175: ldc           #44                 // String , withPersisting=\n-       177: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       169: getfield      #78                 // Field logResponses:Ljava/lang/Boolean;\n+       172: invokevirtual #117                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       175: ldc           #128                // String , withPersisting=\n+       177: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        180: aload_0\n-       181: getfield      #6                  // Field withPersisting:Ljava/lang/Boolean;\n-       184: invokevirtual #39                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       187: ldc           #45                 // String , persistTo=\n-       189: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       181: getfield      #29                 // Field withPersisting:Ljava/lang/Boolean;\n+       184: invokevirtual #117                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       187: ldc           #130                // String , persistTo=\n+       189: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        192: aload_0\n-       193: getfield      #23                 // Field persistTo:Ljava/nio/file/Path;\n-       196: invokevirtual #39                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       199: ldc           #46                 // String )\n-       201: invokevirtual #29                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       204: invokevirtual #47                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+       193: getfield      #81                 // Field persistTo:Ljava/nio/file/Path;\n+       196: invokevirtual #117                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       199: ldc           #132                // String )\n+       201: invokevirtual #95                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       204: invokevirtual #134                // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n        207: areturn\n       LineNumberTable:\n         line 54: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0     208     0  this   Ldev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder;\n }\n SourceFile: \"OpenAiImageModel.java\"\n InnerClasses:\n-  public static #78= #48 of #24;          // OpenAiImageModelBuilder=class dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder of class dev/langchain4j/model/openai/OpenAiImageModel\n+  public static #157= #8 of #85;          // OpenAiImageModelBuilder=class dev/langchain4j/model/openai/OpenAiImageModel$OpenAiImageModelBuilder of class dev/langchain4j/model/openai/OpenAiImageModel\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.class", "source2": "dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,117 +1,117 @@\n-  SHA-256 checksum 77f0d4276a1d052cc229fbabf4693656e5e06630eb1c20bb64dfd2dd69a232a4\n+  SHA-256 checksum 296534a7bda18de6359cf0b2b1faec41747e53693b6a1e38823928edb490f2e9\n   Compiled from \"OpenAiModerationModel.java\"\n public class dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #29                         // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n-  super_class: #30                        // java/lang/Object\n+  this_class: #8                          // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 9, methods: 13, attributes: 2\n Constant pool:\n-    #1 = Methodref          #30.#67       // java/lang/Object.\"<init>\":()V\n-    #2 = Fieldref           #29.#68       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.modelName:Ljava/lang/String;\n-    #3 = Methodref          #69.#70       // dev/langchain4j/model/openai/OpenAiModerationModelName.toString:()Ljava/lang/String;\n-    #4 = Fieldref           #29.#71       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.baseUrl:Ljava/lang/String;\n-    #5 = Fieldref           #29.#72       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.apiKey:Ljava/lang/String;\n-    #6 = Fieldref           #29.#73       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.organizationId:Ljava/lang/String;\n-    #7 = Fieldref           #29.#74       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.timeout:Ljava/time/Duration;\n-    #8 = Fieldref           #29.#75       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.maxRetries:Ljava/lang/Integer;\n-    #9 = Fieldref           #29.#76       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.proxy:Ljava/net/Proxy;\n-   #10 = Fieldref           #29.#77       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.logRequests:Ljava/lang/Boolean;\n-   #11 = Fieldref           #29.#78       // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.logResponses:Ljava/lang/Boolean;\n-   #12 = Class              #79           // dev/langchain4j/model/openai/OpenAiModerationModel\n-   #13 = Methodref          #12.#80       // dev/langchain4j/model/openai/OpenAiModerationModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n-   #14 = Class              #81           // java/lang/StringBuilder\n-   #15 = Methodref          #14.#67       // java/lang/StringBuilder.\"<init>\":()V\n-   #16 = String             #82           // OpenAiModerationModel.OpenAiModerationModelBuilder(baseUrl=\n-   #17 = Methodref          #14.#83       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #18 = String             #84           // , apiKey=\n-   #19 = String             #85           // , organizationId=\n-   #20 = String             #86           // , modelName=\n-   #21 = String             #87           // , timeout=\n-   #22 = Methodref          #14.#88       // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #23 = String             #89           // , maxRetries=\n-   #24 = String             #90           // , proxy=\n-   #25 = String             #91           // , logRequests=\n-   #26 = String             #92           // , logResponses=\n-   #27 = String             #93           // )\n-   #28 = Methodref          #14.#70       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n-   #29 = Class              #94           // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n-   #30 = Class              #95           // java/lang/Object\n-   #31 = Utf8               baseUrl\n-   #32 = Utf8               Ljava/lang/String;\n-   #33 = Utf8               apiKey\n-   #34 = Utf8               organizationId\n-   #35 = Utf8               modelName\n-   #36 = Utf8               timeout\n-   #37 = Utf8               Ljava/time/Duration;\n-   #38 = Utf8               maxRetries\n-   #39 = Utf8               Ljava/lang/Integer;\n-   #40 = Utf8               proxy\n-   #41 = Utf8               Ljava/net/Proxy;\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = Fieldref           #8.#9         // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.modelName:Ljava/lang/String;\n+    #8 = Class              #10           // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n+    #9 = NameAndType        #11:#12       // modelName:Ljava/lang/String;\n+   #10 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n+   #11 = Utf8               modelName\n+   #12 = Utf8               Ljava/lang/String;\n+   #13 = Methodref          #14.#15       // dev/langchain4j/model/openai/OpenAiModerationModelName.toString:()Ljava/lang/String;\n+   #14 = Class              #16           // dev/langchain4j/model/openai/OpenAiModerationModelName\n+   #15 = NameAndType        #17:#18       // toString:()Ljava/lang/String;\n+   #16 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModelName\n+   #17 = Utf8               toString\n+   #18 = Utf8               ()Ljava/lang/String;\n+   #19 = Fieldref           #8.#20        // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.baseUrl:Ljava/lang/String;\n+   #20 = NameAndType        #21:#12       // baseUrl:Ljava/lang/String;\n+   #21 = Utf8               baseUrl\n+   #22 = Fieldref           #8.#23        // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.apiKey:Ljava/lang/String;\n+   #23 = NameAndType        #24:#12       // apiKey:Ljava/lang/String;\n+   #24 = Utf8               apiKey\n+   #25 = Fieldref           #8.#26        // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.organizationId:Ljava/lang/String;\n+   #26 = NameAndType        #27:#12       // organizationId:Ljava/lang/String;\n+   #27 = Utf8               organizationId\n+   #28 = Fieldref           #8.#29        // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.timeout:Ljava/time/Duration;\n+   #29 = NameAndType        #30:#31       // timeout:Ljava/time/Duration;\n+   #30 = Utf8               timeout\n+   #31 = Utf8               Ljava/time/Duration;\n+   #32 = Fieldref           #8.#33        // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.maxRetries:Ljava/lang/Integer;\n+   #33 = NameAndType        #34:#35       // maxRetries:Ljava/lang/Integer;\n+   #34 = Utf8               maxRetries\n+   #35 = Utf8               Ljava/lang/Integer;\n+   #36 = Fieldref           #8.#37        // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.proxy:Ljava/net/Proxy;\n+   #37 = NameAndType        #38:#39       // proxy:Ljava/net/Proxy;\n+   #38 = Utf8               proxy\n+   #39 = Utf8               Ljava/net/Proxy;\n+   #40 = Fieldref           #8.#41        // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.logRequests:Ljava/lang/Boolean;\n+   #41 = NameAndType        #42:#43       // logRequests:Ljava/lang/Boolean;\n    #42 = Utf8               logRequests\n    #43 = Utf8               Ljava/lang/Boolean;\n-   #44 = Utf8               logResponses\n-   #45 = Utf8               <init>\n-   #46 = Utf8               ()V\n-   #47 = Utf8               Code\n-   #48 = Utf8               LineNumberTable\n-   #49 = Utf8               LocalVariableTable\n-   #50 = Utf8               this\n-   #51 = Utf8               OpenAiModerationModelBuilder\n-   #52 = Utf8               InnerClasses\n-   #53 = Utf8               Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-   #54 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-   #55 = Utf8               (Ldev/langchain4j/model/openai/OpenAiModerationModelName;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-   #56 = Utf8               Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-   #57 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-   #58 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-   #59 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-   #60 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n-   #61 = Utf8               build\n-   #62 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n-   #63 = Utf8               toString\n-   #64 = Utf8               ()Ljava/lang/String;\n-   #65 = Utf8               SourceFile\n-   #66 = Utf8               OpenAiModerationModel.java\n-   #67 = NameAndType        #45:#46       // \"<init>\":()V\n-   #68 = NameAndType        #35:#32       // modelName:Ljava/lang/String;\n-   #69 = Class              #96           // dev/langchain4j/model/openai/OpenAiModerationModelName\n-   #70 = NameAndType        #63:#64       // toString:()Ljava/lang/String;\n-   #71 = NameAndType        #31:#32       // baseUrl:Ljava/lang/String;\n-   #72 = NameAndType        #33:#32       // apiKey:Ljava/lang/String;\n-   #73 = NameAndType        #34:#32       // organizationId:Ljava/lang/String;\n-   #74 = NameAndType        #36:#37       // timeout:Ljava/time/Duration;\n-   #75 = NameAndType        #38:#39       // maxRetries:Ljava/lang/Integer;\n-   #76 = NameAndType        #40:#41       // proxy:Ljava/net/Proxy;\n-   #77 = NameAndType        #42:#43       // logRequests:Ljava/lang/Boolean;\n-   #78 = NameAndType        #44:#43       // logResponses:Ljava/lang/Boolean;\n-   #79 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel\n-   #80 = NameAndType        #45:#97       // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n-   #81 = Utf8               java/lang/StringBuilder\n-   #82 = Utf8               OpenAiModerationModel.OpenAiModerationModelBuilder(baseUrl=\n-   #83 = NameAndType        #98:#99       // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #84 = Utf8               , apiKey=\n-   #85 = Utf8               , organizationId=\n-   #86 = Utf8               , modelName=\n-   #87 = Utf8               , timeout=\n-   #88 = NameAndType        #98:#100      // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #89 = Utf8               , maxRetries=\n-   #90 = Utf8               , proxy=\n-   #91 = Utf8               , logRequests=\n-   #92 = Utf8               , logResponses=\n-   #93 = Utf8               )\n-   #94 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder\n-   #95 = Utf8               java/lang/Object\n-   #96 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModelName\n-   #97 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n-   #98 = Utf8               append\n-   #99 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #100 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #44 = Fieldref           #8.#45        // dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder.logResponses:Ljava/lang/Boolean;\n+   #45 = NameAndType        #46:#43       // logResponses:Ljava/lang/Boolean;\n+   #46 = Utf8               logResponses\n+   #47 = Class              #48           // dev/langchain4j/model/openai/OpenAiModerationModel\n+   #48 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModel\n+   #49 = Methodref          #47.#50       // dev/langchain4j/model/openai/OpenAiModerationModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n+   #50 = NameAndType        #5:#51        // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n+   #51 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n+   #52 = Class              #53           // java/lang/StringBuilder\n+   #53 = Utf8               java/lang/StringBuilder\n+   #54 = Methodref          #52.#3        // java/lang/StringBuilder.\"<init>\":()V\n+   #55 = String             #56           // OpenAiModerationModel.OpenAiModerationModelBuilder(baseUrl=\n+   #56 = Utf8               OpenAiModerationModel.OpenAiModerationModelBuilder(baseUrl=\n+   #57 = Methodref          #52.#58       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #58 = NameAndType        #59:#60       // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #59 = Utf8               append\n+   #60 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #61 = String             #62           // , apiKey=\n+   #62 = Utf8               , apiKey=\n+   #63 = String             #64           // , organizationId=\n+   #64 = Utf8               , organizationId=\n+   #65 = String             #66           // , modelName=\n+   #66 = Utf8               , modelName=\n+   #67 = String             #68           // , timeout=\n+   #68 = Utf8               , timeout=\n+   #69 = Methodref          #52.#70       // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #70 = NameAndType        #59:#71       // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #71 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #72 = String             #73           // , maxRetries=\n+   #73 = Utf8               , maxRetries=\n+   #74 = String             #75           // , proxy=\n+   #75 = Utf8               , proxy=\n+   #76 = String             #77           // , logRequests=\n+   #77 = Utf8               , logRequests=\n+   #78 = String             #79           // , logResponses=\n+   #79 = Utf8               , logResponses=\n+   #80 = String             #81           // )\n+   #81 = Utf8               )\n+   #82 = Methodref          #52.#15       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n+   #83 = Utf8               Code\n+   #84 = Utf8               LineNumberTable\n+   #85 = Utf8               LocalVariableTable\n+   #86 = Utf8               this\n+   #87 = Utf8               Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+   #88 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+   #89 = Utf8               (Ldev/langchain4j/model/openai/OpenAiModerationModelName;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+   #90 = Utf8               Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+   #91 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+   #92 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+   #93 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+   #94 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n+   #95 = Utf8               build\n+   #96 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n+   #97 = Utf8               SourceFile\n+   #98 = Utf8               OpenAiModerationModel.java\n+   #99 = Utf8               InnerClasses\n+  #100 = Utf8               OpenAiModerationModelBuilder\n {\n   private java.lang.String baseUrl;\n     descriptor: Ljava/lang/String;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.String apiKey;\n     descriptor: Ljava/lang/String;\n@@ -163,15 +163,15 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder modelName(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: putfield      #7                  // Field modelName:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 124: 0\n         line 125: 5\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -181,16 +181,16 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder modelName(dev.langchain4j.model.openai.OpenAiModerationModelName);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiModerationModelName;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokevirtual #3                  // Method dev/langchain4j/model/openai/OpenAiModerationModelName.toString:()Ljava/lang/String;\n-         5: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: invokevirtual #13                 // Method dev/langchain4j/model/openai/OpenAiModerationModelName.toString:()Ljava/lang/String;\n+         5: putfield      #7                  // Field modelName:Ljava/lang/String;\n          8: aload_0\n          9: areturn\n       LineNumberTable:\n         line 129: 0\n         line 130: 8\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -200,15 +200,15 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder baseUrl(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         2: putfield      #19                 // Field baseUrl:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n@@ -217,15 +217,15 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder apiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #5                  // Field apiKey:Ljava/lang/String;\n+         2: putfield      #22                 // Field apiKey:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n@@ -234,15 +234,15 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder organizationId(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #6                  // Field organizationId:Ljava/lang/String;\n+         2: putfield      #25                 // Field organizationId:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n@@ -251,15 +251,15 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder timeout(java.time.Duration);\n     descriptor: (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #7                  // Field timeout:Ljava/time/Duration;\n+         2: putfield      #28                 // Field timeout:Ljava/time/Duration;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n@@ -268,15 +268,15 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder maxRetries(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #8                  // Field maxRetries:Ljava/lang/Integer;\n+         2: putfield      #32                 // Field maxRetries:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n@@ -285,15 +285,15 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder proxy(java.net.Proxy);\n     descriptor: (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #9                  // Field proxy:Ljava/net/Proxy;\n+         2: putfield      #36                 // Field proxy:Ljava/net/Proxy;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n@@ -302,15 +302,15 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder logRequests(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #10                 // Field logRequests:Ljava/lang/Boolean;\n+         2: putfield      #40                 // Field logRequests:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n@@ -319,116 +319,116 @@\n   public dev.langchain4j.model.openai.OpenAiModerationModel$OpenAiModerationModelBuilder logResponses(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #11                 // Field logResponses:Ljava/lang/Boolean;\n+         2: putfield      #44                 // Field logResponses:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n             0       7     1 logResponses   Ljava/lang/Boolean;\n \n   public dev.langchain4j.model.openai.OpenAiModerationModel build();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiModerationModel;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=11, locals=1, args_size=1\n-         0: new           #12                 // class dev/langchain4j/model/openai/OpenAiModerationModel\n+         0: new           #47                 // class dev/langchain4j/model/openai/OpenAiModerationModel\n          3: dup\n          4: aload_0\n-         5: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         5: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n          8: aload_0\n-         9: getfield      #5                  // Field apiKey:Ljava/lang/String;\n+         9: getfield      #22                 // Field apiKey:Ljava/lang/String;\n         12: aload_0\n-        13: getfield      #6                  // Field organizationId:Ljava/lang/String;\n+        13: getfield      #25                 // Field organizationId:Ljava/lang/String;\n         16: aload_0\n-        17: getfield      #2                  // Field modelName:Ljava/lang/String;\n+        17: getfield      #7                  // Field modelName:Ljava/lang/String;\n         20: aload_0\n-        21: getfield      #7                  // Field timeout:Ljava/time/Duration;\n+        21: getfield      #28                 // Field timeout:Ljava/time/Duration;\n         24: aload_0\n-        25: getfield      #8                  // Field maxRetries:Ljava/lang/Integer;\n+        25: getfield      #32                 // Field maxRetries:Ljava/lang/Integer;\n         28: aload_0\n-        29: getfield      #9                  // Field proxy:Ljava/net/Proxy;\n+        29: getfield      #36                 // Field proxy:Ljava/net/Proxy;\n         32: aload_0\n-        33: getfield      #10                 // Field logRequests:Ljava/lang/Boolean;\n+        33: getfield      #40                 // Field logRequests:Ljava/lang/Boolean;\n         36: aload_0\n-        37: getfield      #11                 // Field logResponses:Ljava/lang/Boolean;\n-        40: invokespecial #13                 // Method dev/langchain4j/model/openai/OpenAiModerationModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n+        37: getfield      #44                 // Field logResponses:Ljava/lang/Boolean;\n+        40: invokespecial #49                 // Method dev/langchain4j/model/openai/OpenAiModerationModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;)V\n         43: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      44     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: new           #14                 // class java/lang/StringBuilder\n+         0: new           #52                 // class java/lang/StringBuilder\n          3: dup\n-         4: invokespecial #15                 // Method java/lang/StringBuilder.\"<init>\":()V\n-         7: ldc           #16                 // String OpenAiModerationModel.OpenAiModerationModelBuilder(baseUrl=\n-         9: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+         4: invokespecial #54                 // Method java/lang/StringBuilder.\"<init>\":()V\n+         7: ldc           #55                 // String OpenAiModerationModel.OpenAiModerationModelBuilder(baseUrl=\n+         9: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         12: aload_0\n-        13: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n-        16: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        19: ldc           #18                 // String , apiKey=\n-        21: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        13: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n+        16: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        19: ldc           #61                 // String , apiKey=\n+        21: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         24: aload_0\n-        25: getfield      #5                  // Field apiKey:Ljava/lang/String;\n-        28: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        31: ldc           #19                 // String , organizationId=\n-        33: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        25: getfield      #22                 // Field apiKey:Ljava/lang/String;\n+        28: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        31: ldc           #63                 // String , organizationId=\n+        33: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         36: aload_0\n-        37: getfield      #6                  // Field organizationId:Ljava/lang/String;\n-        40: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        43: ldc           #20                 // String , modelName=\n-        45: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        37: getfield      #25                 // Field organizationId:Ljava/lang/String;\n+        40: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        43: ldc           #65                 // String , modelName=\n+        45: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         48: aload_0\n-        49: getfield      #2                  // Field modelName:Ljava/lang/String;\n-        52: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        55: ldc           #21                 // String , timeout=\n-        57: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        49: getfield      #7                  // Field modelName:Ljava/lang/String;\n+        52: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        55: ldc           #67                 // String , timeout=\n+        57: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         60: aload_0\n-        61: getfield      #7                  // Field timeout:Ljava/time/Duration;\n-        64: invokevirtual #22                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        67: ldc           #23                 // String , maxRetries=\n-        69: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        61: getfield      #28                 // Field timeout:Ljava/time/Duration;\n+        64: invokevirtual #69                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        67: ldc           #72                 // String , maxRetries=\n+        69: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         72: aload_0\n-        73: getfield      #8                  // Field maxRetries:Ljava/lang/Integer;\n-        76: invokevirtual #22                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        79: ldc           #24                 // String , proxy=\n-        81: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        73: getfield      #32                 // Field maxRetries:Ljava/lang/Integer;\n+        76: invokevirtual #69                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        79: ldc           #74                 // String , proxy=\n+        81: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         84: aload_0\n-        85: getfield      #9                  // Field proxy:Ljava/net/Proxy;\n-        88: invokevirtual #22                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        91: ldc           #25                 // String , logRequests=\n-        93: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        85: getfield      #36                 // Field proxy:Ljava/net/Proxy;\n+        88: invokevirtual #69                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        91: ldc           #76                 // String , logRequests=\n+        93: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         96: aload_0\n-        97: getfield      #10                 // Field logRequests:Ljava/lang/Boolean;\n-       100: invokevirtual #22                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       103: ldc           #26                 // String , logResponses=\n-       105: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        97: getfield      #40                 // Field logRequests:Ljava/lang/Boolean;\n+       100: invokevirtual #69                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       103: ldc           #78                 // String , logResponses=\n+       105: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        108: aload_0\n-       109: getfield      #11                 // Field logResponses:Ljava/lang/Boolean;\n-       112: invokevirtual #22                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       115: ldc           #27                 // String )\n-       117: invokevirtual #17                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       120: invokevirtual #28                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+       109: getfield      #44                 // Field logResponses:Ljava/lang/Boolean;\n+       112: invokevirtual #69                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       115: ldc           #80                 // String )\n+       117: invokevirtual #57                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       120: invokevirtual #82                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n        123: areturn\n       LineNumberTable:\n         line 36: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0     124     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder;\n }\n SourceFile: \"OpenAiModerationModel.java\"\n InnerClasses:\n-  public static #51= #29 of #12;          // OpenAiModerationModelBuilder=class dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder of class dev/langchain4j/model/openai/OpenAiModerationModel\n+  public static #100= #8 of #47;          // OpenAiModerationModelBuilder=class dev/langchain4j/model/openai/OpenAiModerationModel$OpenAiModerationModelBuilder of class dev/langchain4j/model/openai/OpenAiModerationModel\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.class", "source2": "dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,59 +1,59 @@\n-  SHA-256 checksum 027a99f00259cc5548063b1e96cacc9fac87bf7dd7187ef854d3fdd1905ab658\n+  SHA-256 checksum c12b612767d9a3f53cd82f6ef66b94699321431d042f994decb4deedb487e350\n   Compiled from \"OpenAiStreamingResponseBuilder.java\"\n class dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n   minor version: 0\n   major version: 52\n   flags: (0x0020) ACC_SUPER\n-  this_class: #8                          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n-  super_class: #9                         // java/lang/Object\n+  this_class: #2                          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n+  super_class: #18                        // java/lang/Object\n   interfaces: 0, fields: 3, methods: 5, attributes: 2\n Constant pool:\n-   #1 = Methodref          #8.#33         // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.\"<init>\":()V\n-   #2 = Fieldref           #8.#34         // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.argumentsBuilder:Ljava/lang/StringBuffer;\n-   #3 = Fieldref           #8.#35         // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.nameBuilder:Ljava/lang/StringBuffer;\n-   #4 = Fieldref           #8.#36         // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.idBuilder:Ljava/lang/StringBuffer;\n-   #5 = Methodref          #9.#33         // java/lang/Object.\"<init>\":()V\n-   #6 = Class              #37            // java/lang/StringBuffer\n-   #7 = Methodref          #6.#33         // java/lang/StringBuffer.\"<init>\":()V\n-   #8 = Class              #39            // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n-   #9 = Class              #40            // java/lang/Object\n-  #10 = Utf8               idBuilder\n-  #11 = Utf8               Ljava/lang/StringBuffer;\n-  #12 = Utf8               nameBuilder\n-  #13 = Utf8               argumentsBuilder\n-  #14 = Utf8               <init>\n-  #15 = Utf8               ()V\n-  #16 = Utf8               Code\n-  #17 = Utf8               LineNumberTable\n-  #18 = Utf8               LocalVariableTable\n-  #19 = Utf8               this\n-  #20 = Utf8               ToolExecutionRequestBuilder\n-  #21 = Utf8               InnerClasses\n-  #22 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n-  #23 = Utf8               access$000\n-  #24 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-  #25 = Utf8               x0\n-  #26 = Utf8               access$100\n-  #27 = Utf8               access$200\n-  #28 = Class              #41            // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n-  #29 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n-  #30 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;\n-  #31 = Utf8               SourceFile\n-  #32 = Utf8               OpenAiStreamingResponseBuilder.java\n-  #33 = NameAndType        #14:#15        // \"<init>\":()V\n-  #34 = NameAndType        #13:#11        // argumentsBuilder:Ljava/lang/StringBuffer;\n-  #35 = NameAndType        #12:#11        // nameBuilder:Ljava/lang/StringBuffer;\n-  #36 = NameAndType        #10:#11        // idBuilder:Ljava/lang/StringBuffer;\n-  #37 = Utf8               java/lang/StringBuffer\n-  #38 = Class              #42            // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n-  #39 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n-  #40 = Utf8               java/lang/Object\n-  #41 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n-  #42 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+   #1 = Methodref          #2.#3          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.\"<init>\":()V\n+   #2 = Class              #4             // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n+   #3 = NameAndType        #5:#6          // \"<init>\":()V\n+   #4 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n+   #5 = Utf8               <init>\n+   #6 = Utf8               ()V\n+   #7 = Fieldref           #2.#8          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.argumentsBuilder:Ljava/lang/StringBuffer;\n+   #8 = NameAndType        #9:#10         // argumentsBuilder:Ljava/lang/StringBuffer;\n+   #9 = Utf8               argumentsBuilder\n+  #10 = Utf8               Ljava/lang/StringBuffer;\n+  #11 = Fieldref           #2.#12         // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.nameBuilder:Ljava/lang/StringBuffer;\n+  #12 = NameAndType        #13:#10        // nameBuilder:Ljava/lang/StringBuffer;\n+  #13 = Utf8               nameBuilder\n+  #14 = Fieldref           #2.#15         // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.idBuilder:Ljava/lang/StringBuffer;\n+  #15 = NameAndType        #16:#10        // idBuilder:Ljava/lang/StringBuffer;\n+  #16 = Utf8               idBuilder\n+  #17 = Methodref          #18.#3         // java/lang/Object.\"<init>\":()V\n+  #18 = Class              #19            // java/lang/Object\n+  #19 = Utf8               java/lang/Object\n+  #20 = Class              #21            // java/lang/StringBuffer\n+  #21 = Utf8               java/lang/StringBuffer\n+  #22 = Methodref          #20.#3         // java/lang/StringBuffer.\"<init>\":()V\n+  #23 = Utf8               Code\n+  #24 = Utf8               LineNumberTable\n+  #25 = Utf8               LocalVariableTable\n+  #26 = Utf8               this\n+  #27 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n+  #28 = Utf8               access$000\n+  #29 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+  #30 = Utf8               x0\n+  #31 = Utf8               access$100\n+  #32 = Utf8               access$200\n+  #33 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n+  #34 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;\n+  #35 = Utf8               SourceFile\n+  #36 = Utf8               OpenAiStreamingResponseBuilder.java\n+  #37 = Utf8               InnerClasses\n+  #38 = Class              #39            // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+  #39 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+  #40 = Utf8               ToolExecutionRequestBuilder\n+  #41 = Class              #42            // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n+  #42 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n {\n   private final java.lang.StringBuffer idBuilder;\n     descriptor: Ljava/lang/StringBuffer;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.lang.StringBuffer nameBuilder;\n     descriptor: Ljava/lang/StringBuffer;\n@@ -65,30 +65,30 @@\n \n   private dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder();\n     descriptor: ()V\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=3, locals=1, args_size=1\n          0: aload_0\n-         1: invokespecial #5                  // Method java/lang/Object.\"<init>\":()V\n+         1: invokespecial #17                 // Method java/lang/Object.\"<init>\":()V\n          4: aload_0\n-         5: new           #6                  // class java/lang/StringBuffer\n+         5: new           #20                 // class java/lang/StringBuffer\n          8: dup\n-         9: invokespecial #7                  // Method java/lang/StringBuffer.\"<init>\":()V\n-        12: putfield      #4                  // Field idBuilder:Ljava/lang/StringBuffer;\n+         9: invokespecial #22                 // Method java/lang/StringBuffer.\"<init>\":()V\n+        12: putfield      #14                 // Field idBuilder:Ljava/lang/StringBuffer;\n         15: aload_0\n-        16: new           #6                  // class java/lang/StringBuffer\n+        16: new           #20                 // class java/lang/StringBuffer\n         19: dup\n-        20: invokespecial #7                  // Method java/lang/StringBuffer.\"<init>\":()V\n-        23: putfield      #3                  // Field nameBuilder:Ljava/lang/StringBuffer;\n+        20: invokespecial #22                 // Method java/lang/StringBuffer.\"<init>\":()V\n+        23: putfield      #11                 // Field nameBuilder:Ljava/lang/StringBuffer;\n         26: aload_0\n-        27: new           #6                  // class java/lang/StringBuffer\n+        27: new           #20                 // class java/lang/StringBuffer\n         30: dup\n-        31: invokespecial #7                  // Method java/lang/StringBuffer.\"<init>\":()V\n-        34: putfield      #2                  // Field argumentsBuilder:Ljava/lang/StringBuffer;\n+        31: invokespecial #22                 // Method java/lang/StringBuffer.\"<init>\":()V\n+        34: putfield      #7                  // Field argumentsBuilder:Ljava/lang/StringBuffer;\n         37: return\n       LineNumberTable:\n         line 201: 0\n         line 203: 4\n         line 204: 15\n         line 205: 26\n       LocalVariableTable:\n@@ -97,43 +97,43 @@\n \n   static java.lang.StringBuffer access$000(dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n     flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #4                  // Field idBuilder:Ljava/lang/StringBuffer;\n+         1: getfield      #14                 // Field idBuilder:Ljava/lang/StringBuffer;\n          4: areturn\n       LineNumberTable:\n         line 201: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0    x0   Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n \n   static java.lang.StringBuffer access$100(dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n     flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #3                  // Field nameBuilder:Ljava/lang/StringBuffer;\n+         1: getfield      #11                 // Field nameBuilder:Ljava/lang/StringBuffer;\n          4: areturn\n       LineNumberTable:\n         line 201: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0    x0   Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n \n   static java.lang.StringBuffer access$200(dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n     flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #2                  // Field argumentsBuilder:Ljava/lang/StringBuffer;\n+         1: getfield      #7                  // Field argumentsBuilder:Ljava/lang/StringBuffer;\n          4: areturn\n       LineNumberTable:\n         line 201: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0    x0   Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n \n@@ -150,9 +150,9 @@\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0  this   Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n             0       5     1    x0   Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;\n }\n SourceFile: \"OpenAiStreamingResponseBuilder.java\"\n InnerClasses:\n-  private static #20= #8 of #38;          // ToolExecutionRequestBuilder=class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder of class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n-  static #28;                             // class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n+  private static #40= #2 of #38;          // ToolExecutionRequestBuilder=class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder of class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+  static #41;                             // class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiModerationModelName.class", "source2": "dev/langchain4j/model/openai/OpenAiModerationModelName.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,76 +1,78 @@\n-  SHA-256 checksum 5aba788de3a4d42196d8e03a730ec64d54bcc1589f682916d92635a016c9350e\n+  SHA-256 checksum 147c319bf97a6df1adf2a36458d5f6c4ee2c62469bf682de3bcb5ea7ffc2eceb\n   Compiled from \"OpenAiModerationModelName.java\"\n public final class dev.langchain4j.model.openai.OpenAiModerationModelName extends java.lang.Enum<dev.langchain4j.model.openai.OpenAiModerationModelName>\n   minor version: 0\n   major version: 52\n   flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM\n-  this_class: #4                          // dev/langchain4j/model/openai/OpenAiModerationModelName\n-  super_class: #15                        // java/lang/Enum\n-  interfaces: 0, fields: 4, methods: 5, attributes: 2\n+  this_class: #1                          // dev/langchain4j/model/openai/OpenAiModerationModelName\n+  super_class: #20                        // java/lang/Enum\n+  interfaces: 0, fields: 4, methods: 6, attributes: 2\n Constant pool:\n-   #1 = Fieldref           #4.#43         // dev/langchain4j/model/openai/OpenAiModerationModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-   #2 = Methodref          #44.#45        // \"[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\".clone:()Ljava/lang/Object;\n-   #3 = Class              #22            // \"[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\"\n-   #4 = Class              #46            // dev/langchain4j/model/openai/OpenAiModerationModelName\n-   #5 = Methodref          #15.#47        // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-   #6 = Methodref          #15.#48        // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n-   #7 = Fieldref           #4.#49         // dev/langchain4j/model/openai/OpenAiModerationModelName.stringValue:Ljava/lang/String;\n-   #8 = String             #16            // TEXT_MODERATION_STABLE\n-   #9 = String             #50            // text-moderation-stable\n-  #10 = Methodref          #4.#51         // dev/langchain4j/model/openai/OpenAiModerationModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-  #11 = Fieldref           #4.#52         // dev/langchain4j/model/openai/OpenAiModerationModelName.TEXT_MODERATION_STABLE:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-  #12 = String             #18            // TEXT_MODERATION_LATEST\n-  #13 = String             #53            // text-moderation-latest\n-  #14 = Fieldref           #4.#54         // dev/langchain4j/model/openai/OpenAiModerationModelName.TEXT_MODERATION_LATEST:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-  #15 = Class              #55            // java/lang/Enum\n-  #16 = Utf8               TEXT_MODERATION_STABLE\n-  #17 = Utf8               Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-  #18 = Utf8               TEXT_MODERATION_LATEST\n-  #19 = Utf8               stringValue\n-  #20 = Utf8               Ljava/lang/String;\n-  #21 = Utf8               $VALUES\n-  #22 = Utf8               [Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-  #23 = Utf8               values\n-  #24 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-  #25 = Utf8               Code\n-  #26 = Utf8               LineNumberTable\n-  #27 = Utf8               valueOf\n-  #28 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-  #29 = Utf8               LocalVariableTable\n-  #30 = Utf8               name\n-  #31 = Utf8               <init>\n-  #32 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n-  #33 = Utf8               this\n-  #34 = Utf8               Signature\n-  #35 = Utf8               (Ljava/lang/String;)V\n-  #36 = Utf8               toString\n-  #37 = Utf8               ()Ljava/lang/String;\n-  #38 = Utf8               <clinit>\n-  #39 = Utf8               ()V\n-  #40 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiModerationModelName;>;\n-  #41 = Utf8               SourceFile\n-  #42 = Utf8               OpenAiModerationModelName.java\n-  #43 = NameAndType        #21:#22        // $VALUES:[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-  #44 = Class              #22            // \"[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\"\n-  #45 = NameAndType        #56:#57        // clone:()Ljava/lang/Object;\n-  #46 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModelName\n-  #47 = NameAndType        #27:#58        // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #48 = NameAndType        #31:#59        // \"<init>\":(Ljava/lang/String;I)V\n-  #49 = NameAndType        #19:#20        // stringValue:Ljava/lang/String;\n-  #50 = Utf8               text-moderation-stable\n-  #51 = NameAndType        #31:#32        // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-  #52 = NameAndType        #16:#17        // TEXT_MODERATION_STABLE:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-  #53 = Utf8               text-moderation-latest\n-  #54 = NameAndType        #18:#17        // TEXT_MODERATION_LATEST:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-  #55 = Utf8               java/lang/Enum\n-  #56 = Utf8               clone\n-  #57 = Utf8               ()Ljava/lang/Object;\n-  #58 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #59 = Utf8               (Ljava/lang/String;I)V\n+   #1 = Class              #2             // dev/langchain4j/model/openai/OpenAiModerationModelName\n+   #2 = Utf8               dev/langchain4j/model/openai/OpenAiModerationModelName\n+   #3 = Fieldref           #1.#4          // dev/langchain4j/model/openai/OpenAiModerationModelName.TEXT_MODERATION_STABLE:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+   #4 = NameAndType        #5:#6          // TEXT_MODERATION_STABLE:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+   #5 = Utf8               TEXT_MODERATION_STABLE\n+   #6 = Utf8               Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+   #7 = Fieldref           #1.#8          // dev/langchain4j/model/openai/OpenAiModerationModelName.TEXT_MODERATION_LATEST:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+   #8 = NameAndType        #9:#6          // TEXT_MODERATION_LATEST:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+   #9 = Utf8               TEXT_MODERATION_LATEST\n+  #10 = Fieldref           #1.#11         // dev/langchain4j/model/openai/OpenAiModerationModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+  #11 = NameAndType        #12:#13        // $VALUES:[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+  #12 = Utf8               $VALUES\n+  #13 = Utf8               [Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+  #14 = Methodref          #15.#16        // \"[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\".clone:()Ljava/lang/Object;\n+  #15 = Class              #13            // \"[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\"\n+  #16 = NameAndType        #17:#18        // clone:()Ljava/lang/Object;\n+  #17 = Utf8               clone\n+  #18 = Utf8               ()Ljava/lang/Object;\n+  #19 = Methodref          #20.#21        // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #20 = Class              #22            // java/lang/Enum\n+  #21 = NameAndType        #23:#24        // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #22 = Utf8               java/lang/Enum\n+  #23 = Utf8               valueOf\n+  #24 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #25 = Methodref          #20.#26        // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+  #26 = NameAndType        #27:#28        // \"<init>\":(Ljava/lang/String;I)V\n+  #27 = Utf8               <init>\n+  #28 = Utf8               (Ljava/lang/String;I)V\n+  #29 = Fieldref           #1.#30         // dev/langchain4j/model/openai/OpenAiModerationModelName.stringValue:Ljava/lang/String;\n+  #30 = NameAndType        #31:#32        // stringValue:Ljava/lang/String;\n+  #31 = Utf8               stringValue\n+  #32 = Utf8               Ljava/lang/String;\n+  #33 = String             #5             // TEXT_MODERATION_STABLE\n+  #34 = String             #35            // text-moderation-stable\n+  #35 = Utf8               text-moderation-stable\n+  #36 = Methodref          #1.#37         // dev/langchain4j/model/openai/OpenAiModerationModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+  #37 = NameAndType        #27:#38        // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+  #38 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n+  #39 = String             #9             // TEXT_MODERATION_LATEST\n+  #40 = String             #41            // text-moderation-latest\n+  #41 = Utf8               text-moderation-latest\n+  #42 = Methodref          #1.#43         // dev/langchain4j/model/openai/OpenAiModerationModelName.$values:()[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+  #43 = NameAndType        #44:#45        // $values:()[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+  #44 = Utf8               $values\n+  #45 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+  #46 = Utf8               values\n+  #47 = Utf8               Code\n+  #48 = Utf8               LineNumberTable\n+  #49 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+  #50 = Utf8               LocalVariableTable\n+  #51 = Utf8               name\n+  #52 = Utf8               this\n+  #53 = Utf8               Signature\n+  #54 = Utf8               (Ljava/lang/String;)V\n+  #55 = Utf8               toString\n+  #56 = Utf8               ()Ljava/lang/String;\n+  #57 = Utf8               <clinit>\n+  #58 = Utf8               ()V\n+  #59 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiModerationModelName;>;\n+  #60 = Utf8               SourceFile\n+  #61 = Utf8               OpenAiModerationModelName.java\n {\n   public static final dev.langchain4j.model.openai.OpenAiModerationModelName TEXT_MODERATION_STABLE;\n     descriptor: Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM\n \n   public static final dev.langchain4j.model.openai.OpenAiModerationModelName TEXT_MODERATION_LATEST;\n     descriptor: Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n@@ -85,30 +87,30 @@\n     flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC\n \n   public static dev.langchain4j.model.openai.OpenAiModerationModelName[] values();\n     descriptor: ()[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=1, locals=0, args_size=0\n-         0: getstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-         3: invokevirtual #2                  // Method \"[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\".clone:()Ljava/lang/Object;\n-         6: checkcast     #3                  // class \"[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\"\n+         0: getstatic     #10                 // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+         3: invokevirtual #14                 // Method \"[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\".clone:()Ljava/lang/Object;\n+         6: checkcast     #15                 // class \"[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\"\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n \n   public static dev.langchain4j.model.openai.OpenAiModerationModelName valueOf(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: ldc           #4                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n+         0: ldc           #1                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n          2: aload_0\n-         3: invokestatic  #5                  // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-         6: checkcast     #4                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n+         3: invokestatic  #19                 // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+         6: checkcast     #1                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      10     0  name   Ljava/lang/String;\n \n@@ -116,74 +118,84 @@\n     descriptor: (Ljava/lang/String;ILjava/lang/String;)V\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=3, locals=4, args_size=4\n          0: aload_0\n          1: aload_1\n          2: iload_2\n-         3: invokespecial #6                  // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+         3: invokespecial #25                 // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n          6: aload_0\n          7: aload_3\n-         8: putfield      #7                  // Field stringValue:Ljava/lang/String;\n+         8: putfield      #29                 // Field stringValue:Ljava/lang/String;\n         11: return\n       LineNumberTable:\n         line 10: 0\n         line 11: 6\n         line 12: 11\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      12     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n             0      12     3 stringValue   Ljava/lang/String;\n-    Signature: #35                          // (Ljava/lang/String;)V\n+    Signature: #54                          // (Ljava/lang/String;)V\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #7                  // Field stringValue:Ljava/lang/String;\n+         1: getfield      #29                 // Field stringValue:Ljava/lang/String;\n          4: areturn\n       LineNumberTable:\n         line 16: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0  this   Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n \n+  private static dev.langchain4j.model.openai.OpenAiModerationModelName[] $values();\n+    descriptor: ()[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n+    Code:\n+      stack=4, locals=0, args_size=0\n+         0: iconst_2\n+         1: anewarray     #1                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n+         4: dup\n+         5: iconst_0\n+         6: getstatic     #3                  // Field TEXT_MODERATION_STABLE:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+         9: aastore\n+        10: dup\n+        11: iconst_1\n+        12: getstatic     #7                  // Field TEXT_MODERATION_LATEST:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+        15: aastore\n+        16: areturn\n+      LineNumberTable:\n+        line 3: 0\n+\n   static {};\n     descriptor: ()V\n     flags: (0x0008) ACC_STATIC\n     Code:\n       stack=5, locals=0, args_size=0\n-         0: new           #4                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n+         0: new           #1                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n          3: dup\n-         4: ldc           #8                  // String TEXT_MODERATION_STABLE\n+         4: ldc           #33                 // String TEXT_MODERATION_STABLE\n          6: iconst_0\n-         7: ldc           #9                  // String text-moderation-stable\n-         9: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        12: putstatic     #11                 // Field TEXT_MODERATION_STABLE:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-        15: new           #4                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n+         7: ldc           #34                 // String text-moderation-stable\n+         9: invokespecial #36                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        12: putstatic     #3                  // Field TEXT_MODERATION_STABLE:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+        15: new           #1                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n         18: dup\n-        19: ldc           #12                 // String TEXT_MODERATION_LATEST\n+        19: ldc           #39                 // String TEXT_MODERATION_LATEST\n         21: iconst_1\n-        22: ldc           #13                 // String text-moderation-latest\n-        24: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        27: putstatic     #14                 // Field TEXT_MODERATION_LATEST:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-        30: iconst_2\n-        31: anewarray     #4                  // class dev/langchain4j/model/openai/OpenAiModerationModelName\n-        34: dup\n-        35: iconst_0\n-        36: getstatic     #11                 // Field TEXT_MODERATION_STABLE:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-        39: aastore\n-        40: dup\n-        41: iconst_1\n-        42: getstatic     #14                 // Field TEXT_MODERATION_LATEST:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-        45: aastore\n-        46: putstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n-        49: return\n+        22: ldc           #40                 // String text-moderation-latest\n+        24: invokespecial #36                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        27: putstatic     #7                  // Field TEXT_MODERATION_LATEST:Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+        30: invokestatic  #42                 // Method $values:()[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+        33: putstatic     #10                 // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiModerationModelName;\n+        36: return\n       LineNumberTable:\n         line 5: 0\n         line 6: 15\n         line 3: 30\n }\n-Signature: #40                          // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiModerationModelName;>;\n+Signature: #59                          // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiModerationModelName;>;\n SourceFile: \"OpenAiModerationModelName.java\"\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiChatModelName.class", "source2": "dev/langchain4j/model/openai/OpenAiChatModelName.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,160 +1,162 @@\n-  SHA-256 checksum e0b99497e68f766242aa156b9ca0b8ffd2ef7813ed4f90f9f02f5205809fc486\n+  SHA-256 checksum 3ec97a0d765156731961ab7cacba6d7fc1b9a7cb9a794825422e8ed4ae3d33ad\n   Compiled from \"OpenAiChatModelName.java\"\n public final class dev.langchain4j.model.openai.OpenAiChatModelName extends java.lang.Enum<dev.langchain4j.model.openai.OpenAiChatModelName>\n   minor version: 0\n   major version: 52\n   flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM\n-  this_class: #4                          // dev/langchain4j/model/openai/OpenAiChatModelName\n-  super_class: #57                        // java/lang/Enum\n-  interfaces: 0, fields: 18, methods: 5, attributes: 2\n+  this_class: #1                          // dev/langchain4j/model/openai/OpenAiChatModelName\n+  super_class: #62                        // java/lang/Enum\n+  interfaces: 0, fields: 18, methods: 6, attributes: 2\n Constant pool:\n-    #1 = Fieldref           #4.#99        // dev/langchain4j/model/openai/OpenAiChatModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-    #2 = Methodref          #100.#101     // \"[Ldev/langchain4j/model/openai/OpenAiChatModelName;\".clone:()Ljava/lang/Object;\n-    #3 = Class              #78           // \"[Ldev/langchain4j/model/openai/OpenAiChatModelName;\"\n-    #4 = Class              #102          // dev/langchain4j/model/openai/OpenAiChatModelName\n-    #5 = Methodref          #57.#103      // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-    #6 = Methodref          #57.#104      // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n-    #7 = Fieldref           #4.#105       // dev/langchain4j/model/openai/OpenAiChatModelName.stringValue:Ljava/lang/String;\n-    #8 = String             #58           // GPT_3_5_TURBO\n-    #9 = String             #106          // gpt-3.5-turbo\n-   #10 = Methodref          #4.#107       // dev/langchain4j/model/openai/OpenAiChatModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-   #11 = Fieldref           #4.#108       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #12 = String             #60           // GPT_3_5_TURBO_0613\n-   #13 = String             #109          // gpt-3.5-turbo-0613\n-   #14 = Fieldref           #4.#110       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #15 = String             #61           // GPT_3_5_TURBO_1106\n-   #16 = String             #111          // gpt-3.5-turbo-1106\n-   #17 = Fieldref           #4.#112       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #18 = String             #62           // GPT_3_5_TURBO_0125\n-   #19 = String             #113          // gpt-3.5-turbo-0125\n-   #20 = Fieldref           #4.#114       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #21 = String             #63           // GPT_3_5_TURBO_16K\n-   #22 = String             #115          // gpt-3.5-turbo-16k\n-   #23 = Fieldref           #4.#116       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_16K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #24 = String             #64           // GPT_3_5_TURBO_16K_0613\n-   #25 = String             #117          // gpt-3.5-turbo-16k-0613\n-   #26 = Fieldref           #4.#118       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_16K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #27 = String             #65           // GPT_4\n-   #28 = String             #119          // gpt-4\n-   #29 = Fieldref           #4.#120       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #30 = String             #66           // GPT_4_0314\n-   #31 = String             #121          // gpt-4-0314\n-   #32 = Fieldref           #4.#122       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #33 = String             #67           // GPT_4_0613\n-   #34 = String             #123          // gpt-4-0613\n-   #35 = Fieldref           #4.#124       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #36 = String             #68           // GPT_4_TURBO_PREVIEW\n-   #37 = String             #125          // gpt-4-turbo-preview\n-   #38 = Fieldref           #4.#126       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #39 = String             #69           // GPT_4_1106_PREVIEW\n-   #40 = String             #127          // gpt-4-1106-preview\n-   #41 = Fieldref           #4.#128       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #42 = String             #70           // GPT_4_0125_PREVIEW\n-   #43 = String             #129          // gpt-4-0125-preview\n-   #44 = Fieldref           #4.#130       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #45 = String             #71           // GPT_4_32K\n-   #46 = String             #131          // gpt-4-32k\n-   #47 = Fieldref           #4.#132       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_32K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #48 = String             #72           // GPT_4_32K_0314\n-   #49 = String             #133          // gpt-4-32k-0314\n-   #50 = Fieldref           #4.#134       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_32K_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #51 = String             #73           // GPT_4_32K_0613\n-   #52 = String             #135          // gpt-4-32k-0613\n-   #53 = Fieldref           #4.#136       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_32K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #54 = String             #74           // GPT_4_VISION_PREVIEW\n-   #55 = String             #137          // gpt-4-vision-preview\n-   #56 = Fieldref           #4.#138       // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #57 = Class              #139          // java/lang/Enum\n-   #58 = Utf8               GPT_3_5_TURBO\n-   #59 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #60 = Utf8               GPT_3_5_TURBO_0613\n-   #61 = Utf8               GPT_3_5_TURBO_1106\n-   #62 = Utf8               GPT_3_5_TURBO_0125\n-   #63 = Utf8               GPT_3_5_TURBO_16K\n-   #64 = Utf8               GPT_3_5_TURBO_16K_0613\n-   #65 = Utf8               GPT_4\n-   #66 = Utf8               GPT_4_0314\n-   #67 = Utf8               GPT_4_0613\n-   #68 = Utf8               GPT_4_TURBO_PREVIEW\n-   #69 = Utf8               GPT_4_1106_PREVIEW\n-   #70 = Utf8               GPT_4_0125_PREVIEW\n-   #71 = Utf8               GPT_4_32K\n-   #72 = Utf8               GPT_4_32K_0314\n-   #73 = Utf8               GPT_4_32K_0613\n-   #74 = Utf8               GPT_4_VISION_PREVIEW\n-   #75 = Utf8               stringValue\n-   #76 = Utf8               Ljava/lang/String;\n-   #77 = Utf8               $VALUES\n-   #78 = Utf8               [Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #79 = Utf8               values\n-   #80 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #81 = Utf8               Code\n-   #82 = Utf8               LineNumberTable\n-   #83 = Utf8               valueOf\n-   #84 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #85 = Utf8               LocalVariableTable\n-   #86 = Utf8               name\n-   #87 = Utf8               <init>\n-   #88 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n-   #89 = Utf8               this\n-   #90 = Utf8               Signature\n-   #91 = Utf8               (Ljava/lang/String;)V\n-   #92 = Utf8               toString\n-   #93 = Utf8               ()Ljava/lang/String;\n-   #94 = Utf8               <clinit>\n-   #95 = Utf8               ()V\n-   #96 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiChatModelName;>;\n-   #97 = Utf8               SourceFile\n-   #98 = Utf8               OpenAiChatModelName.java\n-   #99 = NameAndType        #77:#78       // $VALUES:[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #100 = Class              #78           // \"[Ldev/langchain4j/model/openai/OpenAiChatModelName;\"\n-  #101 = NameAndType        #140:#141     // clone:()Ljava/lang/Object;\n-  #102 = Utf8               dev/langchain4j/model/openai/OpenAiChatModelName\n-  #103 = NameAndType        #83:#142      // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #104 = NameAndType        #87:#143      // \"<init>\":(Ljava/lang/String;I)V\n-  #105 = NameAndType        #75:#76       // stringValue:Ljava/lang/String;\n-  #106 = Utf8               gpt-3.5-turbo\n-  #107 = NameAndType        #87:#88       // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-  #108 = NameAndType        #58:#59       // GPT_3_5_TURBO:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #109 = Utf8               gpt-3.5-turbo-0613\n-  #110 = NameAndType        #60:#59       // GPT_3_5_TURBO_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #111 = Utf8               gpt-3.5-turbo-1106\n-  #112 = NameAndType        #61:#59       // GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #113 = Utf8               gpt-3.5-turbo-0125\n-  #114 = NameAndType        #62:#59       // GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #115 = Utf8               gpt-3.5-turbo-16k\n-  #116 = NameAndType        #63:#59       // GPT_3_5_TURBO_16K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #117 = Utf8               gpt-3.5-turbo-16k-0613\n-  #118 = NameAndType        #64:#59       // GPT_3_5_TURBO_16K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #119 = Utf8               gpt-4\n-  #120 = NameAndType        #65:#59       // GPT_4:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #121 = Utf8               gpt-4-0314\n-  #122 = NameAndType        #66:#59       // GPT_4_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #123 = Utf8               gpt-4-0613\n-  #124 = NameAndType        #67:#59       // GPT_4_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #125 = Utf8               gpt-4-turbo-preview\n-  #126 = NameAndType        #68:#59       // GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #127 = Utf8               gpt-4-1106-preview\n-  #128 = NameAndType        #69:#59       // GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #129 = Utf8               gpt-4-0125-preview\n-  #130 = NameAndType        #70:#59       // GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #131 = Utf8               gpt-4-32k\n-  #132 = NameAndType        #71:#59       // GPT_4_32K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #133 = Utf8               gpt-4-32k-0314\n-  #134 = NameAndType        #72:#59       // GPT_4_32K_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #135 = Utf8               gpt-4-32k-0613\n-  #136 = NameAndType        #73:#59       // GPT_4_32K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #137 = Utf8               gpt-4-vision-preview\n-  #138 = NameAndType        #74:#59       // GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #139 = Utf8               java/lang/Enum\n-  #140 = Utf8               clone\n-  #141 = Utf8               ()Ljava/lang/Object;\n-  #142 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #143 = Utf8               (Ljava/lang/String;I)V\n+    #1 = Class              #2            // dev/langchain4j/model/openai/OpenAiChatModelName\n+    #2 = Utf8               dev/langchain4j/model/openai/OpenAiChatModelName\n+    #3 = Fieldref           #1.#4         // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+    #4 = NameAndType        #5:#6         // GPT_3_5_TURBO:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+    #5 = Utf8               GPT_3_5_TURBO\n+    #6 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+    #7 = Fieldref           #1.#8         // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+    #8 = NameAndType        #9:#6         // GPT_3_5_TURBO_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+    #9 = Utf8               GPT_3_5_TURBO_0613\n+   #10 = Fieldref           #1.#11        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #11 = NameAndType        #12:#6        // GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #12 = Utf8               GPT_3_5_TURBO_1106\n+   #13 = Fieldref           #1.#14        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #14 = NameAndType        #15:#6        // GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #15 = Utf8               GPT_3_5_TURBO_0125\n+   #16 = Fieldref           #1.#17        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_16K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #17 = NameAndType        #18:#6        // GPT_3_5_TURBO_16K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #18 = Utf8               GPT_3_5_TURBO_16K\n+   #19 = Fieldref           #1.#20        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_16K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #20 = NameAndType        #21:#6        // GPT_3_5_TURBO_16K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #21 = Utf8               GPT_3_5_TURBO_16K_0613\n+   #22 = Fieldref           #1.#23        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #23 = NameAndType        #24:#6        // GPT_4:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #24 = Utf8               GPT_4\n+   #25 = Fieldref           #1.#26        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #26 = NameAndType        #27:#6        // GPT_4_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #27 = Utf8               GPT_4_0314\n+   #28 = Fieldref           #1.#29        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #29 = NameAndType        #30:#6        // GPT_4_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #30 = Utf8               GPT_4_0613\n+   #31 = Fieldref           #1.#32        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #32 = NameAndType        #33:#6        // GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #33 = Utf8               GPT_4_TURBO_PREVIEW\n+   #34 = Fieldref           #1.#35        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #35 = NameAndType        #36:#6        // GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #36 = Utf8               GPT_4_1106_PREVIEW\n+   #37 = Fieldref           #1.#38        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #38 = NameAndType        #39:#6        // GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #39 = Utf8               GPT_4_0125_PREVIEW\n+   #40 = Fieldref           #1.#41        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_32K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #41 = NameAndType        #42:#6        // GPT_4_32K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #42 = Utf8               GPT_4_32K\n+   #43 = Fieldref           #1.#44        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_32K_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #44 = NameAndType        #45:#6        // GPT_4_32K_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #45 = Utf8               GPT_4_32K_0314\n+   #46 = Fieldref           #1.#47        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_32K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #47 = NameAndType        #48:#6        // GPT_4_32K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #48 = Utf8               GPT_4_32K_0613\n+   #49 = Fieldref           #1.#50        // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #50 = NameAndType        #51:#6        // GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #51 = Utf8               GPT_4_VISION_PREVIEW\n+   #52 = Fieldref           #1.#53        // dev/langchain4j/model/openai/OpenAiChatModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #53 = NameAndType        #54:#55       // $VALUES:[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #54 = Utf8               $VALUES\n+   #55 = Utf8               [Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+   #56 = Methodref          #57.#58       // \"[Ldev/langchain4j/model/openai/OpenAiChatModelName;\".clone:()Ljava/lang/Object;\n+   #57 = Class              #55           // \"[Ldev/langchain4j/model/openai/OpenAiChatModelName;\"\n+   #58 = NameAndType        #59:#60       // clone:()Ljava/lang/Object;\n+   #59 = Utf8               clone\n+   #60 = Utf8               ()Ljava/lang/Object;\n+   #61 = Methodref          #62.#63       // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+   #62 = Class              #64           // java/lang/Enum\n+   #63 = NameAndType        #65:#66       // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+   #64 = Utf8               java/lang/Enum\n+   #65 = Utf8               valueOf\n+   #66 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+   #67 = Methodref          #62.#68       // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+   #68 = NameAndType        #69:#70       // \"<init>\":(Ljava/lang/String;I)V\n+   #69 = Utf8               <init>\n+   #70 = Utf8               (Ljava/lang/String;I)V\n+   #71 = Fieldref           #1.#72        // dev/langchain4j/model/openai/OpenAiChatModelName.stringValue:Ljava/lang/String;\n+   #72 = NameAndType        #73:#74       // stringValue:Ljava/lang/String;\n+   #73 = Utf8               stringValue\n+   #74 = Utf8               Ljava/lang/String;\n+   #75 = String             #5            // GPT_3_5_TURBO\n+   #76 = String             #77           // gpt-3.5-turbo\n+   #77 = Utf8               gpt-3.5-turbo\n+   #78 = Methodref          #1.#79        // dev/langchain4j/model/openai/OpenAiChatModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+   #79 = NameAndType        #69:#80       // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+   #80 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n+   #81 = String             #9            // GPT_3_5_TURBO_0613\n+   #82 = String             #83           // gpt-3.5-turbo-0613\n+   #83 = Utf8               gpt-3.5-turbo-0613\n+   #84 = String             #12           // GPT_3_5_TURBO_1106\n+   #85 = String             #86           // gpt-3.5-turbo-1106\n+   #86 = Utf8               gpt-3.5-turbo-1106\n+   #87 = String             #15           // GPT_3_5_TURBO_0125\n+   #88 = String             #89           // gpt-3.5-turbo-0125\n+   #89 = Utf8               gpt-3.5-turbo-0125\n+   #90 = String             #18           // GPT_3_5_TURBO_16K\n+   #91 = String             #92           // gpt-3.5-turbo-16k\n+   #92 = Utf8               gpt-3.5-turbo-16k\n+   #93 = String             #21           // GPT_3_5_TURBO_16K_0613\n+   #94 = String             #95           // gpt-3.5-turbo-16k-0613\n+   #95 = Utf8               gpt-3.5-turbo-16k-0613\n+   #96 = String             #24           // GPT_4\n+   #97 = String             #98           // gpt-4\n+   #98 = Utf8               gpt-4\n+   #99 = String             #27           // GPT_4_0314\n+  #100 = String             #101          // gpt-4-0314\n+  #101 = Utf8               gpt-4-0314\n+  #102 = String             #30           // GPT_4_0613\n+  #103 = String             #104          // gpt-4-0613\n+  #104 = Utf8               gpt-4-0613\n+  #105 = String             #33           // GPT_4_TURBO_PREVIEW\n+  #106 = String             #107          // gpt-4-turbo-preview\n+  #107 = Utf8               gpt-4-turbo-preview\n+  #108 = String             #36           // GPT_4_1106_PREVIEW\n+  #109 = String             #110          // gpt-4-1106-preview\n+  #110 = Utf8               gpt-4-1106-preview\n+  #111 = String             #39           // GPT_4_0125_PREVIEW\n+  #112 = String             #113          // gpt-4-0125-preview\n+  #113 = Utf8               gpt-4-0125-preview\n+  #114 = String             #42           // GPT_4_32K\n+  #115 = String             #116          // gpt-4-32k\n+  #116 = Utf8               gpt-4-32k\n+  #117 = String             #45           // GPT_4_32K_0314\n+  #118 = String             #119          // gpt-4-32k-0314\n+  #119 = Utf8               gpt-4-32k-0314\n+  #120 = String             #48           // GPT_4_32K_0613\n+  #121 = String             #122          // gpt-4-32k-0613\n+  #122 = Utf8               gpt-4-32k-0613\n+  #123 = String             #51           // GPT_4_VISION_PREVIEW\n+  #124 = String             #125          // gpt-4-vision-preview\n+  #125 = Utf8               gpt-4-vision-preview\n+  #126 = Methodref          #1.#127       // dev/langchain4j/model/openai/OpenAiChatModelName.$values:()[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #127 = NameAndType        #128:#129     // $values:()[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #128 = Utf8               $values\n+  #129 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #130 = Utf8               values\n+  #131 = Utf8               Code\n+  #132 = Utf8               LineNumberTable\n+  #133 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #134 = Utf8               LocalVariableTable\n+  #135 = Utf8               name\n+  #136 = Utf8               this\n+  #137 = Utf8               Signature\n+  #138 = Utf8               (Ljava/lang/String;)V\n+  #139 = Utf8               toString\n+  #140 = Utf8               ()Ljava/lang/String;\n+  #141 = Utf8               <clinit>\n+  #142 = Utf8               ()V\n+  #143 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiChatModelName;>;\n+  #144 = Utf8               SourceFile\n+  #145 = Utf8               OpenAiChatModelName.java\n {\n   public static final dev.langchain4j.model.openai.OpenAiChatModelName GPT_3_5_TURBO;\n     descriptor: Ldev/langchain4j/model/openai/OpenAiChatModelName;\n     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM\n \n   public static final dev.langchain4j.model.openai.OpenAiChatModelName GPT_3_5_TURBO_0613;\n     descriptor: Ldev/langchain4j/model/openai/OpenAiChatModelName;\n@@ -225,30 +227,30 @@\n     flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC\n \n   public static dev.langchain4j.model.openai.OpenAiChatModelName[] values();\n     descriptor: ()[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=1, locals=0, args_size=0\n-         0: getstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-         3: invokevirtual #2                  // Method \"[Ldev/langchain4j/model/openai/OpenAiChatModelName;\".clone:()Ljava/lang/Object;\n-         6: checkcast     #3                  // class \"[Ldev/langchain4j/model/openai/OpenAiChatModelName;\"\n+         0: getstatic     #52                 // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+         3: invokevirtual #56                 // Method \"[Ldev/langchain4j/model/openai/OpenAiChatModelName;\".clone:()Ljava/lang/Object;\n+         6: checkcast     #57                 // class \"[Ldev/langchain4j/model/openai/OpenAiChatModelName;\"\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n \n   public static dev.langchain4j.model.openai.OpenAiChatModelName valueOf(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: ldc           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+         0: ldc           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n          2: aload_0\n-         3: invokestatic  #5                  // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-         6: checkcast     #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+         3: invokestatic  #61                 // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+         6: checkcast     #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      10     0  name   Ljava/lang/String;\n \n@@ -256,228 +258,238 @@\n     descriptor: (Ljava/lang/String;ILjava/lang/String;)V\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=3, locals=4, args_size=4\n          0: aload_0\n          1: aload_1\n          2: iload_2\n-         3: invokespecial #6                  // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+         3: invokespecial #67                 // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n          6: aload_0\n          7: aload_3\n-         8: putfield      #7                  // Field stringValue:Ljava/lang/String;\n+         8: putfield      #71                 // Field stringValue:Ljava/lang/String;\n         11: return\n       LineNumberTable:\n         line 29: 0\n         line 30: 6\n         line 31: 11\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      12     0  this   Ldev/langchain4j/model/openai/OpenAiChatModelName;\n             0      12     3 stringValue   Ljava/lang/String;\n-    Signature: #91                          // (Ljava/lang/String;)V\n+    Signature: #138                         // (Ljava/lang/String;)V\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #7                  // Field stringValue:Ljava/lang/String;\n+         1: getfield      #71                 // Field stringValue:Ljava/lang/String;\n          4: areturn\n       LineNumberTable:\n         line 35: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0  this   Ldev/langchain4j/model/openai/OpenAiChatModelName;\n \n+  private static dev.langchain4j.model.openai.OpenAiChatModelName[] $values();\n+    descriptor: ()[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n+    Code:\n+      stack=4, locals=0, args_size=0\n+         0: bipush        16\n+         2: anewarray     #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+         5: dup\n+         6: iconst_0\n+         7: getstatic     #3                  // Field GPT_3_5_TURBO:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        10: aastore\n+        11: dup\n+        12: iconst_1\n+        13: getstatic     #7                  // Field GPT_3_5_TURBO_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        16: aastore\n+        17: dup\n+        18: iconst_2\n+        19: getstatic     #10                 // Field GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        22: aastore\n+        23: dup\n+        24: iconst_3\n+        25: getstatic     #13                 // Field GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        28: aastore\n+        29: dup\n+        30: iconst_4\n+        31: getstatic     #16                 // Field GPT_3_5_TURBO_16K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        34: aastore\n+        35: dup\n+        36: iconst_5\n+        37: getstatic     #19                 // Field GPT_3_5_TURBO_16K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        40: aastore\n+        41: dup\n+        42: bipush        6\n+        44: getstatic     #22                 // Field GPT_4:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        47: aastore\n+        48: dup\n+        49: bipush        7\n+        51: getstatic     #25                 // Field GPT_4_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        54: aastore\n+        55: dup\n+        56: bipush        8\n+        58: getstatic     #28                 // Field GPT_4_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        61: aastore\n+        62: dup\n+        63: bipush        9\n+        65: getstatic     #31                 // Field GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        68: aastore\n+        69: dup\n+        70: bipush        10\n+        72: getstatic     #34                 // Field GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        75: aastore\n+        76: dup\n+        77: bipush        11\n+        79: getstatic     #37                 // Field GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        82: aastore\n+        83: dup\n+        84: bipush        12\n+        86: getstatic     #40                 // Field GPT_4_32K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        89: aastore\n+        90: dup\n+        91: bipush        13\n+        93: getstatic     #43                 // Field GPT_4_32K_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        96: aastore\n+        97: dup\n+        98: bipush        14\n+       100: getstatic     #46                 // Field GPT_4_32K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       103: aastore\n+       104: dup\n+       105: bipush        15\n+       107: getstatic     #49                 // Field GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       110: aastore\n+       111: areturn\n+      LineNumberTable:\n+        line 3: 0\n+\n   static {};\n     descriptor: ()V\n     flags: (0x0008) ACC_STATIC\n     Code:\n       stack=5, locals=0, args_size=0\n-         0: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+         0: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n          3: dup\n-         4: ldc           #8                  // String GPT_3_5_TURBO\n+         4: ldc           #75                 // String GPT_3_5_TURBO\n          6: iconst_0\n-         7: ldc           #9                  // String gpt-3.5-turbo\n-         9: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        12: putstatic     #11                 // Field GPT_3_5_TURBO:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        15: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+         7: ldc           #76                 // String gpt-3.5-turbo\n+         9: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        12: putstatic     #3                  // Field GPT_3_5_TURBO:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        15: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n         18: dup\n-        19: ldc           #12                 // String GPT_3_5_TURBO_0613\n+        19: ldc           #81                 // String GPT_3_5_TURBO_0613\n         21: iconst_1\n-        22: ldc           #13                 // String gpt-3.5-turbo-0613\n-        24: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        27: putstatic     #14                 // Field GPT_3_5_TURBO_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        30: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+        22: ldc           #82                 // String gpt-3.5-turbo-0613\n+        24: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        27: putstatic     #7                  // Field GPT_3_5_TURBO_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        30: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n         33: dup\n-        34: ldc           #15                 // String GPT_3_5_TURBO_1106\n+        34: ldc           #84                 // String GPT_3_5_TURBO_1106\n         36: iconst_2\n-        37: ldc           #16                 // String gpt-3.5-turbo-1106\n-        39: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        42: putstatic     #17                 // Field GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        45: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+        37: ldc           #85                 // String gpt-3.5-turbo-1106\n+        39: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        42: putstatic     #10                 // Field GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        45: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n         48: dup\n-        49: ldc           #18                 // String GPT_3_5_TURBO_0125\n+        49: ldc           #87                 // String GPT_3_5_TURBO_0125\n         51: iconst_3\n-        52: ldc           #19                 // String gpt-3.5-turbo-0125\n-        54: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        57: putstatic     #20                 // Field GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        60: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+        52: ldc           #88                 // String gpt-3.5-turbo-0125\n+        54: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        57: putstatic     #13                 // Field GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        60: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n         63: dup\n-        64: ldc           #21                 // String GPT_3_5_TURBO_16K\n+        64: ldc           #90                 // String GPT_3_5_TURBO_16K\n         66: iconst_4\n-        67: ldc           #22                 // String gpt-3.5-turbo-16k\n-        69: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        72: putstatic     #23                 // Field GPT_3_5_TURBO_16K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        75: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+        67: ldc           #91                 // String gpt-3.5-turbo-16k\n+        69: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        72: putstatic     #16                 // Field GPT_3_5_TURBO_16K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        75: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n         78: dup\n-        79: ldc           #24                 // String GPT_3_5_TURBO_16K_0613\n+        79: ldc           #93                 // String GPT_3_5_TURBO_16K_0613\n         81: iconst_5\n-        82: ldc           #25                 // String gpt-3.5-turbo-16k-0613\n-        84: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        87: putstatic     #26                 // Field GPT_3_5_TURBO_16K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        90: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+        82: ldc           #94                 // String gpt-3.5-turbo-16k-0613\n+        84: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        87: putstatic     #19                 // Field GPT_3_5_TURBO_16K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        90: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n         93: dup\n-        94: ldc           #27                 // String GPT_4\n+        94: ldc           #96                 // String GPT_4\n         96: bipush        6\n-        98: ldc           #28                 // String gpt-4\n-       100: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       103: putstatic     #29                 // Field GPT_4:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       106: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+        98: ldc           #97                 // String gpt-4\n+       100: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       103: putstatic     #22                 // Field GPT_4:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       106: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n        109: dup\n-       110: ldc           #30                 // String GPT_4_0314\n+       110: ldc           #99                 // String GPT_4_0314\n        112: bipush        7\n-       114: ldc           #31                 // String gpt-4-0314\n-       116: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       119: putstatic     #32                 // Field GPT_4_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       122: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+       114: ldc           #100                // String gpt-4-0314\n+       116: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       119: putstatic     #25                 // Field GPT_4_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       122: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n        125: dup\n-       126: ldc           #33                 // String GPT_4_0613\n+       126: ldc           #102                // String GPT_4_0613\n        128: bipush        8\n-       130: ldc           #34                 // String gpt-4-0613\n-       132: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       135: putstatic     #35                 // Field GPT_4_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       138: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+       130: ldc           #103                // String gpt-4-0613\n+       132: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       135: putstatic     #28                 // Field GPT_4_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       138: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n        141: dup\n-       142: ldc           #36                 // String GPT_4_TURBO_PREVIEW\n+       142: ldc           #105                // String GPT_4_TURBO_PREVIEW\n        144: bipush        9\n-       146: ldc           #37                 // String gpt-4-turbo-preview\n-       148: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       151: putstatic     #38                 // Field GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       154: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+       146: ldc           #106                // String gpt-4-turbo-preview\n+       148: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       151: putstatic     #31                 // Field GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       154: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n        157: dup\n-       158: ldc           #39                 // String GPT_4_1106_PREVIEW\n+       158: ldc           #108                // String GPT_4_1106_PREVIEW\n        160: bipush        10\n-       162: ldc           #40                 // String gpt-4-1106-preview\n-       164: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       167: putstatic     #41                 // Field GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       170: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+       162: ldc           #109                // String gpt-4-1106-preview\n+       164: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       167: putstatic     #34                 // Field GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       170: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n        173: dup\n-       174: ldc           #42                 // String GPT_4_0125_PREVIEW\n+       174: ldc           #111                // String GPT_4_0125_PREVIEW\n        176: bipush        11\n-       178: ldc           #43                 // String gpt-4-0125-preview\n-       180: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       183: putstatic     #44                 // Field GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       186: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+       178: ldc           #112                // String gpt-4-0125-preview\n+       180: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       183: putstatic     #37                 // Field GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       186: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n        189: dup\n-       190: ldc           #45                 // String GPT_4_32K\n+       190: ldc           #114                // String GPT_4_32K\n        192: bipush        12\n-       194: ldc           #46                 // String gpt-4-32k\n-       196: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       199: putstatic     #47                 // Field GPT_4_32K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       202: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+       194: ldc           #115                // String gpt-4-32k\n+       196: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       199: putstatic     #40                 // Field GPT_4_32K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       202: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n        205: dup\n-       206: ldc           #48                 // String GPT_4_32K_0314\n+       206: ldc           #117                // String GPT_4_32K_0314\n        208: bipush        13\n-       210: ldc           #49                 // String gpt-4-32k-0314\n-       212: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       215: putstatic     #50                 // Field GPT_4_32K_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       218: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+       210: ldc           #118                // String gpt-4-32k-0314\n+       212: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       215: putstatic     #43                 // Field GPT_4_32K_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       218: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n        221: dup\n-       222: ldc           #51                 // String GPT_4_32K_0613\n+       222: ldc           #120                // String GPT_4_32K_0613\n        224: bipush        14\n-       226: ldc           #52                 // String gpt-4-32k-0613\n-       228: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       231: putstatic     #53                 // Field GPT_4_32K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       234: new           #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n+       226: ldc           #121                // String gpt-4-32k-0613\n+       228: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       231: putstatic     #46                 // Field GPT_4_32K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       234: new           #1                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n        237: dup\n-       238: ldc           #54                 // String GPT_4_VISION_PREVIEW\n+       238: ldc           #123                // String GPT_4_VISION_PREVIEW\n        240: bipush        15\n-       242: ldc           #55                 // String gpt-4-vision-preview\n-       244: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-       247: putstatic     #56                 // Field GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       250: bipush        16\n-       252: anewarray     #4                  // class dev/langchain4j/model/openai/OpenAiChatModelName\n-       255: dup\n-       256: iconst_0\n-       257: getstatic     #11                 // Field GPT_3_5_TURBO:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       260: aastore\n-       261: dup\n-       262: iconst_1\n-       263: getstatic     #14                 // Field GPT_3_5_TURBO_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       266: aastore\n-       267: dup\n-       268: iconst_2\n-       269: getstatic     #17                 // Field GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       272: aastore\n-       273: dup\n-       274: iconst_3\n-       275: getstatic     #20                 // Field GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       278: aastore\n-       279: dup\n-       280: iconst_4\n-       281: getstatic     #23                 // Field GPT_3_5_TURBO_16K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       284: aastore\n-       285: dup\n-       286: iconst_5\n-       287: getstatic     #26                 // Field GPT_3_5_TURBO_16K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       290: aastore\n-       291: dup\n-       292: bipush        6\n-       294: getstatic     #29                 // Field GPT_4:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       297: aastore\n-       298: dup\n-       299: bipush        7\n-       301: getstatic     #32                 // Field GPT_4_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       304: aastore\n-       305: dup\n-       306: bipush        8\n-       308: getstatic     #35                 // Field GPT_4_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       311: aastore\n-       312: dup\n-       313: bipush        9\n-       315: getstatic     #38                 // Field GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       318: aastore\n-       319: dup\n-       320: bipush        10\n-       322: getstatic     #41                 // Field GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       325: aastore\n-       326: dup\n-       327: bipush        11\n-       329: getstatic     #44                 // Field GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       332: aastore\n-       333: dup\n-       334: bipush        12\n-       336: getstatic     #47                 // Field GPT_4_32K:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       339: aastore\n-       340: dup\n-       341: bipush        13\n-       343: getstatic     #50                 // Field GPT_4_32K_0314:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       346: aastore\n-       347: dup\n-       348: bipush        14\n-       350: getstatic     #53                 // Field GPT_4_32K_0613:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       353: aastore\n-       354: dup\n-       355: bipush        15\n-       357: getstatic     #56                 // Field GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       360: aastore\n-       361: putstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       364: return\n+       242: ldc           #124                // String gpt-4-vision-preview\n+       244: invokespecial #78                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+       247: putstatic     #49                 // Field GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       250: invokestatic  #126                // Method $values:()[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       253: putstatic     #52                 // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       256: return\n       LineNumberTable:\n         line 5: 0\n         line 6: 15\n         line 7: 30\n         line 8: 45\n         line 10: 60\n         line 11: 75\n@@ -489,9 +501,9 @@\n         line 19: 170\n         line 21: 186\n         line 22: 202\n         line 23: 218\n         line 25: 234\n         line 3: 250\n }\n-Signature: #96                          // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiChatModelName;>;\n+Signature: #143                         // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiChatModelName;>;\n SourceFile: \"OpenAiChatModelName.java\"\n"}]}, {"source1": "dev/langchain4j/model/openai/InternalOpenAiHelper.class", "source2": "dev/langchain4j/model/openai/InternalOpenAiHelper.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,660 +1,652 @@\n-  SHA-256 checksum b1f8c95c2f177f62439426d6fffc972dd1cc593f84ab33cdf90b8a52a88c37d0\n+  SHA-256 checksum c54e76831a349b1afa0b342490431dc9269e8adcab47cdf843b9467e73a664eb\n   Compiled from \"InternalOpenAiHelper.java\"\n public class dev.langchain4j.model.openai.InternalOpenAiHelper\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #149                        // dev/langchain4j/model/openai/InternalOpenAiHelper\n-  super_class: #54                        // java/lang/Object\n+  this_class: #187                        // dev/langchain4j/model/openai/InternalOpenAiHelper\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 3, methods: 19, attributes: 3\n Constant pool:\n-    #1 = Methodref          #54.#266      // java/lang/Object.\"<init>\":()V\n-    #2 = InterfaceMethodref #7.#267       // java/util/List.stream:()Ljava/util/stream/Stream;\n-    #3 = InvokeDynamic      #0:#273       // #0:apply:()Ljava/util/function/Function;\n-    #4 = InterfaceMethodref #274.#275     // java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-    #5 = Methodref          #276.#277     // java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-    #6 = InterfaceMethodref #274.#278     // java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-    #7 = Class              #279          // java/util/List\n-    #8 = Class              #280          // dev/langchain4j/data/message/SystemMessage\n-    #9 = Methodref          #8.#281       // dev/langchain4j/data/message/SystemMessage.text:()Ljava/lang/String;\n-   #10 = Methodref          #282.#283     // dev/ai4j/openai4j/chat/SystemMessage.from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/SystemMessage;\n-   #11 = Class              #284          // dev/langchain4j/data/message/UserMessage\n-   #12 = Methodref          #11.#285      // dev/langchain4j/data/message/UserMessage.hasSingleText:()Z\n-   #13 = Methodref          #286.#287     // dev/ai4j/openai4j/chat/UserMessage.builder:()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-   #14 = Methodref          #11.#281      // dev/langchain4j/data/message/UserMessage.text:()Ljava/lang/String;\n-   #15 = Methodref          #288.#289     // dev/ai4j/openai4j/chat/UserMessage$Builder.content:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-   #16 = Methodref          #11.#290      // dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n-   #17 = Methodref          #288.#291     // dev/ai4j/openai4j/chat/UserMessage$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-   #18 = Methodref          #288.#292     // dev/ai4j/openai4j/chat/UserMessage$Builder.build:()Ldev/ai4j/openai4j/chat/UserMessage;\n-   #19 = Methodref          #11.#293      // dev/langchain4j/data/message/UserMessage.contents:()Ljava/util/List;\n-   #20 = InvokeDynamic      #1:#273       // #1:apply:()Ljava/util/function/Function;\n-   #21 = Methodref          #288.#296     // dev/ai4j/openai4j/chat/UserMessage$Builder.content:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-   #22 = Class              #297          // dev/langchain4j/data/message/AiMessage\n-   #23 = Methodref          #22.#298      // dev/langchain4j/data/message/AiMessage.hasToolExecutionRequests:()Z\n-   #24 = Methodref          #22.#281      // dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n-   #25 = Methodref          #299.#300     // dev/ai4j/openai4j/chat/AssistantMessage.from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/AssistantMessage;\n-   #26 = Methodref          #22.#301      // dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n-   #27 = InterfaceMethodref #7.#302       // java/util/List.get:(I)Ljava/lang/Object;\n-   #28 = Class              #303          // dev/langchain4j/agent/tool/ToolExecutionRequest\n-   #29 = Methodref          #28.#304      // dev/langchain4j/agent/tool/ToolExecutionRequest.id:()Ljava/lang/String;\n-   #30 = Methodref          #305.#306     // dev/ai4j/openai4j/chat/FunctionCall.builder:()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-   #31 = Methodref          #28.#290      // dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n-   #32 = Methodref          #307.#308     // dev/ai4j/openai4j/chat/FunctionCall$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-   #33 = Methodref          #28.#309      // dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-   #34 = Methodref          #307.#310     // dev/ai4j/openai4j/chat/FunctionCall$Builder.arguments:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-   #35 = Methodref          #307.#311     // dev/ai4j/openai4j/chat/FunctionCall$Builder.build:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-   #36 = Methodref          #299.#312     // dev/ai4j/openai4j/chat/AssistantMessage.builder:()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-   #37 = Methodref          #313.#314     // dev/ai4j/openai4j/chat/AssistantMessage$Builder.functionCall:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-   #38 = Methodref          #313.#315     // dev/ai4j/openai4j/chat/AssistantMessage$Builder.build:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n-   #39 = InvokeDynamic      #2:#273       // #2:apply:()Ljava/util/function/Function;\n-   #40 = Methodref          #313.#318     // dev/ai4j/openai4j/chat/AssistantMessage$Builder.toolCalls:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-   #41 = Class              #319          // dev/langchain4j/data/message/ToolExecutionResultMessage\n-   #42 = Methodref          #41.#304      // dev/langchain4j/data/message/ToolExecutionResultMessage.id:()Ljava/lang/String;\n-   #43 = Methodref          #41.#320      // dev/langchain4j/data/message/ToolExecutionResultMessage.toolName:()Ljava/lang/String;\n-   #44 = Methodref          #41.#281      // dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n-   #45 = Methodref          #321.#322     // dev/ai4j/openai4j/chat/FunctionMessage.from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionMessage;\n-   #46 = Methodref          #323.#324     // dev/ai4j/openai4j/chat/ToolMessage.from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolMessage;\n-   #47 = Class              #325          // java/lang/StringBuilder\n-   #48 = Methodref          #47.#266      // java/lang/StringBuilder.\"<init>\":()V\n-   #49 = String             #326          // Unknown message type:\n-   #50 = Methodref          #47.#327      // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #51 = InterfaceMethodref #328.#329     // dev/langchain4j/data/message/ChatMessage.type:()Ldev/langchain4j/data/message/ChatMessageType;\n-   #52 = Methodref          #47.#330      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #53 = Methodref          #47.#331      // java/lang/StringBuilder.toString:()Ljava/lang/String;\n-   #54 = Class              #332          // java/lang/Object\n-   #55 = Methodref          #333.#334     // dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n-   #56 = Class              #335          // dev/langchain4j/data/message/TextContent\n-   #57 = Methodref          #149.#336     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/TextContent;)Ldev/ai4j/openai4j/chat/Content;\n-   #58 = Class              #337          // dev/langchain4j/data/message/ImageContent\n-   #59 = Methodref          #149.#338     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/ImageContent;)Ldev/ai4j/openai4j/chat/Content;\n-   #60 = String             #339          // Unknown content type:\n-   #61 = Methodref          #340.#341     // dev/ai4j/openai4j/chat/Content.builder:()Ldev/ai4j/openai4j/chat/Content$Builder;\n-   #62 = Fieldref           #342.#343     // dev/ai4j/openai4j/chat/ContentType.TEXT:Ldev/ai4j/openai4j/chat/ContentType;\n-   #63 = Methodref          #344.#345     // dev/ai4j/openai4j/chat/Content$Builder.type:(Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-   #64 = Methodref          #56.#281      // dev/langchain4j/data/message/TextContent.text:()Ljava/lang/String;\n-   #65 = Methodref          #344.#346     // dev/ai4j/openai4j/chat/Content$Builder.text:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-   #66 = Methodref          #344.#347     // dev/ai4j/openai4j/chat/Content$Builder.build:()Ldev/ai4j/openai4j/chat/Content;\n-   #67 = Fieldref           #342.#348     // dev/ai4j/openai4j/chat/ContentType.IMAGE_URL:Ldev/ai4j/openai4j/chat/ContentType;\n-   #68 = Methodref          #349.#350     // dev/ai4j/openai4j/chat/ImageUrl.builder:()Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-   #69 = Methodref          #58.#351      // dev/langchain4j/data/message/ImageContent.image:()Ldev/langchain4j/data/image/Image;\n-   #70 = Methodref          #149.#352     // dev/langchain4j/model/openai/InternalOpenAiHelper.toUrl:(Ldev/langchain4j/data/image/Image;)Ljava/lang/String;\n-   #71 = Methodref          #353.#354     // dev/ai4j/openai4j/chat/ImageUrl$Builder.url:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-   #72 = Methodref          #58.#355      // dev/langchain4j/data/message/ImageContent.detailLevel:()Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n-   #73 = Methodref          #149.#356     // dev/langchain4j/model/openai/InternalOpenAiHelper.toDetail:(Ldev/langchain4j/data/message/ImageContent$DetailLevel;)Ldev/ai4j/openai4j/chat/ImageDetail;\n-   #74 = Methodref          #353.#357     // dev/ai4j/openai4j/chat/ImageUrl$Builder.detail:(Ldev/ai4j/openai4j/chat/ImageDetail;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-   #75 = Methodref          #353.#358     // dev/ai4j/openai4j/chat/ImageUrl$Builder.build:()Ldev/ai4j/openai4j/chat/ImageUrl;\n-   #76 = Methodref          #344.#359     // dev/ai4j/openai4j/chat/Content$Builder.imageUrl:(Ldev/ai4j/openai4j/chat/ImageUrl;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-   #77 = Methodref          #360.#361     // dev/langchain4j/data/image/Image.url:()Ljava/net/URI;\n-   #78 = Methodref          #362.#331     // java/net/URI.toString:()Ljava/lang/String;\n-   #79 = String             #363          // data:%s;base64,%s\n-   #80 = Methodref          #360.#364     // dev/langchain4j/data/image/Image.mimeType:()Ljava/lang/String;\n-   #81 = Methodref          #360.#365     // dev/langchain4j/data/image/Image.base64Data:()Ljava/lang/String;\n-   #82 = Methodref          #366.#367     // java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;\n-   #83 = Methodref          #207.#290     // dev/langchain4j/data/message/ImageContent$DetailLevel.name:()Ljava/lang/String;\n-   #84 = Methodref          #368.#369     // dev/ai4j/openai4j/chat/ImageDetail.valueOf:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageDetail;\n-   #85 = InterfaceMethodref #370.#267     // java/util/Collection.stream:()Ljava/util/stream/Stream;\n-   #86 = InvokeDynamic      #3:#273       // #3:apply:()Ljava/util/function/Function;\n-   #87 = Methodref          #373.#374     // dev/ai4j/openai4j/chat/Function.builder:()Ldev/ai4j/openai4j/chat/Function$Builder;\n-   #88 = Methodref          #375.#290     // dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n-   #89 = Methodref          #376.#377     // dev/ai4j/openai4j/chat/Function$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-   #90 = Methodref          #375.#378     // dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n-   #91 = Methodref          #376.#379     // dev/ai4j/openai4j/chat/Function$Builder.description:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-   #92 = Methodref          #375.#380     // dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n-   #93 = Methodref          #149.#381     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n-   #94 = Methodref          #376.#382     // dev/ai4j/openai4j/chat/Function$Builder.parameters:(Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-   #95 = Methodref          #376.#383     // dev/ai4j/openai4j/chat/Function$Builder.build:()Ldev/ai4j/openai4j/chat/Function;\n-   #96 = Methodref          #384.#385     // dev/ai4j/openai4j/chat/Tool.from:(Ldev/ai4j/openai4j/chat/Function;)Ldev/ai4j/openai4j/chat/Tool;\n-   #97 = InvokeDynamic      #4:#273       // #4:apply:()Ljava/util/function/Function;\n-   #98 = Methodref          #388.#389     // dev/ai4j/openai4j/chat/Parameters.builder:()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-   #99 = Methodref          #390.#391     // dev/ai4j/openai4j/chat/Parameters$Builder.build:()Ldev/ai4j/openai4j/chat/Parameters;\n-  #100 = Methodref          #392.#393     // dev/langchain4j/agent/tool/ToolParameters.properties:()Ljava/util/Map;\n-  #101 = Methodref          #390.#394     // dev/ai4j/openai4j/chat/Parameters$Builder.properties:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-  #102 = Methodref          #392.#395     // dev/langchain4j/agent/tool/ToolParameters.required:()Ljava/util/List;\n-  #103 = Methodref          #390.#396     // dev/ai4j/openai4j/chat/Parameters$Builder.required:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-  #104 = Methodref          #397.#398     // dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n-  #105 = Class              #399          // dev/ai4j/openai4j/chat/ChatCompletionChoice\n-  #106 = Methodref          #105.#400     // dev/ai4j/openai4j/chat/ChatCompletionChoice.message:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n-  #107 = Methodref          #299.#401     // dev/ai4j/openai4j/chat/AssistantMessage.toolCalls:()Ljava/util/List;\n-  #108 = Methodref          #402.#403     // dev/langchain4j/internal/Utils.isNullOrEmpty:(Ljava/util/Collection;)Z\n-  #109 = InvokeDynamic      #5:#407       // #5:test:()Ljava/util/function/Predicate;\n-  #110 = InterfaceMethodref #274.#408     // java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;\n-  #111 = InvokeDynamic      #6:#273       // #6:apply:()Ljava/util/function/Function;\n-  #112 = Methodref          #22.#411      // dev/langchain4j/data/message/AiMessage.aiMessage:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n-  #113 = Methodref          #299.#412     // dev/ai4j/openai4j/chat/AssistantMessage.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #114 = Methodref          #28.#413      // dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #115 = Methodref          #305.#290     // dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n-  #116 = Methodref          #414.#415     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #117 = Methodref          #305.#309     // dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n-  #118 = Methodref          #414.#416     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #119 = Methodref          #414.#417     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #120 = Methodref          #22.#418      // dev/langchain4j/data/message/AiMessage.aiMessage:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n-  #121 = Methodref          #299.#419     // dev/ai4j/openai4j/chat/AssistantMessage.content:()Ljava/lang/String;\n-  #122 = Methodref          #22.#420      // dev/langchain4j/data/message/AiMessage.aiMessage:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n-  #123 = Methodref          #421.#422     // dev/ai4j/openai4j/chat/ToolCall.function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #124 = Methodref          #421.#304     // dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n-  #125 = Methodref          #414.#423     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #126 = Class              #424          // dev/langchain4j/model/output/TokenUsage\n-  #127 = Methodref          #425.#426     // dev/ai4j/openai4j/shared/Usage.promptTokens:()Ljava/lang/Integer;\n-  #128 = Methodref          #425.#427     // dev/ai4j/openai4j/shared/Usage.completionTokens:()Ljava/lang/Integer;\n-  #129 = Methodref          #425.#428     // dev/ai4j/openai4j/shared/Usage.totalTokens:()Ljava/lang/Integer;\n-  #130 = Methodref          #126.#429     // dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V\n-  #131 = Methodref          #366.#430     // java/lang/String.hashCode:()I\n-  #132 = String             #431          // stop\n-  #133 = Methodref          #366.#432     // java/lang/String.equals:(Ljava/lang/Object;)Z\n-  #134 = String             #433          // length\n-  #135 = String             #434          // tool_calls\n-  #136 = String             #435          // function_call\n-  #137 = String             #436          // content_filter\n-  #138 = Fieldref           #437.#438     // dev/langchain4j/model/output/FinishReason.STOP:Ldev/langchain4j/model/output/FinishReason;\n-  #139 = Fieldref           #437.#439     // dev/langchain4j/model/output/FinishReason.LENGTH:Ldev/langchain4j/model/output/FinishReason;\n-  #140 = Fieldref           #437.#440     // dev/langchain4j/model/output/FinishReason.TOOL_EXECUTION:Ldev/langchain4j/model/output/FinishReason;\n-  #141 = Fieldref           #437.#441     // dev/langchain4j/model/output/FinishReason.CONTENT_FILTER:Ldev/langchain4j/model/output/FinishReason;\n-  #142 = Methodref          #421.#442     // dev/ai4j/openai4j/chat/ToolCall.type:()Ldev/ai4j/openai4j/chat/ToolType;\n-  #143 = Fieldref           #443.#444     // dev/ai4j/openai4j/chat/ToolType.FUNCTION:Ldev/ai4j/openai4j/chat/ToolType;\n-  #144 = Methodref          #421.#445     // dev/ai4j/openai4j/chat/ToolCall.builder:()Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #145 = Methodref          #446.#447     // dev/ai4j/openai4j/chat/ToolCall$Builder.id:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #146 = Methodref          #446.#448     // dev/ai4j/openai4j/chat/ToolCall$Builder.type:(Ldev/ai4j/openai4j/chat/ToolType;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #147 = Methodref          #446.#449     // dev/ai4j/openai4j/chat/ToolCall$Builder.function:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #148 = Methodref          #446.#450     // dev/ai4j/openai4j/chat/ToolCall$Builder.build:()Ldev/ai4j/openai4j/chat/ToolCall;\n-  #149 = Class              #451          // dev/langchain4j/model/openai/InternalOpenAiHelper\n-  #150 = Utf8               OPENAI_URL\n-  #151 = Utf8               Ljava/lang/String;\n-  #152 = Utf8               ConstantValue\n-  #153 = String             #452          // https://api.openai.com/v1\n-  #154 = Utf8               OPENAI_DEMO_API_KEY\n-  #155 = String             #453          // demo\n-  #156 = Utf8               OPENAI_DEMO_URL\n-  #157 = String             #454          // http://langchain4j.dev/demo/openai/v1\n-  #158 = Utf8               <init>\n-  #159 = Utf8               ()V\n-  #160 = Utf8               Code\n-  #161 = Utf8               LineNumberTable\n-  #162 = Utf8               LocalVariableTable\n-  #163 = Utf8               this\n-  #164 = Utf8               Ldev/langchain4j/model/openai/InternalOpenAiHelper;\n-  #165 = Utf8               toOpenAiMessages\n-  #166 = Utf8               (Ljava/util/List;)Ljava/util/List;\n-  #167 = Utf8               messages\n-  #168 = Utf8               Ljava/util/List;\n-  #169 = Utf8               LocalVariableTypeTable\n-  #170 = Utf8               Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n-  #171 = Utf8               Signature\n-  #172 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Message;>;\n-  #173 = Utf8               toOpenAiMessage\n-  #174 = Utf8               (Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n-  #175 = Utf8               userMessage\n-  #176 = Utf8               Ldev/langchain4j/data/message/UserMessage;\n-  #177 = Utf8               functionCall\n-  #178 = Utf8               Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #179 = Utf8               aiMessage\n-  #180 = Utf8               Ldev/langchain4j/data/message/AiMessage;\n-  #181 = Utf8               toolExecutionRequest\n-  #182 = Utf8               Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #183 = Utf8               toolCalls\n-  #184 = Utf8               toolExecutionResultMessage\n-  #185 = Utf8               Ldev/langchain4j/data/message/ToolExecutionResultMessage;\n-  #186 = Utf8               message\n-  #187 = Utf8               Ldev/langchain4j/data/message/ChatMessage;\n-  #188 = Utf8               Ljava/util/List<Ldev/ai4j/openai4j/chat/ToolCall;>;\n-  #189 = Utf8               StackMapTable\n-  #190 = Class              #284          // dev/langchain4j/data/message/UserMessage\n-  #191 = Class              #297          // dev/langchain4j/data/message/AiMessage\n-  #192 = Class              #303          // dev/langchain4j/agent/tool/ToolExecutionRequest\n-  #193 = Class              #319          // dev/langchain4j/data/message/ToolExecutionResultMessage\n-  #194 = Utf8               toOpenAiContent\n-  #195 = Utf8               (Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n-  #196 = Utf8               content\n-  #197 = Utf8               Ldev/langchain4j/data/message/Content;\n-  #198 = Utf8               (Ldev/langchain4j/data/message/TextContent;)Ldev/ai4j/openai4j/chat/Content;\n-  #199 = Utf8               Ldev/langchain4j/data/message/TextContent;\n-  #200 = Utf8               (Ldev/langchain4j/data/message/ImageContent;)Ldev/ai4j/openai4j/chat/Content;\n-  #201 = Utf8               Ldev/langchain4j/data/message/ImageContent;\n-  #202 = Utf8               toUrl\n-  #203 = Utf8               (Ldev/langchain4j/data/image/Image;)Ljava/lang/String;\n-  #204 = Utf8               image\n-  #205 = Utf8               Ldev/langchain4j/data/image/Image;\n-  #206 = Utf8               toDetail\n-  #207 = Class              #455          // dev/langchain4j/data/message/ImageContent$DetailLevel\n-  #208 = Utf8               DetailLevel\n-  #209 = Utf8               InnerClasses\n-  #210 = Utf8               (Ldev/langchain4j/data/message/ImageContent$DetailLevel;)Ldev/ai4j/openai4j/chat/ImageDetail;\n-  #211 = Utf8               detailLevel\n-  #212 = Utf8               Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n-  #213 = Utf8               toTools\n-  #214 = Utf8               (Ljava/util/Collection;)Ljava/util/List;\n-  #215 = Utf8               toolSpecifications\n-  #216 = Utf8               Ljava/util/Collection;\n-  #217 = Utf8               Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n-  #218 = Utf8               (Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Tool;>;\n-  #219 = Utf8               toTool\n-  #220 = Utf8               (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n-  #221 = Utf8               toolSpecification\n-  #222 = Utf8               Ldev/langchain4j/agent/tool/ToolSpecification;\n-  #223 = Utf8               function\n-  #224 = Utf8               Ldev/ai4j/openai4j/chat/Function;\n-  #225 = Utf8               toFunctions\n-  #226 = Utf8               Deprecated\n-  #227 = Utf8               (Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Function;>;\n-  #228 = Utf8               RuntimeVisibleAnnotations\n-  #229 = Utf8               Ljava/lang/Deprecated;\n-  #230 = Utf8               toFunction\n-  #231 = Utf8               (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n-  #232 = Utf8               toOpenAiParameters\n-  #233 = Utf8               (Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n-  #234 = Utf8               toolParameters\n-  #235 = Utf8               Ldev/langchain4j/agent/tool/ToolParameters;\n-  #236 = Utf8               aiMessageFrom\n-  #237 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n-  #238 = Utf8               toolExecutionRequests\n-  #239 = Utf8               response\n-  #240 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  #241 = Utf8               assistantMessage\n-  #242 = Utf8               Ldev/ai4j/openai4j/chat/AssistantMessage;\n-  #243 = Utf8               Ljava/util/List<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;\n-  #244 = Class              #456          // dev/ai4j/openai4j/chat/AssistantMessage\n-  #245 = Class              #279          // java/util/List\n-  #246 = Class              #457          // dev/ai4j/openai4j/chat/FunctionCall\n-  #247 = Utf8               toToolExecutionRequest\n-  #248 = Utf8               (Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #249 = Utf8               toolCall\n-  #250 = Utf8               Ldev/ai4j/openai4j/chat/ToolCall;\n-  #251 = Utf8               tokenUsageFrom\n-  #252 = Utf8               (Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-  #253 = Utf8               openAiUsage\n-  #254 = Utf8               Ldev/ai4j/openai4j/shared/Usage;\n-  #255 = Utf8               finishReasonFrom\n-  #256 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-  #257 = Utf8               openAiFinishReason\n-  #258 = Class              #458          // java/lang/String\n-  #259 = Utf8               lambda$aiMessageFrom$1\n-  #260 = Utf8               (Ldev/ai4j/openai4j/chat/ToolCall;)Z\n-  #261 = Utf8               lambda$toOpenAiMessage$0\n-  #262 = Utf8               (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n-  #263 = Utf8               it\n-  #264 = Utf8               SourceFile\n-  #265 = Utf8               InternalOpenAiHelper.java\n-  #266 = NameAndType        #158:#159     // \"<init>\":()V\n-  #267 = NameAndType        #459:#460     // stream:()Ljava/util/stream/Stream;\n-  #268 = Utf8               BootstrapMethods\n-  #269 = MethodHandle       6:#461        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #270 = MethodType         #462          //  (Ljava/lang/Object;)Ljava/lang/Object;\n-  #271 = MethodHandle       6:#463        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessage:(Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n-  #272 = MethodType         #174          //  (Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n-  #273 = NameAndType        #464:#465     // apply:()Ljava/util/function/Function;\n-  #274 = Class              #466          // java/util/stream/Stream\n-  #275 = NameAndType        #467:#468     // map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-  #276 = Class              #469          // java/util/stream/Collectors\n-  #277 = NameAndType        #470:#471     // toList:()Ljava/util/stream/Collector;\n-  #278 = NameAndType        #472:#473     // collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-  #279 = Utf8               java/util/List\n-  #280 = Utf8               dev/langchain4j/data/message/SystemMessage\n-  #281 = NameAndType        #474:#475     // text:()Ljava/lang/String;\n-  #282 = Class              #476          // dev/ai4j/openai4j/chat/SystemMessage\n-  #283 = NameAndType        #477:#478     // from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/SystemMessage;\n-  #284 = Utf8               dev/langchain4j/data/message/UserMessage\n-  #285 = NameAndType        #479:#480     // hasSingleText:()Z\n-  #286 = Class              #481          // dev/ai4j/openai4j/chat/UserMessage\n-  #287 = NameAndType        #482:#484     // builder:()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-  #288 = Class              #485          // dev/ai4j/openai4j/chat/UserMessage$Builder\n-  #289 = NameAndType        #196:#486     // content:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-  #290 = NameAndType        #487:#475     // name:()Ljava/lang/String;\n-  #291 = NameAndType        #487:#486     // name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-  #292 = NameAndType        #488:#489     // build:()Ldev/ai4j/openai4j/chat/UserMessage;\n-  #293 = NameAndType        #490:#491     // contents:()Ljava/util/List;\n-  #294 = MethodHandle       6:#492        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n-  #295 = MethodType         #195          //  (Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n-  #296 = NameAndType        #196:#493     // content:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-  #297 = Utf8               dev/langchain4j/data/message/AiMessage\n-  #298 = NameAndType        #494:#480     // hasToolExecutionRequests:()Z\n-  #299 = Class              #456          // dev/ai4j/openai4j/chat/AssistantMessage\n-  #300 = NameAndType        #477:#495     // from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/AssistantMessage;\n-  #301 = NameAndType        #238:#491     // toolExecutionRequests:()Ljava/util/List;\n-  #302 = NameAndType        #496:#497     // get:(I)Ljava/lang/Object;\n-  #303 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest\n-  #304 = NameAndType        #498:#475     // id:()Ljava/lang/String;\n-  #305 = Class              #457          // dev/ai4j/openai4j/chat/FunctionCall\n-  #306 = NameAndType        #482:#499     // builder:()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-  #307 = Class              #500          // dev/ai4j/openai4j/chat/FunctionCall$Builder\n-  #308 = NameAndType        #487:#501     // name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-  #309 = NameAndType        #502:#475     // arguments:()Ljava/lang/String;\n-  #310 = NameAndType        #502:#501     // arguments:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-  #311 = NameAndType        #488:#503     // build:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #312 = NameAndType        #482:#504     // builder:()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-  #313 = Class              #505          // dev/ai4j/openai4j/chat/AssistantMessage$Builder\n-  #314 = NameAndType        #177:#506     // functionCall:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-  #315 = NameAndType        #488:#507     // build:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n-  #316 = MethodHandle       6:#508        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$toOpenAiMessage$0:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n-  #317 = MethodType         #262          //  (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n-  #318 = NameAndType        #183:#509     // toolCalls:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-  #319 = Utf8               dev/langchain4j/data/message/ToolExecutionResultMessage\n-  #320 = NameAndType        #510:#475     // toolName:()Ljava/lang/String;\n-  #321 = Class              #511          // dev/ai4j/openai4j/chat/FunctionMessage\n-  #322 = NameAndType        #477:#512     // from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionMessage;\n-  #323 = Class              #513          // dev/ai4j/openai4j/chat/ToolMessage\n-  #324 = NameAndType        #477:#514     // from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolMessage;\n-  #325 = Utf8               java/lang/StringBuilder\n-  #326 = Utf8               Unknown message type:\n-  #327 = NameAndType        #515:#516     // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #328 = Class              #517          // dev/langchain4j/data/message/ChatMessage\n-  #329 = NameAndType        #518:#519     // type:()Ldev/langchain4j/data/message/ChatMessageType;\n-  #330 = NameAndType        #515:#520     // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-  #331 = NameAndType        #521:#475     // toString:()Ljava/lang/String;\n-  #332 = Utf8               java/lang/Object\n-  #333 = Class              #522          // dev/langchain4j/internal/Exceptions\n-  #334 = NameAndType        #523:#524     // illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n-  #335 = Utf8               dev/langchain4j/data/message/TextContent\n-  #336 = NameAndType        #194:#198     // toOpenAiContent:(Ldev/langchain4j/data/message/TextContent;)Ldev/ai4j/openai4j/chat/Content;\n-  #337 = Utf8               dev/langchain4j/data/message/ImageContent\n-  #338 = NameAndType        #194:#200     // toOpenAiContent:(Ldev/langchain4j/data/message/ImageContent;)Ldev/ai4j/openai4j/chat/Content;\n-  #339 = Utf8               Unknown content type:\n-  #340 = Class              #525          // dev/ai4j/openai4j/chat/Content\n-  #341 = NameAndType        #482:#526     // builder:()Ldev/ai4j/openai4j/chat/Content$Builder;\n-  #342 = Class              #527          // dev/ai4j/openai4j/chat/ContentType\n-  #343 = NameAndType        #528:#529     // TEXT:Ldev/ai4j/openai4j/chat/ContentType;\n-  #344 = Class              #530          // dev/ai4j/openai4j/chat/Content$Builder\n-  #345 = NameAndType        #518:#531     // type:(Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-  #346 = NameAndType        #474:#532     // text:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-  #347 = NameAndType        #488:#533     // build:()Ldev/ai4j/openai4j/chat/Content;\n-  #348 = NameAndType        #534:#529     // IMAGE_URL:Ldev/ai4j/openai4j/chat/ContentType;\n-  #349 = Class              #535          // dev/ai4j/openai4j/chat/ImageUrl\n-  #350 = NameAndType        #482:#536     // builder:()Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-  #351 = NameAndType        #204:#537     // image:()Ldev/langchain4j/data/image/Image;\n-  #352 = NameAndType        #202:#203     // toUrl:(Ldev/langchain4j/data/image/Image;)Ljava/lang/String;\n-  #353 = Class              #538          // dev/ai4j/openai4j/chat/ImageUrl$Builder\n-  #354 = NameAndType        #539:#540     // url:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-  #355 = NameAndType        #211:#541     // detailLevel:()Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n-  #356 = NameAndType        #206:#210     // toDetail:(Ldev/langchain4j/data/message/ImageContent$DetailLevel;)Ldev/ai4j/openai4j/chat/ImageDetail;\n-  #357 = NameAndType        #542:#543     // detail:(Ldev/ai4j/openai4j/chat/ImageDetail;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-  #358 = NameAndType        #488:#544     // build:()Ldev/ai4j/openai4j/chat/ImageUrl;\n-  #359 = NameAndType        #545:#546     // imageUrl:(Ldev/ai4j/openai4j/chat/ImageUrl;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-  #360 = Class              #547          // dev/langchain4j/data/image/Image\n-  #361 = NameAndType        #539:#548     // url:()Ljava/net/URI;\n-  #362 = Class              #549          // java/net/URI\n-  #363 = Utf8               data:%s;base64,%s\n-  #364 = NameAndType        #550:#475     // mimeType:()Ljava/lang/String;\n-  #365 = NameAndType        #551:#475     // base64Data:()Ljava/lang/String;\n-  #366 = Class              #458          // java/lang/String\n-  #367 = NameAndType        #552:#553     // format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;\n-  #368 = Class              #554          // dev/ai4j/openai4j/chat/ImageDetail\n-  #369 = NameAndType        #555:#556     // valueOf:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageDetail;\n-  #370 = Class              #557          // java/util/Collection\n-  #371 = MethodHandle       6:#558        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toTool:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n-  #372 = MethodType         #220          //  (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n-  #373 = Class              #559          // dev/ai4j/openai4j/chat/Function\n-  #374 = NameAndType        #482:#560     // builder:()Ldev/ai4j/openai4j/chat/Function$Builder;\n-  #375 = Class              #561          // dev/langchain4j/agent/tool/ToolSpecification\n-  #376 = Class              #562          // dev/ai4j/openai4j/chat/Function$Builder\n-  #377 = NameAndType        #487:#563     // name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-  #378 = NameAndType        #564:#475     // description:()Ljava/lang/String;\n-  #379 = NameAndType        #564:#563     // description:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-  #380 = NameAndType        #565:#566     // parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n-  #381 = NameAndType        #232:#233     // toOpenAiParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n-  #382 = NameAndType        #565:#567     // parameters:(Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-  #383 = NameAndType        #488:#568     // build:()Ldev/ai4j/openai4j/chat/Function;\n-  #384 = Class              #569          // dev/ai4j/openai4j/chat/Tool\n-  #385 = NameAndType        #477:#570     // from:(Ldev/ai4j/openai4j/chat/Function;)Ldev/ai4j/openai4j/chat/Tool;\n-  #386 = MethodHandle       6:#571        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toFunction:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n-  #387 = MethodType         #231          //  (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n-  #388 = Class              #572          // dev/ai4j/openai4j/chat/Parameters\n-  #389 = NameAndType        #482:#573     // builder:()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-  #390 = Class              #574          // dev/ai4j/openai4j/chat/Parameters$Builder\n-  #391 = NameAndType        #488:#575     // build:()Ldev/ai4j/openai4j/chat/Parameters;\n-  #392 = Class              #576          // dev/langchain4j/agent/tool/ToolParameters\n-  #393 = NameAndType        #577:#578     // properties:()Ljava/util/Map;\n-  #394 = NameAndType        #577:#579     // properties:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-  #395 = NameAndType        #580:#491     // required:()Ljava/util/List;\n-  #396 = NameAndType        #580:#581     // required:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-  #397 = Class              #582          // dev/ai4j/openai4j/chat/ChatCompletionResponse\n-  #398 = NameAndType        #583:#491     // choices:()Ljava/util/List;\n-  #399 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionChoice\n-  #400 = NameAndType        #186:#507     // message:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n-  #401 = NameAndType        #183:#491     // toolCalls:()Ljava/util/List;\n-  #402 = Class              #584          // dev/langchain4j/internal/Utils\n-  #403 = NameAndType        #585:#586     // isNullOrEmpty:(Ljava/util/Collection;)Z\n-  #404 = MethodType         #587          //  (Ljava/lang/Object;)Z\n-  #405 = MethodHandle       6:#588        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$aiMessageFrom$1:(Ldev/ai4j/openai4j/chat/ToolCall;)Z\n-  #406 = MethodType         #260          //  (Ldev/ai4j/openai4j/chat/ToolCall;)Z\n-  #407 = NameAndType        #589:#590     // test:()Ljava/util/function/Predicate;\n-  #408 = NameAndType        #591:#592     // filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;\n-  #409 = MethodHandle       6:#593        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toToolExecutionRequest:(Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #410 = MethodType         #248          //  (Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #411 = NameAndType        #179:#594     // aiMessage:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n-  #412 = NameAndType        #177:#503     // functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #413 = NameAndType        #482:#595     // builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #414 = Class              #596          // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder\n-  #415 = NameAndType        #487:#597     // name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #416 = NameAndType        #502:#597     // arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #417 = NameAndType        #488:#598     // build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #418 = NameAndType        #179:#599     // aiMessage:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n-  #419 = NameAndType        #196:#475     // content:()Ljava/lang/String;\n-  #420 = NameAndType        #179:#600     // aiMessage:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n-  #421 = Class              #601          // dev/ai4j/openai4j/chat/ToolCall\n-  #422 = NameAndType        #223:#503     // function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #423 = NameAndType        #498:#597     // id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #424 = Utf8               dev/langchain4j/model/output/TokenUsage\n-  #425 = Class              #602          // dev/ai4j/openai4j/shared/Usage\n-  #426 = NameAndType        #603:#604     // promptTokens:()Ljava/lang/Integer;\n-  #427 = NameAndType        #605:#604     // completionTokens:()Ljava/lang/Integer;\n-  #428 = NameAndType        #606:#604     // totalTokens:()Ljava/lang/Integer;\n-  #429 = NameAndType        #158:#607     // \"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V\n-  #430 = NameAndType        #608:#609     // hashCode:()I\n-  #431 = Utf8               stop\n-  #432 = NameAndType        #610:#587     // equals:(Ljava/lang/Object;)Z\n-  #433 = Utf8               length\n-  #434 = Utf8               tool_calls\n-  #435 = Utf8               function_call\n-  #436 = Utf8               content_filter\n-  #437 = Class              #611          // dev/langchain4j/model/output/FinishReason\n-  #438 = NameAndType        #612:#613     // STOP:Ldev/langchain4j/model/output/FinishReason;\n-  #439 = NameAndType        #614:#613     // LENGTH:Ldev/langchain4j/model/output/FinishReason;\n-  #440 = NameAndType        #615:#613     // TOOL_EXECUTION:Ldev/langchain4j/model/output/FinishReason;\n-  #441 = NameAndType        #616:#613     // CONTENT_FILTER:Ldev/langchain4j/model/output/FinishReason;\n-  #442 = NameAndType        #518:#617     // type:()Ldev/ai4j/openai4j/chat/ToolType;\n-  #443 = Class              #618          // dev/ai4j/openai4j/chat/ToolType\n-  #444 = NameAndType        #619:#620     // FUNCTION:Ldev/ai4j/openai4j/chat/ToolType;\n-  #445 = NameAndType        #482:#621     // builder:()Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #446 = Class              #622          // dev/ai4j/openai4j/chat/ToolCall$Builder\n-  #447 = NameAndType        #498:#623     // id:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #448 = NameAndType        #518:#624     // type:(Ldev/ai4j/openai4j/chat/ToolType;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #449 = NameAndType        #223:#625     // function:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #450 = NameAndType        #488:#626     // build:()Ldev/ai4j/openai4j/chat/ToolCall;\n-  #451 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n-  #452 = Utf8               https://api.openai.com/v1\n-  #453 = Utf8               demo\n-  #454 = Utf8               http://langchain4j.dev/demo/openai/v1\n-  #455 = Utf8               dev/langchain4j/data/message/ImageContent$DetailLevel\n-  #456 = Utf8               dev/ai4j/openai4j/chat/AssistantMessage\n-  #457 = Utf8               dev/ai4j/openai4j/chat/FunctionCall\n-  #458 = Utf8               java/lang/String\n-  #459 = Utf8               stream\n-  #460 = Utf8               ()Ljava/util/stream/Stream;\n-  #461 = Methodref          #627.#628     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #462 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n-  #463 = Methodref          #149.#629     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessage:(Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n-  #464 = Utf8               apply\n-  #465 = Utf8               ()Ljava/util/function/Function;\n-  #466 = Utf8               java/util/stream/Stream\n-  #467 = Utf8               map\n-  #468 = Utf8               (Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-  #469 = Utf8               java/util/stream/Collectors\n-  #470 = Utf8               toList\n-  #471 = Utf8               ()Ljava/util/stream/Collector;\n-  #472 = Utf8               collect\n-  #473 = Utf8               (Ljava/util/stream/Collector;)Ljava/lang/Object;\n-  #474 = Utf8               text\n-  #475 = Utf8               ()Ljava/lang/String;\n-  #476 = Utf8               dev/ai4j/openai4j/chat/SystemMessage\n-  #477 = Utf8               from\n-  #478 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/SystemMessage;\n-  #479 = Utf8               hasSingleText\n-  #480 = Utf8               ()Z\n-  #481 = Utf8               dev/ai4j/openai4j/chat/UserMessage\n-  #482 = Utf8               builder\n-  #483 = Utf8               Builder\n-  #484 = Utf8               ()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-  #485 = Utf8               dev/ai4j/openai4j/chat/UserMessage$Builder\n-  #486 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-  #487 = Utf8               name\n-  #488 = Utf8               build\n-  #489 = Utf8               ()Ldev/ai4j/openai4j/chat/UserMessage;\n-  #490 = Utf8               contents\n-  #491 = Utf8               ()Ljava/util/List;\n-  #492 = Methodref          #149.#630     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n-  #493 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-  #494 = Utf8               hasToolExecutionRequests\n-  #495 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/AssistantMessage;\n-  #496 = Utf8               get\n-  #497 = Utf8               (I)Ljava/lang/Object;\n-  #498 = Utf8               id\n-  #499 = Utf8               ()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-  #500 = Utf8               dev/ai4j/openai4j/chat/FunctionCall$Builder\n-  #501 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-  #502 = Utf8               arguments\n-  #503 = Utf8               ()Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #504 = Utf8               ()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-  #505 = Utf8               dev/ai4j/openai4j/chat/AssistantMessage$Builder\n-  #506 = Utf8               (Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-  #507 = Utf8               ()Ldev/ai4j/openai4j/chat/AssistantMessage;\n-  #508 = Methodref          #149.#631     // dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$toOpenAiMessage$0:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n-  #509 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-  #510 = Utf8               toolName\n-  #511 = Utf8               dev/ai4j/openai4j/chat/FunctionMessage\n-  #512 = Utf8               (Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionMessage;\n-  #513 = Utf8               dev/ai4j/openai4j/chat/ToolMessage\n-  #514 = Utf8               (Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolMessage;\n-  #515 = Utf8               append\n-  #516 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #517 = Utf8               dev/langchain4j/data/message/ChatMessage\n-  #518 = Utf8               type\n-  #519 = Utf8               ()Ldev/langchain4j/data/message/ChatMessageType;\n-  #520 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-  #521 = Utf8               toString\n-  #522 = Utf8               dev/langchain4j/internal/Exceptions\n-  #523 = Utf8               illegalArgument\n-  #524 = Utf8               (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n-  #525 = Utf8               dev/ai4j/openai4j/chat/Content\n-  #526 = Utf8               ()Ldev/ai4j/openai4j/chat/Content$Builder;\n-  #527 = Utf8               dev/ai4j/openai4j/chat/ContentType\n-  #528 = Utf8               TEXT\n-  #529 = Utf8               Ldev/ai4j/openai4j/chat/ContentType;\n-  #530 = Utf8               dev/ai4j/openai4j/chat/Content$Builder\n-  #531 = Utf8               (Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-  #532 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-  #533 = Utf8               ()Ldev/ai4j/openai4j/chat/Content;\n-  #534 = Utf8               IMAGE_URL\n-  #535 = Utf8               dev/ai4j/openai4j/chat/ImageUrl\n-  #536 = Utf8               ()Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-  #537 = Utf8               ()Ldev/langchain4j/data/image/Image;\n-  #538 = Utf8               dev/ai4j/openai4j/chat/ImageUrl$Builder\n-  #539 = Utf8               url\n-  #540 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-  #541 = Utf8               ()Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n-  #542 = Utf8               detail\n-  #543 = Utf8               (Ldev/ai4j/openai4j/chat/ImageDetail;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-  #544 = Utf8               ()Ldev/ai4j/openai4j/chat/ImageUrl;\n-  #545 = Utf8               imageUrl\n-  #546 = Utf8               (Ldev/ai4j/openai4j/chat/ImageUrl;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-  #547 = Utf8               dev/langchain4j/data/image/Image\n-  #548 = Utf8               ()Ljava/net/URI;\n-  #549 = Utf8               java/net/URI\n-  #550 = Utf8               mimeType\n-  #551 = Utf8               base64Data\n-  #552 = Utf8               format\n-  #553 = Utf8               (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;\n-  #554 = Utf8               dev/ai4j/openai4j/chat/ImageDetail\n-  #555 = Utf8               valueOf\n-  #556 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageDetail;\n-  #557 = Utf8               java/util/Collection\n-  #558 = Methodref          #149.#632     // dev/langchain4j/model/openai/InternalOpenAiHelper.toTool:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n-  #559 = Utf8               dev/ai4j/openai4j/chat/Function\n-  #560 = Utf8               ()Ldev/ai4j/openai4j/chat/Function$Builder;\n-  #561 = Utf8               dev/langchain4j/agent/tool/ToolSpecification\n-  #562 = Utf8               dev/ai4j/openai4j/chat/Function$Builder\n-  #563 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-  #564 = Utf8               description\n-  #565 = Utf8               parameters\n-  #566 = Utf8               ()Ldev/langchain4j/agent/tool/ToolParameters;\n-  #567 = Utf8               (Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-  #568 = Utf8               ()Ldev/ai4j/openai4j/chat/Function;\n-  #569 = Utf8               dev/ai4j/openai4j/chat/Tool\n-  #570 = Utf8               (Ldev/ai4j/openai4j/chat/Function;)Ldev/ai4j/openai4j/chat/Tool;\n-  #571 = Methodref          #149.#633     // dev/langchain4j/model/openai/InternalOpenAiHelper.toFunction:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n-  #572 = Utf8               dev/ai4j/openai4j/chat/Parameters\n-  #573 = Utf8               ()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-  #574 = Utf8               dev/ai4j/openai4j/chat/Parameters$Builder\n-  #575 = Utf8               ()Ldev/ai4j/openai4j/chat/Parameters;\n-  #576 = Utf8               dev/langchain4j/agent/tool/ToolParameters\n-  #577 = Utf8               properties\n-  #578 = Utf8               ()Ljava/util/Map;\n-  #579 = Utf8               (Ljava/util/Map;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-  #580 = Utf8               required\n-  #581 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-  #582 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionResponse\n-  #583 = Utf8               choices\n-  #584 = Utf8               dev/langchain4j/internal/Utils\n-  #585 = Utf8               isNullOrEmpty\n-  #586 = Utf8               (Ljava/util/Collection;)Z\n-  #587 = Utf8               (Ljava/lang/Object;)Z\n-  #588 = Methodref          #149.#634     // dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$aiMessageFrom$1:(Ldev/ai4j/openai4j/chat/ToolCall;)Z\n-  #589 = Utf8               test\n-  #590 = Utf8               ()Ljava/util/function/Predicate;\n-  #591 = Utf8               filter\n-  #592 = Utf8               (Ljava/util/function/Predicate;)Ljava/util/stream/Stream;\n-  #593 = Methodref          #149.#635     // dev/langchain4j/model/openai/InternalOpenAiHelper.toToolExecutionRequest:(Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #594 = Utf8               (Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n-  #595 = Utf8               ()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #596 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest$Builder\n-  #597 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #598 = Utf8               ()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #599 = Utf8               ([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n-  #600 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n-  #601 = Utf8               dev/ai4j/openai4j/chat/ToolCall\n-  #602 = Utf8               dev/ai4j/openai4j/shared/Usage\n-  #603 = Utf8               promptTokens\n-  #604 = Utf8               ()Ljava/lang/Integer;\n-  #605 = Utf8               completionTokens\n-  #606 = Utf8               totalTokens\n-  #607 = Utf8               (Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V\n-  #608 = Utf8               hashCode\n-  #609 = Utf8               ()I\n-  #610 = Utf8               equals\n-  #611 = Utf8               dev/langchain4j/model/output/FinishReason\n-  #612 = Utf8               STOP\n-  #613 = Utf8               Ldev/langchain4j/model/output/FinishReason;\n-  #614 = Utf8               LENGTH\n-  #615 = Utf8               TOOL_EXECUTION\n-  #616 = Utf8               CONTENT_FILTER\n-  #617 = Utf8               ()Ldev/ai4j/openai4j/chat/ToolType;\n-  #618 = Utf8               dev/ai4j/openai4j/chat/ToolType\n-  #619 = Utf8               FUNCTION\n-  #620 = Utf8               Ldev/ai4j/openai4j/chat/ToolType;\n-  #621 = Utf8               ()Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #622 = Utf8               dev/ai4j/openai4j/chat/ToolCall$Builder\n-  #623 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #624 = Utf8               (Ldev/ai4j/openai4j/chat/ToolType;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #625 = Utf8               (Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-  #626 = Utf8               ()Ldev/ai4j/openai4j/chat/ToolCall;\n-  #627 = Class              #636          // java/lang/invoke/LambdaMetafactory\n-  #628 = NameAndType        #637:#640     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #629 = NameAndType        #173:#174     // toOpenAiMessage:(Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n-  #630 = NameAndType        #194:#195     // toOpenAiContent:(Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n-  #631 = NameAndType        #261:#262     // lambda$toOpenAiMessage$0:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n-  #632 = NameAndType        #219:#220     // toTool:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n-  #633 = NameAndType        #230:#231     // toFunction:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n-  #634 = NameAndType        #259:#260     // lambda$aiMessageFrom$1:(Ldev/ai4j/openai4j/chat/ToolCall;)Z\n-  #635 = NameAndType        #247:#248     // toToolExecutionRequest:(Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #636 = Utf8               java/lang/invoke/LambdaMetafactory\n-  #637 = Utf8               metafactory\n-  #638 = Class              #642          // java/lang/invoke/MethodHandles$Lookup\n-  #639 = Utf8               Lookup\n-  #640 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #641 = Class              #643          // java/lang/invoke/MethodHandles\n-  #642 = Utf8               java/lang/invoke/MethodHandles$Lookup\n-  #643 = Utf8               java/lang/invoke/MethodHandles\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = InterfaceMethodref #8.#9         // java/util/List.stream:()Ljava/util/stream/Stream;\n+    #8 = Class              #10           // java/util/List\n+    #9 = NameAndType        #11:#12       // stream:()Ljava/util/stream/Stream;\n+   #10 = Utf8               java/util/List\n+   #11 = Utf8               stream\n+   #12 = Utf8               ()Ljava/util/stream/Stream;\n+   #13 = InvokeDynamic      #0:#14        // #0:apply:()Ljava/util/function/Function;\n+   #14 = NameAndType        #15:#16       // apply:()Ljava/util/function/Function;\n+   #15 = Utf8               apply\n+   #16 = Utf8               ()Ljava/util/function/Function;\n+   #17 = InterfaceMethodref #18.#19       // java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+   #18 = Class              #20           // java/util/stream/Stream\n+   #19 = NameAndType        #21:#22       // map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+   #20 = Utf8               java/util/stream/Stream\n+   #21 = Utf8               map\n+   #22 = Utf8               (Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+   #23 = Methodref          #24.#25       // java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+   #24 = Class              #26           // java/util/stream/Collectors\n+   #25 = NameAndType        #27:#28       // toList:()Ljava/util/stream/Collector;\n+   #26 = Utf8               java/util/stream/Collectors\n+   #27 = Utf8               toList\n+   #28 = Utf8               ()Ljava/util/stream/Collector;\n+   #29 = InterfaceMethodref #18.#30       // java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+   #30 = NameAndType        #31:#32       // collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+   #31 = Utf8               collect\n+   #32 = Utf8               (Ljava/util/stream/Collector;)Ljava/lang/Object;\n+   #33 = Class              #34           // dev/langchain4j/data/message/SystemMessage\n+   #34 = Utf8               dev/langchain4j/data/message/SystemMessage\n+   #35 = Methodref          #33.#36       // dev/langchain4j/data/message/SystemMessage.text:()Ljava/lang/String;\n+   #36 = NameAndType        #37:#38       // text:()Ljava/lang/String;\n+   #37 = Utf8               text\n+   #38 = Utf8               ()Ljava/lang/String;\n+   #39 = Methodref          #40.#41       // dev/ai4j/openai4j/chat/SystemMessage.from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/SystemMessage;\n+   #40 = Class              #42           // dev/ai4j/openai4j/chat/SystemMessage\n+   #41 = NameAndType        #43:#44       // from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/SystemMessage;\n+   #42 = Utf8               dev/ai4j/openai4j/chat/SystemMessage\n+   #43 = Utf8               from\n+   #44 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/SystemMessage;\n+   #45 = Class              #46           // dev/langchain4j/data/message/UserMessage\n+   #46 = Utf8               dev/langchain4j/data/message/UserMessage\n+   #47 = Methodref          #45.#48       // dev/langchain4j/data/message/UserMessage.hasSingleText:()Z\n+   #48 = NameAndType        #49:#50       // hasSingleText:()Z\n+   #49 = Utf8               hasSingleText\n+   #50 = Utf8               ()Z\n+   #51 = Methodref          #52.#53       // dev/ai4j/openai4j/chat/UserMessage.builder:()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #52 = Class              #54           // dev/ai4j/openai4j/chat/UserMessage\n+   #53 = NameAndType        #55:#56       // builder:()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #54 = Utf8               dev/ai4j/openai4j/chat/UserMessage\n+   #55 = Utf8               builder\n+   #56 = Utf8               ()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #57 = Methodref          #45.#36       // dev/langchain4j/data/message/UserMessage.text:()Ljava/lang/String;\n+   #58 = Methodref          #59.#60       // dev/ai4j/openai4j/chat/UserMessage$Builder.content:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #59 = Class              #61           // dev/ai4j/openai4j/chat/UserMessage$Builder\n+   #60 = NameAndType        #62:#63       // content:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #61 = Utf8               dev/ai4j/openai4j/chat/UserMessage$Builder\n+   #62 = Utf8               content\n+   #63 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #64 = Methodref          #45.#65       // dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n+   #65 = NameAndType        #66:#38       // name:()Ljava/lang/String;\n+   #66 = Utf8               name\n+   #67 = Methodref          #59.#68       // dev/ai4j/openai4j/chat/UserMessage$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #68 = NameAndType        #66:#63       // name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #69 = Methodref          #59.#70       // dev/ai4j/openai4j/chat/UserMessage$Builder.build:()Ldev/ai4j/openai4j/chat/UserMessage;\n+   #70 = NameAndType        #71:#72       // build:()Ldev/ai4j/openai4j/chat/UserMessage;\n+   #71 = Utf8               build\n+   #72 = Utf8               ()Ldev/ai4j/openai4j/chat/UserMessage;\n+   #73 = Methodref          #45.#74       // dev/langchain4j/data/message/UserMessage.contents:()Ljava/util/List;\n+   #74 = NameAndType        #75:#76       // contents:()Ljava/util/List;\n+   #75 = Utf8               contents\n+   #76 = Utf8               ()Ljava/util/List;\n+   #77 = InvokeDynamic      #1:#14        // #1:apply:()Ljava/util/function/Function;\n+   #78 = Methodref          #59.#79       // dev/ai4j/openai4j/chat/UserMessage$Builder.content:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #79 = NameAndType        #62:#80       // content:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #80 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+   #81 = Class              #82           // dev/langchain4j/data/message/AiMessage\n+   #82 = Utf8               dev/langchain4j/data/message/AiMessage\n+   #83 = Methodref          #81.#84       // dev/langchain4j/data/message/AiMessage.hasToolExecutionRequests:()Z\n+   #84 = NameAndType        #85:#50       // hasToolExecutionRequests:()Z\n+   #85 = Utf8               hasToolExecutionRequests\n+   #86 = Methodref          #81.#36       // dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n+   #87 = Methodref          #88.#89       // dev/ai4j/openai4j/chat/AssistantMessage.from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/AssistantMessage;\n+   #88 = Class              #90           // dev/ai4j/openai4j/chat/AssistantMessage\n+   #89 = NameAndType        #43:#91       // from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/AssistantMessage;\n+   #90 = Utf8               dev/ai4j/openai4j/chat/AssistantMessage\n+   #91 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/AssistantMessage;\n+   #92 = Methodref          #81.#93       // dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n+   #93 = NameAndType        #94:#76       // toolExecutionRequests:()Ljava/util/List;\n+   #94 = Utf8               toolExecutionRequests\n+   #95 = InterfaceMethodref #8.#96        // java/util/List.get:(I)Ljava/lang/Object;\n+   #96 = NameAndType        #97:#98       // get:(I)Ljava/lang/Object;\n+   #97 = Utf8               get\n+   #98 = Utf8               (I)Ljava/lang/Object;\n+   #99 = Class              #100          // dev/langchain4j/agent/tool/ToolExecutionRequest\n+  #100 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest\n+  #101 = Methodref          #99.#102      // dev/langchain4j/agent/tool/ToolExecutionRequest.id:()Ljava/lang/String;\n+  #102 = NameAndType        #103:#38      // id:()Ljava/lang/String;\n+  #103 = Utf8               id\n+  #104 = Methodref          #105.#106     // dev/ai4j/openai4j/chat/FunctionCall.builder:()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+  #105 = Class              #107          // dev/ai4j/openai4j/chat/FunctionCall\n+  #106 = NameAndType        #55:#108      // builder:()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+  #107 = Utf8               dev/ai4j/openai4j/chat/FunctionCall\n+  #108 = Utf8               ()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+  #109 = Methodref          #99.#65       // dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n+  #110 = Methodref          #111.#112     // dev/ai4j/openai4j/chat/FunctionCall$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+  #111 = Class              #113          // dev/ai4j/openai4j/chat/FunctionCall$Builder\n+  #112 = NameAndType        #66:#114      // name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+  #113 = Utf8               dev/ai4j/openai4j/chat/FunctionCall$Builder\n+  #114 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+  #115 = Methodref          #99.#116      // dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+  #116 = NameAndType        #117:#38      // arguments:()Ljava/lang/String;\n+  #117 = Utf8               arguments\n+  #118 = Methodref          #111.#119     // dev/ai4j/openai4j/chat/FunctionCall$Builder.arguments:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+  #119 = NameAndType        #117:#114     // arguments:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+  #120 = Methodref          #111.#121     // dev/ai4j/openai4j/chat/FunctionCall$Builder.build:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #121 = NameAndType        #71:#122      // build:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #122 = Utf8               ()Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #123 = Methodref          #88.#124      // dev/ai4j/openai4j/chat/AssistantMessage.builder:()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+  #124 = NameAndType        #55:#125      // builder:()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+  #125 = Utf8               ()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+  #126 = Methodref          #127.#128     // dev/ai4j/openai4j/chat/AssistantMessage$Builder.functionCall:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+  #127 = Class              #129          // dev/ai4j/openai4j/chat/AssistantMessage$Builder\n+  #128 = NameAndType        #130:#131     // functionCall:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+  #129 = Utf8               dev/ai4j/openai4j/chat/AssistantMessage$Builder\n+  #130 = Utf8               functionCall\n+  #131 = Utf8               (Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+  #132 = Methodref          #127.#133     // dev/ai4j/openai4j/chat/AssistantMessage$Builder.build:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n+  #133 = NameAndType        #71:#134      // build:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n+  #134 = Utf8               ()Ldev/ai4j/openai4j/chat/AssistantMessage;\n+  #135 = InvokeDynamic      #2:#14        // #2:apply:()Ljava/util/function/Function;\n+  #136 = Methodref          #127.#137     // dev/ai4j/openai4j/chat/AssistantMessage$Builder.toolCalls:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+  #137 = NameAndType        #138:#139     // toolCalls:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+  #138 = Utf8               toolCalls\n+  #139 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+  #140 = Class              #141          // dev/langchain4j/data/message/ToolExecutionResultMessage\n+  #141 = Utf8               dev/langchain4j/data/message/ToolExecutionResultMessage\n+  #142 = Methodref          #140.#102     // dev/langchain4j/data/message/ToolExecutionResultMessage.id:()Ljava/lang/String;\n+  #143 = Methodref          #140.#144     // dev/langchain4j/data/message/ToolExecutionResultMessage.toolName:()Ljava/lang/String;\n+  #144 = NameAndType        #145:#38      // toolName:()Ljava/lang/String;\n+  #145 = Utf8               toolName\n+  #146 = Methodref          #140.#36      // dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n+  #147 = Methodref          #148.#149     // dev/ai4j/openai4j/chat/FunctionMessage.from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionMessage;\n+  #148 = Class              #150          // dev/ai4j/openai4j/chat/FunctionMessage\n+  #149 = NameAndType        #43:#151      // from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionMessage;\n+  #150 = Utf8               dev/ai4j/openai4j/chat/FunctionMessage\n+  #151 = Utf8               (Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionMessage;\n+  #152 = Methodref          #153.#154     // dev/ai4j/openai4j/chat/ToolMessage.from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolMessage;\n+  #153 = Class              #155          // dev/ai4j/openai4j/chat/ToolMessage\n+  #154 = NameAndType        #43:#156      // from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolMessage;\n+  #155 = Utf8               dev/ai4j/openai4j/chat/ToolMessage\n+  #156 = Utf8               (Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolMessage;\n+  #157 = Class              #158          // java/lang/StringBuilder\n+  #158 = Utf8               java/lang/StringBuilder\n+  #159 = Methodref          #157.#3       // java/lang/StringBuilder.\"<init>\":()V\n+  #160 = String             #161          // Unknown message type:\n+  #161 = Utf8               Unknown message type:\n+  #162 = Methodref          #157.#163     // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+  #163 = NameAndType        #164:#165     // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+  #164 = Utf8               append\n+  #165 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n+  #166 = InterfaceMethodref #167.#168     // dev/langchain4j/data/message/ChatMessage.type:()Ldev/langchain4j/data/message/ChatMessageType;\n+  #167 = Class              #169          // dev/langchain4j/data/message/ChatMessage\n+  #168 = NameAndType        #170:#171     // type:()Ldev/langchain4j/data/message/ChatMessageType;\n+  #169 = Utf8               dev/langchain4j/data/message/ChatMessage\n+  #170 = Utf8               type\n+  #171 = Utf8               ()Ldev/langchain4j/data/message/ChatMessageType;\n+  #172 = Methodref          #157.#173     // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #173 = NameAndType        #164:#174     // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #174 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+  #175 = Methodref          #157.#176     // java/lang/StringBuilder.toString:()Ljava/lang/String;\n+  #176 = NameAndType        #177:#38      // toString:()Ljava/lang/String;\n+  #177 = Utf8               toString\n+  #178 = Methodref          #179.#180     // dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+  #179 = Class              #181          // dev/langchain4j/internal/Exceptions\n+  #180 = NameAndType        #182:#183     // illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+  #181 = Utf8               dev/langchain4j/internal/Exceptions\n+  #182 = Utf8               illegalArgument\n+  #183 = Utf8               (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+  #184 = Class              #185          // dev/langchain4j/data/message/TextContent\n+  #185 = Utf8               dev/langchain4j/data/message/TextContent\n+  #186 = Methodref          #187.#188     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/TextContent;)Ldev/ai4j/openai4j/chat/Content;\n+  #187 = Class              #189          // dev/langchain4j/model/openai/InternalOpenAiHelper\n+  #188 = NameAndType        #190:#191     // toOpenAiContent:(Ldev/langchain4j/data/message/TextContent;)Ldev/ai4j/openai4j/chat/Content;\n+  #189 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n+  #190 = Utf8               toOpenAiContent\n+  #191 = Utf8               (Ldev/langchain4j/data/message/TextContent;)Ldev/ai4j/openai4j/chat/Content;\n+  #192 = Class              #193          // dev/langchain4j/data/message/ImageContent\n+  #193 = Utf8               dev/langchain4j/data/message/ImageContent\n+  #194 = Methodref          #187.#195     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/ImageContent;)Ldev/ai4j/openai4j/chat/Content;\n+  #195 = NameAndType        #190:#196     // toOpenAiContent:(Ldev/langchain4j/data/message/ImageContent;)Ldev/ai4j/openai4j/chat/Content;\n+  #196 = Utf8               (Ldev/langchain4j/data/message/ImageContent;)Ldev/ai4j/openai4j/chat/Content;\n+  #197 = String             #198          // Unknown content type:\n+  #198 = Utf8               Unknown content type:\n+  #199 = Methodref          #200.#201     // dev/ai4j/openai4j/chat/Content.builder:()Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #200 = Class              #202          // dev/ai4j/openai4j/chat/Content\n+  #201 = NameAndType        #55:#203      // builder:()Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #202 = Utf8               dev/ai4j/openai4j/chat/Content\n+  #203 = Utf8               ()Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #204 = Fieldref           #205.#206     // dev/ai4j/openai4j/chat/ContentType.TEXT:Ldev/ai4j/openai4j/chat/ContentType;\n+  #205 = Class              #207          // dev/ai4j/openai4j/chat/ContentType\n+  #206 = NameAndType        #208:#209     // TEXT:Ldev/ai4j/openai4j/chat/ContentType;\n+  #207 = Utf8               dev/ai4j/openai4j/chat/ContentType\n+  #208 = Utf8               TEXT\n+  #209 = Utf8               Ldev/ai4j/openai4j/chat/ContentType;\n+  #210 = Methodref          #211.#212     // dev/ai4j/openai4j/chat/Content$Builder.type:(Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #211 = Class              #213          // dev/ai4j/openai4j/chat/Content$Builder\n+  #212 = NameAndType        #170:#214     // type:(Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #213 = Utf8               dev/ai4j/openai4j/chat/Content$Builder\n+  #214 = Utf8               (Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #215 = Methodref          #184.#36      // dev/langchain4j/data/message/TextContent.text:()Ljava/lang/String;\n+  #216 = Methodref          #211.#217     // dev/ai4j/openai4j/chat/Content$Builder.text:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #217 = NameAndType        #37:#218      // text:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #218 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #219 = Methodref          #211.#220     // dev/ai4j/openai4j/chat/Content$Builder.build:()Ldev/ai4j/openai4j/chat/Content;\n+  #220 = NameAndType        #71:#221      // build:()Ldev/ai4j/openai4j/chat/Content;\n+  #221 = Utf8               ()Ldev/ai4j/openai4j/chat/Content;\n+  #222 = Fieldref           #205.#223     // dev/ai4j/openai4j/chat/ContentType.IMAGE_URL:Ldev/ai4j/openai4j/chat/ContentType;\n+  #223 = NameAndType        #224:#209     // IMAGE_URL:Ldev/ai4j/openai4j/chat/ContentType;\n+  #224 = Utf8               IMAGE_URL\n+  #225 = Methodref          #226.#227     // dev/ai4j/openai4j/chat/ImageUrl.builder:()Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+  #226 = Class              #228          // dev/ai4j/openai4j/chat/ImageUrl\n+  #227 = NameAndType        #55:#229      // builder:()Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+  #228 = Utf8               dev/ai4j/openai4j/chat/ImageUrl\n+  #229 = Utf8               ()Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+  #230 = Methodref          #192.#231     // dev/langchain4j/data/message/ImageContent.image:()Ldev/langchain4j/data/image/Image;\n+  #231 = NameAndType        #232:#233     // image:()Ldev/langchain4j/data/image/Image;\n+  #232 = Utf8               image\n+  #233 = Utf8               ()Ldev/langchain4j/data/image/Image;\n+  #234 = Methodref          #187.#235     // dev/langchain4j/model/openai/InternalOpenAiHelper.toUrl:(Ldev/langchain4j/data/image/Image;)Ljava/lang/String;\n+  #235 = NameAndType        #236:#237     // toUrl:(Ldev/langchain4j/data/image/Image;)Ljava/lang/String;\n+  #236 = Utf8               toUrl\n+  #237 = Utf8               (Ldev/langchain4j/data/image/Image;)Ljava/lang/String;\n+  #238 = Methodref          #239.#240     // dev/ai4j/openai4j/chat/ImageUrl$Builder.url:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+  #239 = Class              #241          // dev/ai4j/openai4j/chat/ImageUrl$Builder\n+  #240 = NameAndType        #242:#243     // url:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+  #241 = Utf8               dev/ai4j/openai4j/chat/ImageUrl$Builder\n+  #242 = Utf8               url\n+  #243 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+  #244 = Methodref          #192.#245     // dev/langchain4j/data/message/ImageContent.detailLevel:()Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n+  #245 = NameAndType        #246:#247     // detailLevel:()Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n+  #246 = Utf8               detailLevel\n+  #247 = Utf8               ()Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n+  #248 = Methodref          #187.#249     // dev/langchain4j/model/openai/InternalOpenAiHelper.toDetail:(Ldev/langchain4j/data/message/ImageContent$DetailLevel;)Ldev/ai4j/openai4j/chat/ImageDetail;\n+  #249 = NameAndType        #250:#251     // toDetail:(Ldev/langchain4j/data/message/ImageContent$DetailLevel;)Ldev/ai4j/openai4j/chat/ImageDetail;\n+  #250 = Utf8               toDetail\n+  #251 = Utf8               (Ldev/langchain4j/data/message/ImageContent$DetailLevel;)Ldev/ai4j/openai4j/chat/ImageDetail;\n+  #252 = Methodref          #239.#253     // dev/ai4j/openai4j/chat/ImageUrl$Builder.detail:(Ldev/ai4j/openai4j/chat/ImageDetail;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+  #253 = NameAndType        #254:#255     // detail:(Ldev/ai4j/openai4j/chat/ImageDetail;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+  #254 = Utf8               detail\n+  #255 = Utf8               (Ldev/ai4j/openai4j/chat/ImageDetail;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+  #256 = Methodref          #239.#257     // dev/ai4j/openai4j/chat/ImageUrl$Builder.build:()Ldev/ai4j/openai4j/chat/ImageUrl;\n+  #257 = NameAndType        #71:#258      // build:()Ldev/ai4j/openai4j/chat/ImageUrl;\n+  #258 = Utf8               ()Ldev/ai4j/openai4j/chat/ImageUrl;\n+  #259 = Methodref          #211.#260     // dev/ai4j/openai4j/chat/Content$Builder.imageUrl:(Ldev/ai4j/openai4j/chat/ImageUrl;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #260 = NameAndType        #261:#262     // imageUrl:(Ldev/ai4j/openai4j/chat/ImageUrl;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #261 = Utf8               imageUrl\n+  #262 = Utf8               (Ldev/ai4j/openai4j/chat/ImageUrl;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+  #263 = Methodref          #264.#265     // dev/langchain4j/data/image/Image.url:()Ljava/net/URI;\n+  #264 = Class              #266          // dev/langchain4j/data/image/Image\n+  #265 = NameAndType        #242:#267     // url:()Ljava/net/URI;\n+  #266 = Utf8               dev/langchain4j/data/image/Image\n+  #267 = Utf8               ()Ljava/net/URI;\n+  #268 = Methodref          #269.#176     // java/net/URI.toString:()Ljava/lang/String;\n+  #269 = Class              #270          // java/net/URI\n+  #270 = Utf8               java/net/URI\n+  #271 = String             #272          // data:%s;base64,%s\n+  #272 = Utf8               data:%s;base64,%s\n+  #273 = Methodref          #264.#274     // dev/langchain4j/data/image/Image.mimeType:()Ljava/lang/String;\n+  #274 = NameAndType        #275:#38      // mimeType:()Ljava/lang/String;\n+  #275 = Utf8               mimeType\n+  #276 = Methodref          #264.#277     // dev/langchain4j/data/image/Image.base64Data:()Ljava/lang/String;\n+  #277 = NameAndType        #278:#38      // base64Data:()Ljava/lang/String;\n+  #278 = Utf8               base64Data\n+  #279 = Methodref          #280.#281     // java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;\n+  #280 = Class              #282          // java/lang/String\n+  #281 = NameAndType        #283:#284     // format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;\n+  #282 = Utf8               java/lang/String\n+  #283 = Utf8               format\n+  #284 = Utf8               (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;\n+  #285 = Methodref          #286.#65      // dev/langchain4j/data/message/ImageContent$DetailLevel.name:()Ljava/lang/String;\n+  #286 = Class              #287          // dev/langchain4j/data/message/ImageContent$DetailLevel\n+  #287 = Utf8               dev/langchain4j/data/message/ImageContent$DetailLevel\n+  #288 = Methodref          #289.#290     // dev/ai4j/openai4j/chat/ImageDetail.valueOf:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageDetail;\n+  #289 = Class              #291          // dev/ai4j/openai4j/chat/ImageDetail\n+  #290 = NameAndType        #292:#293     // valueOf:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageDetail;\n+  #291 = Utf8               dev/ai4j/openai4j/chat/ImageDetail\n+  #292 = Utf8               valueOf\n+  #293 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageDetail;\n+  #294 = InterfaceMethodref #295.#9       // java/util/Collection.stream:()Ljava/util/stream/Stream;\n+  #295 = Class              #296          // java/util/Collection\n+  #296 = Utf8               java/util/Collection\n+  #297 = InvokeDynamic      #3:#14        // #3:apply:()Ljava/util/function/Function;\n+  #298 = Methodref          #299.#300     // dev/ai4j/openai4j/chat/Function.builder:()Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #299 = Class              #301          // dev/ai4j/openai4j/chat/Function\n+  #300 = NameAndType        #55:#302      // builder:()Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #301 = Utf8               dev/ai4j/openai4j/chat/Function\n+  #302 = Utf8               ()Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #303 = Methodref          #304.#65      // dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n+  #304 = Class              #305          // dev/langchain4j/agent/tool/ToolSpecification\n+  #305 = Utf8               dev/langchain4j/agent/tool/ToolSpecification\n+  #306 = Methodref          #307.#308     // dev/ai4j/openai4j/chat/Function$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #307 = Class              #309          // dev/ai4j/openai4j/chat/Function$Builder\n+  #308 = NameAndType        #66:#310      // name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #309 = Utf8               dev/ai4j/openai4j/chat/Function$Builder\n+  #310 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #311 = Methodref          #304.#312     // dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n+  #312 = NameAndType        #313:#38      // description:()Ljava/lang/String;\n+  #313 = Utf8               description\n+  #314 = Methodref          #307.#315     // dev/ai4j/openai4j/chat/Function$Builder.description:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #315 = NameAndType        #313:#310     // description:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #316 = Methodref          #304.#317     // dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n+  #317 = NameAndType        #318:#319     // parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n+  #318 = Utf8               parameters\n+  #319 = Utf8               ()Ldev/langchain4j/agent/tool/ToolParameters;\n+  #320 = Methodref          #187.#321     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n+  #321 = NameAndType        #322:#323     // toOpenAiParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n+  #322 = Utf8               toOpenAiParameters\n+  #323 = Utf8               (Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n+  #324 = Methodref          #307.#325     // dev/ai4j/openai4j/chat/Function$Builder.parameters:(Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #325 = NameAndType        #318:#326     // parameters:(Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #326 = Utf8               (Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+  #327 = Methodref          #307.#328     // dev/ai4j/openai4j/chat/Function$Builder.build:()Ldev/ai4j/openai4j/chat/Function;\n+  #328 = NameAndType        #71:#329      // build:()Ldev/ai4j/openai4j/chat/Function;\n+  #329 = Utf8               ()Ldev/ai4j/openai4j/chat/Function;\n+  #330 = Methodref          #331.#332     // dev/ai4j/openai4j/chat/Tool.from:(Ldev/ai4j/openai4j/chat/Function;)Ldev/ai4j/openai4j/chat/Tool;\n+  #331 = Class              #333          // dev/ai4j/openai4j/chat/Tool\n+  #332 = NameAndType        #43:#334      // from:(Ldev/ai4j/openai4j/chat/Function;)Ldev/ai4j/openai4j/chat/Tool;\n+  #333 = Utf8               dev/ai4j/openai4j/chat/Tool\n+  #334 = Utf8               (Ldev/ai4j/openai4j/chat/Function;)Ldev/ai4j/openai4j/chat/Tool;\n+  #335 = InvokeDynamic      #4:#14        // #4:apply:()Ljava/util/function/Function;\n+  #336 = Methodref          #337.#338     // dev/ai4j/openai4j/chat/Parameters.builder:()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+  #337 = Class              #339          // dev/ai4j/openai4j/chat/Parameters\n+  #338 = NameAndType        #55:#340      // builder:()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+  #339 = Utf8               dev/ai4j/openai4j/chat/Parameters\n+  #340 = Utf8               ()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+  #341 = Methodref          #342.#343     // dev/ai4j/openai4j/chat/Parameters$Builder.build:()Ldev/ai4j/openai4j/chat/Parameters;\n+  #342 = Class              #344          // dev/ai4j/openai4j/chat/Parameters$Builder\n+  #343 = NameAndType        #71:#345      // build:()Ldev/ai4j/openai4j/chat/Parameters;\n+  #344 = Utf8               dev/ai4j/openai4j/chat/Parameters$Builder\n+  #345 = Utf8               ()Ldev/ai4j/openai4j/chat/Parameters;\n+  #346 = Methodref          #347.#348     // dev/langchain4j/agent/tool/ToolParameters.properties:()Ljava/util/Map;\n+  #347 = Class              #349          // dev/langchain4j/agent/tool/ToolParameters\n+  #348 = NameAndType        #350:#351     // properties:()Ljava/util/Map;\n+  #349 = Utf8               dev/langchain4j/agent/tool/ToolParameters\n+  #350 = Utf8               properties\n+  #351 = Utf8               ()Ljava/util/Map;\n+  #352 = Methodref          #342.#353     // dev/ai4j/openai4j/chat/Parameters$Builder.properties:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+  #353 = NameAndType        #350:#354     // properties:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+  #354 = Utf8               (Ljava/util/Map;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+  #355 = Methodref          #347.#356     // dev/langchain4j/agent/tool/ToolParameters.required:()Ljava/util/List;\n+  #356 = NameAndType        #357:#76      // required:()Ljava/util/List;\n+  #357 = Utf8               required\n+  #358 = Methodref          #342.#359     // dev/ai4j/openai4j/chat/Parameters$Builder.required:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+  #359 = NameAndType        #357:#360     // required:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+  #360 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+  #361 = Methodref          #362.#363     // dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n+  #362 = Class              #364          // dev/ai4j/openai4j/chat/ChatCompletionResponse\n+  #363 = NameAndType        #365:#76      // choices:()Ljava/util/List;\n+  #364 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionResponse\n+  #365 = Utf8               choices\n+  #366 = Class              #367          // dev/ai4j/openai4j/chat/ChatCompletionChoice\n+  #367 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionChoice\n+  #368 = Methodref          #366.#369     // dev/ai4j/openai4j/chat/ChatCompletionChoice.message:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n+  #369 = NameAndType        #370:#134     // message:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n+  #370 = Utf8               message\n+  #371 = Methodref          #88.#372      // dev/ai4j/openai4j/chat/AssistantMessage.toolCalls:()Ljava/util/List;\n+  #372 = NameAndType        #138:#76      // toolCalls:()Ljava/util/List;\n+  #373 = Methodref          #374.#375     // dev/langchain4j/internal/Utils.isNullOrEmpty:(Ljava/util/Collection;)Z\n+  #374 = Class              #376          // dev/langchain4j/internal/Utils\n+  #375 = NameAndType        #377:#378     // isNullOrEmpty:(Ljava/util/Collection;)Z\n+  #376 = Utf8               dev/langchain4j/internal/Utils\n+  #377 = Utf8               isNullOrEmpty\n+  #378 = Utf8               (Ljava/util/Collection;)Z\n+  #379 = InvokeDynamic      #5:#380       // #5:test:()Ljava/util/function/Predicate;\n+  #380 = NameAndType        #381:#382     // test:()Ljava/util/function/Predicate;\n+  #381 = Utf8               test\n+  #382 = Utf8               ()Ljava/util/function/Predicate;\n+  #383 = InterfaceMethodref #18.#384      // java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;\n+  #384 = NameAndType        #385:#386     // filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;\n+  #385 = Utf8               filter\n+  #386 = Utf8               (Ljava/util/function/Predicate;)Ljava/util/stream/Stream;\n+  #387 = InvokeDynamic      #6:#14        // #6:apply:()Ljava/util/function/Function;\n+  #388 = Methodref          #81.#389      // dev/langchain4j/data/message/AiMessage.aiMessage:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n+  #389 = NameAndType        #390:#391     // aiMessage:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n+  #390 = Utf8               aiMessage\n+  #391 = Utf8               (Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n+  #392 = Methodref          #88.#393      // dev/ai4j/openai4j/chat/AssistantMessage.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #393 = NameAndType        #130:#122     // functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #394 = Methodref          #99.#395      // dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #395 = NameAndType        #55:#396      // builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #396 = Utf8               ()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #397 = Methodref          #105.#65      // dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n+  #398 = Methodref          #399.#400     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #399 = Class              #401          // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder\n+  #400 = NameAndType        #66:#402      // name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #401 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest$Builder\n+  #402 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #403 = Methodref          #105.#116     // dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n+  #404 = Methodref          #399.#405     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #405 = NameAndType        #117:#402     // arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #406 = Methodref          #399.#407     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #407 = NameAndType        #71:#408      // build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #408 = Utf8               ()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #409 = Methodref          #81.#410      // dev/langchain4j/data/message/AiMessage.aiMessage:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n+  #410 = NameAndType        #390:#411     // aiMessage:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n+  #411 = Utf8               ([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n+  #412 = Methodref          #88.#413      // dev/ai4j/openai4j/chat/AssistantMessage.content:()Ljava/lang/String;\n+  #413 = NameAndType        #62:#38       // content:()Ljava/lang/String;\n+  #414 = Methodref          #81.#415      // dev/langchain4j/data/message/AiMessage.aiMessage:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n+  #415 = NameAndType        #390:#416     // aiMessage:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n+  #416 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n+  #417 = Methodref          #418.#419     // dev/ai4j/openai4j/chat/ToolCall.function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #418 = Class              #420          // dev/ai4j/openai4j/chat/ToolCall\n+  #419 = NameAndType        #421:#122     // function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #420 = Utf8               dev/ai4j/openai4j/chat/ToolCall\n+  #421 = Utf8               function\n+  #422 = Methodref          #418.#102     // dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n+  #423 = Methodref          #399.#424     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #424 = NameAndType        #103:#402     // id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #425 = Class              #426          // dev/langchain4j/model/output/TokenUsage\n+  #426 = Utf8               dev/langchain4j/model/output/TokenUsage\n+  #427 = Methodref          #428.#429     // dev/ai4j/openai4j/shared/Usage.promptTokens:()Ljava/lang/Integer;\n+  #428 = Class              #430          // dev/ai4j/openai4j/shared/Usage\n+  #429 = NameAndType        #431:#432     // promptTokens:()Ljava/lang/Integer;\n+  #430 = Utf8               dev/ai4j/openai4j/shared/Usage\n+  #431 = Utf8               promptTokens\n+  #432 = Utf8               ()Ljava/lang/Integer;\n+  #433 = Methodref          #428.#434     // dev/ai4j/openai4j/shared/Usage.completionTokens:()Ljava/lang/Integer;\n+  #434 = NameAndType        #435:#432     // completionTokens:()Ljava/lang/Integer;\n+  #435 = Utf8               completionTokens\n+  #436 = Methodref          #428.#437     // dev/ai4j/openai4j/shared/Usage.totalTokens:()Ljava/lang/Integer;\n+  #437 = NameAndType        #438:#432     // totalTokens:()Ljava/lang/Integer;\n+  #438 = Utf8               totalTokens\n+  #439 = Methodref          #425.#440     // dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V\n+  #440 = NameAndType        #5:#441       // \"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V\n+  #441 = Utf8               (Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V\n+  #442 = Methodref          #280.#443     // java/lang/String.hashCode:()I\n+  #443 = NameAndType        #444:#445     // hashCode:()I\n+  #444 = Utf8               hashCode\n+  #445 = Utf8               ()I\n+  #446 = String             #447          // stop\n+  #447 = Utf8               stop\n+  #448 = Methodref          #280.#449     // java/lang/String.equals:(Ljava/lang/Object;)Z\n+  #449 = NameAndType        #450:#451     // equals:(Ljava/lang/Object;)Z\n+  #450 = Utf8               equals\n+  #451 = Utf8               (Ljava/lang/Object;)Z\n+  #452 = String             #453          // length\n+  #453 = Utf8               length\n+  #454 = String             #455          // tool_calls\n+  #455 = Utf8               tool_calls\n+  #456 = String             #457          // function_call\n+  #457 = Utf8               function_call\n+  #458 = String             #459          // content_filter\n+  #459 = Utf8               content_filter\n+  #460 = Fieldref           #461.#462     // dev/langchain4j/model/output/FinishReason.STOP:Ldev/langchain4j/model/output/FinishReason;\n+  #461 = Class              #463          // dev/langchain4j/model/output/FinishReason\n+  #462 = NameAndType        #464:#465     // STOP:Ldev/langchain4j/model/output/FinishReason;\n+  #463 = Utf8               dev/langchain4j/model/output/FinishReason\n+  #464 = Utf8               STOP\n+  #465 = Utf8               Ldev/langchain4j/model/output/FinishReason;\n+  #466 = Fieldref           #461.#467     // dev/langchain4j/model/output/FinishReason.LENGTH:Ldev/langchain4j/model/output/FinishReason;\n+  #467 = NameAndType        #468:#465     // LENGTH:Ldev/langchain4j/model/output/FinishReason;\n+  #468 = Utf8               LENGTH\n+  #469 = Fieldref           #461.#470     // dev/langchain4j/model/output/FinishReason.TOOL_EXECUTION:Ldev/langchain4j/model/output/FinishReason;\n+  #470 = NameAndType        #471:#465     // TOOL_EXECUTION:Ldev/langchain4j/model/output/FinishReason;\n+  #471 = Utf8               TOOL_EXECUTION\n+  #472 = Fieldref           #461.#473     // dev/langchain4j/model/output/FinishReason.CONTENT_FILTER:Ldev/langchain4j/model/output/FinishReason;\n+  #473 = NameAndType        #474:#465     // CONTENT_FILTER:Ldev/langchain4j/model/output/FinishReason;\n+  #474 = Utf8               CONTENT_FILTER\n+  #475 = Methodref          #418.#476     // dev/ai4j/openai4j/chat/ToolCall.type:()Ldev/ai4j/openai4j/chat/ToolType;\n+  #476 = NameAndType        #170:#477     // type:()Ldev/ai4j/openai4j/chat/ToolType;\n+  #477 = Utf8               ()Ldev/ai4j/openai4j/chat/ToolType;\n+  #478 = Fieldref           #479.#480     // dev/ai4j/openai4j/chat/ToolType.FUNCTION:Ldev/ai4j/openai4j/chat/ToolType;\n+  #479 = Class              #481          // dev/ai4j/openai4j/chat/ToolType\n+  #480 = NameAndType        #482:#483     // FUNCTION:Ldev/ai4j/openai4j/chat/ToolType;\n+  #481 = Utf8               dev/ai4j/openai4j/chat/ToolType\n+  #482 = Utf8               FUNCTION\n+  #483 = Utf8               Ldev/ai4j/openai4j/chat/ToolType;\n+  #484 = Methodref          #418.#485     // dev/ai4j/openai4j/chat/ToolCall.builder:()Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #485 = NameAndType        #55:#486      // builder:()Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #486 = Utf8               ()Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #487 = Methodref          #488.#489     // dev/ai4j/openai4j/chat/ToolCall$Builder.id:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #488 = Class              #490          // dev/ai4j/openai4j/chat/ToolCall$Builder\n+  #489 = NameAndType        #103:#491     // id:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #490 = Utf8               dev/ai4j/openai4j/chat/ToolCall$Builder\n+  #491 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #492 = Methodref          #488.#493     // dev/ai4j/openai4j/chat/ToolCall$Builder.type:(Ldev/ai4j/openai4j/chat/ToolType;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #493 = NameAndType        #170:#494     // type:(Ldev/ai4j/openai4j/chat/ToolType;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #494 = Utf8               (Ldev/ai4j/openai4j/chat/ToolType;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #495 = Methodref          #488.#496     // dev/ai4j/openai4j/chat/ToolCall$Builder.function:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #496 = NameAndType        #421:#497     // function:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #497 = Utf8               (Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+  #498 = Methodref          #488.#499     // dev/ai4j/openai4j/chat/ToolCall$Builder.build:()Ldev/ai4j/openai4j/chat/ToolCall;\n+  #499 = NameAndType        #71:#500      // build:()Ldev/ai4j/openai4j/chat/ToolCall;\n+  #500 = Utf8               ()Ldev/ai4j/openai4j/chat/ToolCall;\n+  #501 = Utf8               OPENAI_URL\n+  #502 = Utf8               Ljava/lang/String;\n+  #503 = Utf8               ConstantValue\n+  #504 = String             #505          // https://api.openai.com/v1\n+  #505 = Utf8               https://api.openai.com/v1\n+  #506 = Utf8               OPENAI_DEMO_API_KEY\n+  #507 = String             #508          // demo\n+  #508 = Utf8               demo\n+  #509 = Utf8               OPENAI_DEMO_URL\n+  #510 = String             #511          // http://langchain4j.dev/demo/openai/v1\n+  #511 = Utf8               http://langchain4j.dev/demo/openai/v1\n+  #512 = Utf8               Code\n+  #513 = Utf8               LineNumberTable\n+  #514 = Utf8               LocalVariableTable\n+  #515 = Utf8               this\n+  #516 = Utf8               Ldev/langchain4j/model/openai/InternalOpenAiHelper;\n+  #517 = Utf8               toOpenAiMessages\n+  #518 = Utf8               (Ljava/util/List;)Ljava/util/List;\n+  #519 = Utf8               messages\n+  #520 = Utf8               Ljava/util/List;\n+  #521 = Utf8               LocalVariableTypeTable\n+  #522 = Utf8               Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n+  #523 = Utf8               Signature\n+  #524 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Message;>;\n+  #525 = Utf8               toOpenAiMessage\n+  #526 = Utf8               (Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n+  #527 = Utf8               userMessage\n+  #528 = Utf8               Ldev/langchain4j/data/message/UserMessage;\n+  #529 = Utf8               Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #530 = Utf8               Ldev/langchain4j/data/message/AiMessage;\n+  #531 = Utf8               toolExecutionRequest\n+  #532 = Utf8               Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #533 = Utf8               toolExecutionResultMessage\n+  #534 = Utf8               Ldev/langchain4j/data/message/ToolExecutionResultMessage;\n+  #535 = Utf8               Ldev/langchain4j/data/message/ChatMessage;\n+  #536 = Utf8               Ljava/util/List<Ldev/ai4j/openai4j/chat/ToolCall;>;\n+  #537 = Utf8               StackMapTable\n+  #538 = Utf8               (Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n+  #539 = Utf8               Ldev/langchain4j/data/message/Content;\n+  #540 = Utf8               Ldev/langchain4j/data/message/TextContent;\n+  #541 = Utf8               Ldev/langchain4j/data/message/ImageContent;\n+  #542 = Utf8               Ldev/langchain4j/data/image/Image;\n+  #543 = Utf8               Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n+  #544 = Utf8               toTools\n+  #545 = Utf8               (Ljava/util/Collection;)Ljava/util/List;\n+  #546 = Utf8               toolSpecifications\n+  #547 = Utf8               Ljava/util/Collection;\n+  #548 = Utf8               Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n+  #549 = Utf8               (Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Tool;>;\n+  #550 = Utf8               toTool\n+  #551 = Utf8               (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n+  #552 = Utf8               toolSpecification\n+  #553 = Utf8               Ldev/langchain4j/agent/tool/ToolSpecification;\n+  #554 = Utf8               Ldev/ai4j/openai4j/chat/Function;\n+  #555 = Utf8               toFunctions\n+  #556 = Utf8               Deprecated\n+  #557 = Utf8               (Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Function;>;\n+  #558 = Utf8               RuntimeVisibleAnnotations\n+  #559 = Utf8               Ljava/lang/Deprecated;\n+  #560 = Utf8               toFunction\n+  #561 = Utf8               (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n+  #562 = Utf8               toolParameters\n+  #563 = Utf8               Ldev/langchain4j/agent/tool/ToolParameters;\n+  #564 = Utf8               aiMessageFrom\n+  #565 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n+  #566 = Utf8               response\n+  #567 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  #568 = Utf8               assistantMessage\n+  #569 = Utf8               Ldev/ai4j/openai4j/chat/AssistantMessage;\n+  #570 = Utf8               Ljava/util/List<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;\n+  #571 = Utf8               toToolExecutionRequest\n+  #572 = Utf8               (Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #573 = Utf8               toolCall\n+  #574 = Utf8               Ldev/ai4j/openai4j/chat/ToolCall;\n+  #575 = Utf8               tokenUsageFrom\n+  #576 = Utf8               (Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #577 = Utf8               openAiUsage\n+  #578 = Utf8               Ldev/ai4j/openai4j/shared/Usage;\n+  #579 = Utf8               finishReasonFrom\n+  #580 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #581 = Utf8               openAiFinishReason\n+  #582 = Utf8               lambda$aiMessageFrom$1\n+  #583 = Utf8               (Ldev/ai4j/openai4j/chat/ToolCall;)Z\n+  #584 = Utf8               lambda$toOpenAiMessage$0\n+  #585 = Utf8               (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n+  #586 = Utf8               it\n+  #587 = Utf8               SourceFile\n+  #588 = Utf8               InternalOpenAiHelper.java\n+  #589 = Utf8               BootstrapMethods\n+  #590 = MethodHandle       6:#591        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #591 = Methodref          #592.#593     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #592 = Class              #594          // java/lang/invoke/LambdaMetafactory\n+  #593 = NameAndType        #595:#596     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #594 = Utf8               java/lang/invoke/LambdaMetafactory\n+  #595 = Utf8               metafactory\n+  #596 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #597 = MethodType         #598          //  (Ljava/lang/Object;)Ljava/lang/Object;\n+  #598 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n+  #599 = MethodHandle       6:#600        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessage:(Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n+  #600 = Methodref          #187.#601     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessage:(Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n+  #601 = NameAndType        #525:#526     // toOpenAiMessage:(Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n+  #602 = MethodType         #526          //  (Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n+  #603 = MethodHandle       6:#604        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n+  #604 = Methodref          #187.#605     // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n+  #605 = NameAndType        #190:#538     // toOpenAiContent:(Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n+  #606 = MethodType         #538          //  (Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n+  #607 = MethodHandle       6:#608        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$toOpenAiMessage$0:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n+  #608 = Methodref          #187.#609     // dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$toOpenAiMessage$0:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n+  #609 = NameAndType        #584:#585     // lambda$toOpenAiMessage$0:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n+  #610 = MethodType         #585          //  (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n+  #611 = MethodHandle       6:#612        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toTool:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n+  #612 = Methodref          #187.#613     // dev/langchain4j/model/openai/InternalOpenAiHelper.toTool:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n+  #613 = NameAndType        #550:#551     // toTool:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n+  #614 = MethodType         #551          //  (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n+  #615 = MethodHandle       6:#616        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toFunction:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n+  #616 = Methodref          #187.#617     // dev/langchain4j/model/openai/InternalOpenAiHelper.toFunction:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n+  #617 = NameAndType        #560:#561     // toFunction:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n+  #618 = MethodType         #561          //  (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n+  #619 = MethodType         #451          //  (Ljava/lang/Object;)Z\n+  #620 = MethodHandle       6:#621        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$aiMessageFrom$1:(Ldev/ai4j/openai4j/chat/ToolCall;)Z\n+  #621 = Methodref          #187.#622     // dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$aiMessageFrom$1:(Ldev/ai4j/openai4j/chat/ToolCall;)Z\n+  #622 = NameAndType        #582:#583     // lambda$aiMessageFrom$1:(Ldev/ai4j/openai4j/chat/ToolCall;)Z\n+  #623 = MethodType         #583          //  (Ldev/ai4j/openai4j/chat/ToolCall;)Z\n+  #624 = MethodHandle       6:#625        // REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toToolExecutionRequest:(Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #625 = Methodref          #187.#626     // dev/langchain4j/model/openai/InternalOpenAiHelper.toToolExecutionRequest:(Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #626 = NameAndType        #571:#572     // toToolExecutionRequest:(Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #627 = MethodType         #572          //  (Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #628 = Utf8               InnerClasses\n+  #629 = Utf8               Builder\n+  #630 = Utf8               DetailLevel\n+  #631 = Class              #632          // java/lang/invoke/MethodHandles$Lookup\n+  #632 = Utf8               java/lang/invoke/MethodHandles$Lookup\n+  #633 = Class              #634          // java/lang/invoke/MethodHandles\n+  #634 = Utf8               java/lang/invoke/MethodHandles\n+  #635 = Utf8               Lookup\n {\n   static final java.lang.String OPENAI_URL = \"https://api.openai.com/v1\";\n     descriptor: Ljava/lang/String;\n     flags: (0x0018) ACC_STATIC, ACC_FINAL\n     ConstantValue: String https://api.openai.com/v1\n \n   static final java.lang.String OPENAI_DEMO_API_KEY = \"demo\";\n@@ -683,163 +675,163 @@\n \n   public static java.util.List<dev.ai4j.openai4j.chat.Message> toOpenAiMessages(java.util.List<dev.langchain4j.data.message.ChatMessage>);\n     descriptor: (Ljava/util/List;)Ljava/util/List;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n-         1: invokeinterface #2,  1            // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n-         6: invokedynamic #3,  0              // InvokeDynamic #0:apply:()Ljava/util/function/Function;\n-        11: invokeinterface #4,  2            // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-        16: invokestatic  #5                  // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-        19: invokeinterface #6,  2            // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-        24: checkcast     #7                  // class java/util/List\n+         1: invokeinterface #7,  1            // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n+         6: invokedynamic #13,  0             // InvokeDynamic #0:apply:()Ljava/util/function/Function;\n+        11: invokeinterface #17,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+        16: invokestatic  #23                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+        19: invokeinterface #29,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+        24: checkcast     #8                  // class java/util/List\n         27: areturn\n       LineNumberTable:\n         line 37: 0\n         line 38: 11\n         line 39: 16\n         line 37: 27\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      28     0 messages   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0      28     0 messages   Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n-    Signature: #172                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Message;>;\n+    Signature: #524                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Message;>;\n \n   public static dev.ai4j.openai4j.chat.Message toOpenAiMessage(dev.langchain4j.data.message.ChatMessage);\n     descriptor: (Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=3, locals=4, args_size=1\n          0: aload_0\n-         1: instanceof    #8                  // class dev/langchain4j/data/message/SystemMessage\n+         1: instanceof    #33                 // class dev/langchain4j/data/message/SystemMessage\n          4: ifeq          18\n          7: aload_0\n-         8: checkcast     #8                  // class dev/langchain4j/data/message/SystemMessage\n-        11: invokevirtual #9                  // Method dev/langchain4j/data/message/SystemMessage.text:()Ljava/lang/String;\n-        14: invokestatic  #10                 // Method dev/ai4j/openai4j/chat/SystemMessage.from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/SystemMessage;\n+         8: checkcast     #33                 // class dev/langchain4j/data/message/SystemMessage\n+        11: invokevirtual #35                 // Method dev/langchain4j/data/message/SystemMessage.text:()Ljava/lang/String;\n+        14: invokestatic  #39                 // Method dev/ai4j/openai4j/chat/SystemMessage.from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/SystemMessage;\n         17: areturn\n         18: aload_0\n-        19: instanceof    #11                 // class dev/langchain4j/data/message/UserMessage\n+        19: instanceof    #45                 // class dev/langchain4j/data/message/UserMessage\n         22: ifeq          105\n         25: aload_0\n-        26: checkcast     #11                 // class dev/langchain4j/data/message/UserMessage\n+        26: checkcast     #45                 // class dev/langchain4j/data/message/UserMessage\n         29: astore_1\n         30: aload_1\n-        31: invokevirtual #12                 // Method dev/langchain4j/data/message/UserMessage.hasSingleText:()Z\n+        31: invokevirtual #47                 // Method dev/langchain4j/data/message/UserMessage.hasSingleText:()Z\n         34: ifeq          58\n-        37: invokestatic  #13                 // Method dev/ai4j/openai4j/chat/UserMessage.builder:()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+        37: invokestatic  #51                 // Method dev/ai4j/openai4j/chat/UserMessage.builder:()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n         40: aload_1\n-        41: invokevirtual #14                 // Method dev/langchain4j/data/message/UserMessage.text:()Ljava/lang/String;\n-        44: invokevirtual #15                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.content:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+        41: invokevirtual #57                 // Method dev/langchain4j/data/message/UserMessage.text:()Ljava/lang/String;\n+        44: invokevirtual #58                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.content:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n         47: aload_1\n-        48: invokevirtual #16                 // Method dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n-        51: invokevirtual #17                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-        54: invokevirtual #18                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.build:()Ldev/ai4j/openai4j/chat/UserMessage;\n+        48: invokevirtual #64                 // Method dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n+        51: invokevirtual #67                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+        54: invokevirtual #69                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.build:()Ldev/ai4j/openai4j/chat/UserMessage;\n         57: areturn\n-        58: invokestatic  #13                 // Method dev/ai4j/openai4j/chat/UserMessage.builder:()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+        58: invokestatic  #51                 // Method dev/ai4j/openai4j/chat/UserMessage.builder:()Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n         61: aload_1\n-        62: invokevirtual #19                 // Method dev/langchain4j/data/message/UserMessage.contents:()Ljava/util/List;\n-        65: invokeinterface #2,  1            // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n-        70: invokedynamic #20,  0             // InvokeDynamic #1:apply:()Ljava/util/function/Function;\n-        75: invokeinterface #4,  2            // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-        80: invokestatic  #5                  // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-        83: invokeinterface #6,  2            // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-        88: checkcast     #7                  // class java/util/List\n-        91: invokevirtual #21                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.content:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+        62: invokevirtual #73                 // Method dev/langchain4j/data/message/UserMessage.contents:()Ljava/util/List;\n+        65: invokeinterface #7,  1            // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n+        70: invokedynamic #77,  0             // InvokeDynamic #1:apply:()Ljava/util/function/Function;\n+        75: invokeinterface #17,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+        80: invokestatic  #23                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+        83: invokeinterface #29,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+        88: checkcast     #8                  // class java/util/List\n+        91: invokevirtual #78                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.content:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n         94: aload_1\n-        95: invokevirtual #16                 // Method dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n-        98: invokevirtual #17                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n-       101: invokevirtual #18                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.build:()Ldev/ai4j/openai4j/chat/UserMessage;\n+        95: invokevirtual #64                 // Method dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n+        98: invokevirtual #67                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/UserMessage$Builder;\n+       101: invokevirtual #69                 // Method dev/ai4j/openai4j/chat/UserMessage$Builder.build:()Ldev/ai4j/openai4j/chat/UserMessage;\n        104: areturn\n        105: aload_0\n-       106: instanceof    #22                 // class dev/langchain4j/data/message/AiMessage\n+       106: instanceof    #81                 // class dev/langchain4j/data/message/AiMessage\n        109: ifeq          227\n        112: aload_0\n-       113: checkcast     #22                 // class dev/langchain4j/data/message/AiMessage\n+       113: checkcast     #81                 // class dev/langchain4j/data/message/AiMessage\n        116: astore_1\n        117: aload_1\n-       118: invokevirtual #23                 // Method dev/langchain4j/data/message/AiMessage.hasToolExecutionRequests:()Z\n+       118: invokevirtual #83                 // Method dev/langchain4j/data/message/AiMessage.hasToolExecutionRequests:()Z\n        121: ifne          132\n        124: aload_1\n-       125: invokevirtual #24                 // Method dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n-       128: invokestatic  #25                 // Method dev/ai4j/openai4j/chat/AssistantMessage.from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/AssistantMessage;\n+       125: invokevirtual #86                 // Method dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n+       128: invokestatic  #87                 // Method dev/ai4j/openai4j/chat/AssistantMessage.from:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/AssistantMessage;\n        131: areturn\n        132: aload_1\n-       133: invokevirtual #26                 // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n+       133: invokevirtual #92                 // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n        136: iconst_0\n-       137: invokeinterface #27,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n-       142: checkcast     #28                 // class dev/langchain4j/agent/tool/ToolExecutionRequest\n+       137: invokeinterface #95,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n+       142: checkcast     #99                 // class dev/langchain4j/agent/tool/ToolExecutionRequest\n        145: astore_2\n        146: aload_2\n-       147: invokevirtual #29                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.id:()Ljava/lang/String;\n+       147: invokevirtual #101                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.id:()Ljava/lang/String;\n        150: ifnonnull     185\n-       153: invokestatic  #30                 // Method dev/ai4j/openai4j/chat/FunctionCall.builder:()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+       153: invokestatic  #104                // Method dev/ai4j/openai4j/chat/FunctionCall.builder:()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n        156: aload_2\n-       157: invokevirtual #31                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n-       160: invokevirtual #32                 // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+       157: invokevirtual #109                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n+       160: invokevirtual #110                // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n        163: aload_2\n-       164: invokevirtual #33                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-       167: invokevirtual #34                 // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.arguments:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-       170: invokevirtual #35                 // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.build:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+       164: invokevirtual #115                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+       167: invokevirtual #118                // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.arguments:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+       170: invokevirtual #120                // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.build:()Ldev/ai4j/openai4j/chat/FunctionCall;\n        173: astore_3\n-       174: invokestatic  #36                 // Method dev/ai4j/openai4j/chat/AssistantMessage.builder:()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+       174: invokestatic  #123                // Method dev/ai4j/openai4j/chat/AssistantMessage.builder:()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n        177: aload_3\n-       178: invokevirtual #37                 // Method dev/ai4j/openai4j/chat/AssistantMessage$Builder.functionCall:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-       181: invokevirtual #38                 // Method dev/ai4j/openai4j/chat/AssistantMessage$Builder.build:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n+       178: invokevirtual #126                // Method dev/ai4j/openai4j/chat/AssistantMessage$Builder.functionCall:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+       181: invokevirtual #132                // Method dev/ai4j/openai4j/chat/AssistantMessage$Builder.build:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n        184: areturn\n        185: aload_1\n-       186: invokevirtual #26                 // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n-       189: invokeinterface #2,  1            // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n-       194: invokedynamic #39,  0             // InvokeDynamic #2:apply:()Ljava/util/function/Function;\n-       199: invokeinterface #4,  2            // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-       204: invokestatic  #5                  // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-       207: invokeinterface #6,  2            // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-       212: checkcast     #7                  // class java/util/List\n+       186: invokevirtual #92                 // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n+       189: invokeinterface #7,  1            // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n+       194: invokedynamic #135,  0            // InvokeDynamic #2:apply:()Ljava/util/function/Function;\n+       199: invokeinterface #17,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+       204: invokestatic  #23                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+       207: invokeinterface #29,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+       212: checkcast     #8                  // class java/util/List\n        215: astore_3\n-       216: invokestatic  #36                 // Method dev/ai4j/openai4j/chat/AssistantMessage.builder:()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+       216: invokestatic  #123                // Method dev/ai4j/openai4j/chat/AssistantMessage.builder:()Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n        219: aload_3\n-       220: invokevirtual #40                 // Method dev/ai4j/openai4j/chat/AssistantMessage$Builder.toolCalls:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n-       223: invokevirtual #38                 // Method dev/ai4j/openai4j/chat/AssistantMessage$Builder.build:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n+       220: invokevirtual #136                // Method dev/ai4j/openai4j/chat/AssistantMessage$Builder.toolCalls:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/AssistantMessage$Builder;\n+       223: invokevirtual #132                // Method dev/ai4j/openai4j/chat/AssistantMessage$Builder.build:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n        226: areturn\n        227: aload_0\n-       228: instanceof    #41                 // class dev/langchain4j/data/message/ToolExecutionResultMessage\n+       228: instanceof    #140                // class dev/langchain4j/data/message/ToolExecutionResultMessage\n        231: ifeq          270\n        234: aload_0\n-       235: checkcast     #41                 // class dev/langchain4j/data/message/ToolExecutionResultMessage\n+       235: checkcast     #140                // class dev/langchain4j/data/message/ToolExecutionResultMessage\n        238: astore_1\n        239: aload_1\n-       240: invokevirtual #42                 // Method dev/langchain4j/data/message/ToolExecutionResultMessage.id:()Ljava/lang/String;\n+       240: invokevirtual #142                // Method dev/langchain4j/data/message/ToolExecutionResultMessage.id:()Ljava/lang/String;\n        243: ifnonnull     258\n        246: aload_1\n-       247: invokevirtual #43                 // Method dev/langchain4j/data/message/ToolExecutionResultMessage.toolName:()Ljava/lang/String;\n+       247: invokevirtual #143                // Method dev/langchain4j/data/message/ToolExecutionResultMessage.toolName:()Ljava/lang/String;\n        250: aload_1\n-       251: invokevirtual #44                 // Method dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n-       254: invokestatic  #45                 // Method dev/ai4j/openai4j/chat/FunctionMessage.from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionMessage;\n+       251: invokevirtual #146                // Method dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n+       254: invokestatic  #147                // Method dev/ai4j/openai4j/chat/FunctionMessage.from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionMessage;\n        257: areturn\n        258: aload_1\n-       259: invokevirtual #42                 // Method dev/langchain4j/data/message/ToolExecutionResultMessage.id:()Ljava/lang/String;\n+       259: invokevirtual #142                // Method dev/langchain4j/data/message/ToolExecutionResultMessage.id:()Ljava/lang/String;\n        262: aload_1\n-       263: invokevirtual #44                 // Method dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n-       266: invokestatic  #46                 // Method dev/ai4j/openai4j/chat/ToolMessage.from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolMessage;\n+       263: invokevirtual #146                // Method dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n+       266: invokestatic  #152                // Method dev/ai4j/openai4j/chat/ToolMessage.from:(Ljava/lang/String;Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolMessage;\n        269: areturn\n-       270: new           #47                 // class java/lang/StringBuilder\n+       270: new           #157                // class java/lang/StringBuilder\n        273: dup\n-       274: invokespecial #48                 // Method java/lang/StringBuilder.\"<init>\":()V\n-       277: ldc           #49                 // String Unknown message type:\n-       279: invokevirtual #50                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       274: invokespecial #159                // Method java/lang/StringBuilder.\"<init>\":()V\n+       277: ldc           #160                // String Unknown message type:\n+       279: invokevirtual #162                // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        282: aload_0\n-       283: invokeinterface #51,  1           // InterfaceMethod dev/langchain4j/data/message/ChatMessage.type:()Ldev/langchain4j/data/message/ChatMessageType;\n-       288: invokevirtual #52                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       291: invokevirtual #53                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+       283: invokeinterface #166,  1          // InterfaceMethod dev/langchain4j/data/message/ChatMessage.type:()Ldev/langchain4j/data/message/ChatMessageType;\n+       288: invokevirtual #172                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       291: invokevirtual #175                // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n        294: iconst_0\n-       295: anewarray     #54                 // class java/lang/Object\n-       298: invokestatic  #55                 // Method dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+       295: anewarray     #2                  // class java/lang/Object\n+       298: invokestatic  #178                // Method dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n        301: athrow\n       LineNumberTable:\n         line 43: 0\n         line 44: 7\n         line 47: 18\n         line 48: 25\n         line 50: 30\n@@ -918,38 +910,38 @@\n \n   private static dev.ai4j.openai4j.chat.Content toOpenAiContent(dev.langchain4j.data.message.Content);\n     descriptor: (Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n     flags: (0x000a) ACC_PRIVATE, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n-         1: instanceof    #56                 // class dev/langchain4j/data/message/TextContent\n+         1: instanceof    #184                // class dev/langchain4j/data/message/TextContent\n          4: ifeq          15\n          7: aload_0\n-         8: checkcast     #56                 // class dev/langchain4j/data/message/TextContent\n-        11: invokestatic  #57                 // Method toOpenAiContent:(Ldev/langchain4j/data/message/TextContent;)Ldev/ai4j/openai4j/chat/Content;\n+         8: checkcast     #184                // class dev/langchain4j/data/message/TextContent\n+        11: invokestatic  #186                // Method toOpenAiContent:(Ldev/langchain4j/data/message/TextContent;)Ldev/ai4j/openai4j/chat/Content;\n         14: areturn\n         15: aload_0\n-        16: instanceof    #58                 // class dev/langchain4j/data/message/ImageContent\n+        16: instanceof    #192                // class dev/langchain4j/data/message/ImageContent\n         19: ifeq          30\n         22: aload_0\n-        23: checkcast     #58                 // class dev/langchain4j/data/message/ImageContent\n-        26: invokestatic  #59                 // Method toOpenAiContent:(Ldev/langchain4j/data/message/ImageContent;)Ldev/ai4j/openai4j/chat/Content;\n+        23: checkcast     #192                // class dev/langchain4j/data/message/ImageContent\n+        26: invokestatic  #194                // Method toOpenAiContent:(Ldev/langchain4j/data/message/ImageContent;)Ldev/ai4j/openai4j/chat/Content;\n         29: areturn\n-        30: new           #47                 // class java/lang/StringBuilder\n+        30: new           #157                // class java/lang/StringBuilder\n         33: dup\n-        34: invokespecial #48                 // Method java/lang/StringBuilder.\"<init>\":()V\n-        37: ldc           #60                 // String Unknown content type:\n-        39: invokevirtual #50                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        34: invokespecial #159                // Method java/lang/StringBuilder.\"<init>\":()V\n+        37: ldc           #197                // String Unknown content type:\n+        39: invokevirtual #162                // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         42: aload_0\n-        43: invokevirtual #52                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        46: invokevirtual #53                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+        43: invokevirtual #172                // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        46: invokevirtual #175                // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n         49: iconst_0\n-        50: anewarray     #54                 // class java/lang/Object\n-        53: invokestatic  #55                 // Method dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+        50: anewarray     #2                  // class java/lang/Object\n+        53: invokestatic  #178                // Method dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n         56: athrow\n       LineNumberTable:\n         line 114: 0\n         line 115: 7\n         line 116: 15\n         line 117: 22\n         line 119: 30\n@@ -961,21 +953,21 @@\n         frame_type = 14 /* same */\n \n   private static dev.ai4j.openai4j.chat.Content toOpenAiContent(dev.langchain4j.data.message.TextContent);\n     descriptor: (Ldev/langchain4j/data/message/TextContent;)Ldev/ai4j/openai4j/chat/Content;\n     flags: (0x000a) ACC_PRIVATE, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: invokestatic  #61                 // Method dev/ai4j/openai4j/chat/Content.builder:()Ldev/ai4j/openai4j/chat/Content$Builder;\n-         3: getstatic     #62                 // Field dev/ai4j/openai4j/chat/ContentType.TEXT:Ldev/ai4j/openai4j/chat/ContentType;\n-         6: invokevirtual #63                 // Method dev/ai4j/openai4j/chat/Content$Builder.type:(Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+         0: invokestatic  #199                // Method dev/ai4j/openai4j/chat/Content.builder:()Ldev/ai4j/openai4j/chat/Content$Builder;\n+         3: getstatic     #204                // Field dev/ai4j/openai4j/chat/ContentType.TEXT:Ldev/ai4j/openai4j/chat/ContentType;\n+         6: invokevirtual #210                // Method dev/ai4j/openai4j/chat/Content$Builder.type:(Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n          9: aload_0\n-        10: invokevirtual #64                 // Method dev/langchain4j/data/message/TextContent.text:()Ljava/lang/String;\n-        13: invokevirtual #65                 // Method dev/ai4j/openai4j/chat/Content$Builder.text:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-        16: invokevirtual #66                 // Method dev/ai4j/openai4j/chat/Content$Builder.build:()Ldev/ai4j/openai4j/chat/Content;\n+        10: invokevirtual #215                // Method dev/langchain4j/data/message/TextContent.text:()Ljava/lang/String;\n+        13: invokevirtual #216                // Method dev/ai4j/openai4j/chat/Content$Builder.text:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+        16: invokevirtual #219                // Method dev/ai4j/openai4j/chat/Content$Builder.build:()Ldev/ai4j/openai4j/chat/Content;\n         19: areturn\n       LineNumberTable:\n         line 124: 0\n         line 125: 6\n         line 126: 10\n         line 127: 16\n         line 124: 19\n@@ -984,29 +976,29 @@\n             0      20     0 content   Ldev/langchain4j/data/message/TextContent;\n \n   private static dev.ai4j.openai4j.chat.Content toOpenAiContent(dev.langchain4j.data.message.ImageContent);\n     descriptor: (Ldev/langchain4j/data/message/ImageContent;)Ldev/ai4j/openai4j/chat/Content;\n     flags: (0x000a) ACC_PRIVATE, ACC_STATIC\n     Code:\n       stack=3, locals=1, args_size=1\n-         0: invokestatic  #61                 // Method dev/ai4j/openai4j/chat/Content.builder:()Ldev/ai4j/openai4j/chat/Content$Builder;\n-         3: getstatic     #67                 // Field dev/ai4j/openai4j/chat/ContentType.IMAGE_URL:Ldev/ai4j/openai4j/chat/ContentType;\n-         6: invokevirtual #63                 // Method dev/ai4j/openai4j/chat/Content$Builder.type:(Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-         9: invokestatic  #68                 // Method dev/ai4j/openai4j/chat/ImageUrl.builder:()Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+         0: invokestatic  #199                // Method dev/ai4j/openai4j/chat/Content.builder:()Ldev/ai4j/openai4j/chat/Content$Builder;\n+         3: getstatic     #222                // Field dev/ai4j/openai4j/chat/ContentType.IMAGE_URL:Ldev/ai4j/openai4j/chat/ContentType;\n+         6: invokevirtual #210                // Method dev/ai4j/openai4j/chat/Content$Builder.type:(Ldev/ai4j/openai4j/chat/ContentType;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+         9: invokestatic  #225                // Method dev/ai4j/openai4j/chat/ImageUrl.builder:()Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n         12: aload_0\n-        13: invokevirtual #69                 // Method dev/langchain4j/data/message/ImageContent.image:()Ldev/langchain4j/data/image/Image;\n-        16: invokestatic  #70                 // Method toUrl:(Ldev/langchain4j/data/image/Image;)Ljava/lang/String;\n-        19: invokevirtual #71                 // Method dev/ai4j/openai4j/chat/ImageUrl$Builder.url:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+        13: invokevirtual #230                // Method dev/langchain4j/data/message/ImageContent.image:()Ldev/langchain4j/data/image/Image;\n+        16: invokestatic  #234                // Method toUrl:(Ldev/langchain4j/data/image/Image;)Ljava/lang/String;\n+        19: invokevirtual #238                // Method dev/ai4j/openai4j/chat/ImageUrl$Builder.url:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n         22: aload_0\n-        23: invokevirtual #72                 // Method dev/langchain4j/data/message/ImageContent.detailLevel:()Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n-        26: invokestatic  #73                 // Method toDetail:(Ldev/langchain4j/data/message/ImageContent$DetailLevel;)Ldev/ai4j/openai4j/chat/ImageDetail;\n-        29: invokevirtual #74                 // Method dev/ai4j/openai4j/chat/ImageUrl$Builder.detail:(Ldev/ai4j/openai4j/chat/ImageDetail;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n-        32: invokevirtual #75                 // Method dev/ai4j/openai4j/chat/ImageUrl$Builder.build:()Ldev/ai4j/openai4j/chat/ImageUrl;\n-        35: invokevirtual #76                 // Method dev/ai4j/openai4j/chat/Content$Builder.imageUrl:(Ldev/ai4j/openai4j/chat/ImageUrl;)Ldev/ai4j/openai4j/chat/Content$Builder;\n-        38: invokevirtual #66                 // Method dev/ai4j/openai4j/chat/Content$Builder.build:()Ldev/ai4j/openai4j/chat/Content;\n+        23: invokevirtual #244                // Method dev/langchain4j/data/message/ImageContent.detailLevel:()Ldev/langchain4j/data/message/ImageContent$DetailLevel;\n+        26: invokestatic  #248                // Method toDetail:(Ldev/langchain4j/data/message/ImageContent$DetailLevel;)Ldev/ai4j/openai4j/chat/ImageDetail;\n+        29: invokevirtual #252                // Method dev/ai4j/openai4j/chat/ImageUrl$Builder.detail:(Ldev/ai4j/openai4j/chat/ImageDetail;)Ldev/ai4j/openai4j/chat/ImageUrl$Builder;\n+        32: invokevirtual #256                // Method dev/ai4j/openai4j/chat/ImageUrl$Builder.build:()Ldev/ai4j/openai4j/chat/ImageUrl;\n+        35: invokevirtual #259                // Method dev/ai4j/openai4j/chat/Content$Builder.imageUrl:(Ldev/ai4j/openai4j/chat/ImageUrl;)Ldev/ai4j/openai4j/chat/Content$Builder;\n+        38: invokevirtual #219                // Method dev/ai4j/openai4j/chat/Content$Builder.build:()Ldev/ai4j/openai4j/chat/Content;\n         41: areturn\n       LineNumberTable:\n         line 131: 0\n         line 132: 6\n         line 133: 9\n         line 134: 13\n         line 135: 23\n@@ -1020,57 +1012,57 @@\n \n   private static java.lang.String toUrl(dev.langchain4j.data.image.Image);\n     descriptor: (Ldev/langchain4j/data/image/Image;)Ljava/lang/String;\n     flags: (0x000a) ACC_PRIVATE, ACC_STATIC\n     Code:\n       stack=5, locals=1, args_size=1\n          0: aload_0\n-         1: invokevirtual #77                 // Method dev/langchain4j/data/image/Image.url:()Ljava/net/URI;\n+         1: invokevirtual #263                // Method dev/langchain4j/data/image/Image.url:()Ljava/net/URI;\n          4: ifnull        15\n          7: aload_0\n-         8: invokevirtual #77                 // Method dev/langchain4j/data/image/Image.url:()Ljava/net/URI;\n-        11: invokevirtual #78                 // Method java/net/URI.toString:()Ljava/lang/String;\n+         8: invokevirtual #263                // Method dev/langchain4j/data/image/Image.url:()Ljava/net/URI;\n+        11: invokevirtual #268                // Method java/net/URI.toString:()Ljava/lang/String;\n         14: areturn\n-        15: ldc           #79                 // String data:%s;base64,%s\n-        17: iconst_2\n-        18: anewarray     #54                 // class java/lang/Object\n-        21: dup\n-        22: iconst_0\n-        23: aload_0\n-        24: invokevirtual #80                 // Method dev/langchain4j/data/image/Image.mimeType:()Ljava/lang/String;\n-        27: aastore\n-        28: dup\n-        29: iconst_1\n-        30: aload_0\n-        31: invokevirtual #81                 // Method dev/langchain4j/data/image/Image.base64Data:()Ljava/lang/String;\n-        34: aastore\n-        35: invokestatic  #82                 // Method java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;\n-        38: areturn\n+        15: ldc_w         #271                // String data:%s;base64,%s\n+        18: iconst_2\n+        19: anewarray     #2                  // class java/lang/Object\n+        22: dup\n+        23: iconst_0\n+        24: aload_0\n+        25: invokevirtual #273                // Method dev/langchain4j/data/image/Image.mimeType:()Ljava/lang/String;\n+        28: aastore\n+        29: dup\n+        30: iconst_1\n+        31: aload_0\n+        32: invokevirtual #276                // Method dev/langchain4j/data/image/Image.base64Data:()Ljava/lang/String;\n+        35: aastore\n+        36: invokestatic  #279                // Method java/lang/String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;\n+        39: areturn\n       LineNumberTable:\n         line 141: 0\n         line 142: 7\n         line 144: 15\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n-            0      39     0 image   Ldev/langchain4j/data/image/Image;\n+            0      40     0 image   Ldev/langchain4j/data/image/Image;\n       StackMapTable: number_of_entries = 1\n         frame_type = 15 /* same */\n \n   private static dev.ai4j.openai4j.chat.ImageDetail toDetail(dev.langchain4j.data.message.ImageContent$DetailLevel);\n     descriptor: (Ldev/langchain4j/data/message/ImageContent$DetailLevel;)Ldev/ai4j/openai4j/chat/ImageDetail;\n     flags: (0x000a) ACC_PRIVATE, ACC_STATIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n          1: ifnonnull     6\n          4: aconst_null\n          5: areturn\n          6: aload_0\n-         7: invokevirtual #83                 // Method dev/langchain4j/data/message/ImageContent$DetailLevel.name:()Ljava/lang/String;\n-        10: invokestatic  #84                 // Method dev/ai4j/openai4j/chat/ImageDetail.valueOf:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageDetail;\n+         7: invokevirtual #285                // Method dev/langchain4j/data/message/ImageContent$DetailLevel.name:()Ljava/lang/String;\n+        10: invokestatic  #288                // Method dev/ai4j/openai4j/chat/ImageDetail.valueOf:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ImageDetail;\n         13: areturn\n       LineNumberTable:\n         line 148: 0\n         line 149: 4\n         line 151: 6\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -1080,54 +1072,54 @@\n \n   public static java.util.List<dev.ai4j.openai4j.chat.Tool> toTools(java.util.Collection<dev.langchain4j.agent.tool.ToolSpecification>);\n     descriptor: (Ljava/util/Collection;)Ljava/util/List;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n-         1: invokeinterface #85,  1           // InterfaceMethod java/util/Collection.stream:()Ljava/util/stream/Stream;\n-         6: invokedynamic #86,  0             // InvokeDynamic #3:apply:()Ljava/util/function/Function;\n-        11: invokeinterface #4,  2            // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-        16: invokestatic  #5                  // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-        19: invokeinterface #6,  2            // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-        24: checkcast     #7                  // class java/util/List\n+         1: invokeinterface #294,  1          // InterfaceMethod java/util/Collection.stream:()Ljava/util/stream/Stream;\n+         6: invokedynamic #297,  0            // InvokeDynamic #3:apply:()Ljava/util/function/Function;\n+        11: invokeinterface #17,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+        16: invokestatic  #23                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+        19: invokeinterface #29,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+        24: checkcast     #8                  // class java/util/List\n         27: areturn\n       LineNumberTable:\n         line 155: 0\n         line 156: 11\n         line 157: 16\n         line 155: 27\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      28     0 toolSpecifications   Ljava/util/Collection;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0      28     0 toolSpecifications   Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n-    Signature: #218                         // (Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Tool;>;\n+    Signature: #549                         // (Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Tool;>;\n \n   private static dev.ai4j.openai4j.chat.Tool toTool(dev.langchain4j.agent.tool.ToolSpecification);\n     descriptor: (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n     flags: (0x000a) ACC_PRIVATE, ACC_STATIC\n     Code:\n       stack=2, locals=2, args_size=1\n-         0: invokestatic  #87                 // Method dev/ai4j/openai4j/chat/Function.builder:()Ldev/ai4j/openai4j/chat/Function$Builder;\n+         0: invokestatic  #298                // Method dev/ai4j/openai4j/chat/Function.builder:()Ldev/ai4j/openai4j/chat/Function$Builder;\n          3: aload_0\n-         4: invokevirtual #88                 // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n-         7: invokevirtual #89                 // Method dev/ai4j/openai4j/chat/Function$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+         4: invokevirtual #303                // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n+         7: invokevirtual #306                // Method dev/ai4j/openai4j/chat/Function$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n         10: aload_0\n-        11: invokevirtual #90                 // Method dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n-        14: invokevirtual #91                 // Method dev/ai4j/openai4j/chat/Function$Builder.description:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+        11: invokevirtual #311                // Method dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n+        14: invokevirtual #314                // Method dev/ai4j/openai4j/chat/Function$Builder.description:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n         17: aload_0\n-        18: invokevirtual #92                 // Method dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n-        21: invokestatic  #93                 // Method toOpenAiParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n-        24: invokevirtual #94                 // Method dev/ai4j/openai4j/chat/Function$Builder.parameters:(Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-        27: invokevirtual #95                 // Method dev/ai4j/openai4j/chat/Function$Builder.build:()Ldev/ai4j/openai4j/chat/Function;\n+        18: invokevirtual #316                // Method dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n+        21: invokestatic  #320                // Method toOpenAiParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n+        24: invokevirtual #324                // Method dev/ai4j/openai4j/chat/Function$Builder.parameters:(Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+        27: invokevirtual #327                // Method dev/ai4j/openai4j/chat/Function$Builder.build:()Ldev/ai4j/openai4j/chat/Function;\n         30: astore_1\n         31: aload_1\n-        32: invokestatic  #96                 // Method dev/ai4j/openai4j/chat/Tool.from:(Ldev/ai4j/openai4j/chat/Function;)Ldev/ai4j/openai4j/chat/Tool;\n+        32: invokestatic  #330                // Method dev/ai4j/openai4j/chat/Tool.from:(Ldev/ai4j/openai4j/chat/Function;)Ldev/ai4j/openai4j/chat/Tool;\n         35: areturn\n       LineNumberTable:\n         line 161: 0\n         line 162: 4\n         line 163: 11\n         line 164: 18\n         line 165: 27\n@@ -1139,89 +1131,89 @@\n \n   public static java.util.List<dev.ai4j.openai4j.chat.Function> toFunctions(java.util.Collection<dev.langchain4j.agent.tool.ToolSpecification>);\n     descriptor: (Ljava/util/Collection;)Ljava/util/List;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n-         1: invokeinterface #85,  1           // InterfaceMethod java/util/Collection.stream:()Ljava/util/stream/Stream;\n-         6: invokedynamic #97,  0             // InvokeDynamic #4:apply:()Ljava/util/function/Function;\n-        11: invokeinterface #4,  2            // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-        16: invokestatic  #5                  // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-        19: invokeinterface #6,  2            // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-        24: checkcast     #7                  // class java/util/List\n+         1: invokeinterface #294,  1          // InterfaceMethod java/util/Collection.stream:()Ljava/util/stream/Stream;\n+         6: invokedynamic #335,  0            // InvokeDynamic #4:apply:()Ljava/util/function/Function;\n+        11: invokeinterface #17,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+        16: invokestatic  #23                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+        19: invokeinterface #29,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+        24: checkcast     #8                  // class java/util/List\n         27: areturn\n       LineNumberTable:\n         line 171: 0\n         line 172: 11\n         line 173: 16\n         line 171: 27\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      28     0 toolSpecifications   Ljava/util/Collection;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0      28     0 toolSpecifications   Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n     Deprecated: true\n-    Signature: #227                         // (Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Function;>;\n+    Signature: #557                         // (Ljava/util/Collection<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ljava/util/List<Ldev/ai4j/openai4j/chat/Function;>;\n     RuntimeVisibleAnnotations:\n-      0: #229()\n+      0: #559()\n         java.lang.Deprecated\n \n   private static dev.ai4j.openai4j.chat.Function toFunction(dev.langchain4j.agent.tool.ToolSpecification);\n     descriptor: (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n     flags: (0x000a) ACC_PRIVATE, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: invokestatic  #87                 // Method dev/ai4j/openai4j/chat/Function.builder:()Ldev/ai4j/openai4j/chat/Function$Builder;\n+         0: invokestatic  #298                // Method dev/ai4j/openai4j/chat/Function.builder:()Ldev/ai4j/openai4j/chat/Function$Builder;\n          3: aload_0\n-         4: invokevirtual #88                 // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n-         7: invokevirtual #89                 // Method dev/ai4j/openai4j/chat/Function$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+         4: invokevirtual #303                // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n+         7: invokevirtual #306                // Method dev/ai4j/openai4j/chat/Function$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n         10: aload_0\n-        11: invokevirtual #90                 // Method dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n-        14: invokevirtual #91                 // Method dev/ai4j/openai4j/chat/Function$Builder.description:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+        11: invokevirtual #311                // Method dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n+        14: invokevirtual #314                // Method dev/ai4j/openai4j/chat/Function$Builder.description:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/Function$Builder;\n         17: aload_0\n-        18: invokevirtual #92                 // Method dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n-        21: invokestatic  #93                 // Method toOpenAiParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n-        24: invokevirtual #94                 // Method dev/ai4j/openai4j/chat/Function$Builder.parameters:(Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n-        27: invokevirtual #95                 // Method dev/ai4j/openai4j/chat/Function$Builder.build:()Ldev/ai4j/openai4j/chat/Function;\n+        18: invokevirtual #316                // Method dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n+        21: invokestatic  #320                // Method toOpenAiParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n+        24: invokevirtual #324                // Method dev/ai4j/openai4j/chat/Function$Builder.parameters:(Ldev/ai4j/openai4j/chat/Parameters;)Ldev/ai4j/openai4j/chat/Function$Builder;\n+        27: invokevirtual #327                // Method dev/ai4j/openai4j/chat/Function$Builder.build:()Ldev/ai4j/openai4j/chat/Function;\n         30: areturn\n       LineNumberTable:\n         line 178: 0\n         line 179: 4\n         line 180: 11\n         line 181: 18\n         line 182: 27\n         line 178: 30\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      31     0 toolSpecification   Ldev/langchain4j/agent/tool/ToolSpecification;\n     Deprecated: true\n     RuntimeVisibleAnnotations:\n-      0: #229()\n+      0: #559()\n         java.lang.Deprecated\n \n   private static dev.ai4j.openai4j.chat.Parameters toOpenAiParameters(dev.langchain4j.agent.tool.ToolParameters);\n     descriptor: (Ldev/langchain4j/agent/tool/ToolParameters;)Ldev/ai4j/openai4j/chat/Parameters;\n     flags: (0x000a) ACC_PRIVATE, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n          1: ifnonnull     11\n-         4: invokestatic  #98                 // Method dev/ai4j/openai4j/chat/Parameters.builder:()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-         7: invokevirtual #99                 // Method dev/ai4j/openai4j/chat/Parameters$Builder.build:()Ldev/ai4j/openai4j/chat/Parameters;\n+         4: invokestatic  #336                // Method dev/ai4j/openai4j/chat/Parameters.builder:()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+         7: invokevirtual #341                // Method dev/ai4j/openai4j/chat/Parameters$Builder.build:()Ldev/ai4j/openai4j/chat/Parameters;\n         10: areturn\n-        11: invokestatic  #98                 // Method dev/ai4j/openai4j/chat/Parameters.builder:()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+        11: invokestatic  #336                // Method dev/ai4j/openai4j/chat/Parameters.builder:()Ldev/ai4j/openai4j/chat/Parameters$Builder;\n         14: aload_0\n-        15: invokevirtual #100                // Method dev/langchain4j/agent/tool/ToolParameters.properties:()Ljava/util/Map;\n-        18: invokevirtual #101                // Method dev/ai4j/openai4j/chat/Parameters$Builder.properties:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+        15: invokevirtual #346                // Method dev/langchain4j/agent/tool/ToolParameters.properties:()Ljava/util/Map;\n+        18: invokevirtual #352                // Method dev/ai4j/openai4j/chat/Parameters$Builder.properties:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n         21: aload_0\n-        22: invokevirtual #102                // Method dev/langchain4j/agent/tool/ToolParameters.required:()Ljava/util/List;\n-        25: invokevirtual #103                // Method dev/ai4j/openai4j/chat/Parameters$Builder.required:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n-        28: invokevirtual #99                 // Method dev/ai4j/openai4j/chat/Parameters$Builder.build:()Ldev/ai4j/openai4j/chat/Parameters;\n+        22: invokevirtual #355                // Method dev/langchain4j/agent/tool/ToolParameters.required:()Ljava/util/List;\n+        25: invokevirtual #358                // Method dev/ai4j/openai4j/chat/Parameters$Builder.required:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/Parameters$Builder;\n+        28: invokevirtual #341                // Method dev/ai4j/openai4j/chat/Parameters$Builder.build:()Ldev/ai4j/openai4j/chat/Parameters;\n         31: areturn\n       LineNumberTable:\n         line 186: 0\n         line 187: 4\n         line 189: 11\n         line 190: 15\n         line 191: 22\n@@ -1235,64 +1227,64 @@\n \n   public static dev.langchain4j.data.message.AiMessage aiMessageFrom(dev.ai4j.openai4j.chat.ChatCompletionResponse);\n     descriptor: (Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=4, locals=5, args_size=1\n          0: aload_0\n-         1: invokevirtual #104                // Method dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n+         1: invokevirtual #361                // Method dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n          4: iconst_0\n-         5: invokeinterface #27,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n-        10: checkcast     #105                // class dev/ai4j/openai4j/chat/ChatCompletionChoice\n-        13: invokevirtual #106                // Method dev/ai4j/openai4j/chat/ChatCompletionChoice.message:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n+         5: invokeinterface #95,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n+        10: checkcast     #366                // class dev/ai4j/openai4j/chat/ChatCompletionChoice\n+        13: invokevirtual #368                // Method dev/ai4j/openai4j/chat/ChatCompletionChoice.message:()Ldev/ai4j/openai4j/chat/AssistantMessage;\n         16: astore_1\n         17: aload_1\n-        18: invokevirtual #107                // Method dev/ai4j/openai4j/chat/AssistantMessage.toolCalls:()Ljava/util/List;\n+        18: invokevirtual #371                // Method dev/ai4j/openai4j/chat/AssistantMessage.toolCalls:()Ljava/util/List;\n         21: astore_2\n         22: aload_2\n-        23: invokestatic  #108                // Method dev/langchain4j/internal/Utils.isNullOrEmpty:(Ljava/util/Collection;)Z\n+        23: invokestatic  #373                // Method dev/langchain4j/internal/Utils.isNullOrEmpty:(Ljava/util/Collection;)Z\n         26: ifne          72\n         29: aload_2\n-        30: invokeinterface #2,  1            // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n-        35: invokedynamic #109,  0            // InvokeDynamic #5:test:()Ljava/util/function/Predicate;\n-        40: invokeinterface #110,  2          // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;\n-        45: invokedynamic #111,  0            // InvokeDynamic #6:apply:()Ljava/util/function/Function;\n-        50: invokeinterface #4,  2            // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-        55: invokestatic  #5                  // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-        58: invokeinterface #6,  2            // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-        63: checkcast     #7                  // class java/util/List\n+        30: invokeinterface #7,  1            // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n+        35: invokedynamic #379,  0            // InvokeDynamic #5:test:()Ljava/util/function/Predicate;\n+        40: invokeinterface #383,  2          // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;\n+        45: invokedynamic #387,  0            // InvokeDynamic #6:apply:()Ljava/util/function/Function;\n+        50: invokeinterface #17,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+        55: invokestatic  #23                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+        58: invokeinterface #29,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+        63: checkcast     #8                  // class java/util/List\n         66: astore_3\n         67: aload_3\n-        68: invokestatic  #112                // Method dev/langchain4j/data/message/AiMessage.aiMessage:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n+        68: invokestatic  #388                // Method dev/langchain4j/data/message/AiMessage.aiMessage:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n         71: areturn\n         72: aload_1\n-        73: invokevirtual #113                // Method dev/ai4j/openai4j/chat/AssistantMessage.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+        73: invokevirtual #392                // Method dev/ai4j/openai4j/chat/AssistantMessage.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n         76: astore_3\n         77: aload_3\n         78: ifnull        116\n-        81: invokestatic  #114                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        81: invokestatic  #394                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n         84: aload_3\n-        85: invokevirtual #115                // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n-        88: invokevirtual #116                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        85: invokevirtual #397                // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n+        88: invokevirtual #398                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n         91: aload_3\n-        92: invokevirtual #117                // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n-        95: invokevirtual #118                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-        98: invokevirtual #119                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+        92: invokevirtual #403                // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n+        95: invokevirtual #404                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        98: invokevirtual #406                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n        101: astore        4\n        103: iconst_1\n-       104: anewarray     #28                 // class dev/langchain4j/agent/tool/ToolExecutionRequest\n+       104: anewarray     #99                 // class dev/langchain4j/agent/tool/ToolExecutionRequest\n        107: dup\n        108: iconst_0\n        109: aload         4\n        111: aastore\n-       112: invokestatic  #120                // Method dev/langchain4j/data/message/AiMessage.aiMessage:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n+       112: invokestatic  #409                // Method dev/langchain4j/data/message/AiMessage.aiMessage:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n        115: areturn\n        116: aload_1\n-       117: invokevirtual #121                // Method dev/ai4j/openai4j/chat/AssistantMessage.content:()Ljava/lang/String;\n-       120: invokestatic  #122                // Method dev/langchain4j/data/message/AiMessage.aiMessage:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n+       117: invokevirtual #412                // Method dev/ai4j/openai4j/chat/AssistantMessage.content:()Ljava/lang/String;\n+       120: invokestatic  #414                // Method dev/langchain4j/data/message/AiMessage.aiMessage:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n        123: areturn\n       LineNumberTable:\n         line 196: 0\n         line 198: 17\n         line 199: 22\n         line 200: 29\n         line 201: 40\n@@ -1329,27 +1321,27 @@\n \n   private static dev.langchain4j.agent.tool.ToolExecutionRequest toToolExecutionRequest(dev.ai4j.openai4j.chat.ToolCall);\n     descriptor: (Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n     flags: (0x000a) ACC_PRIVATE, ACC_STATIC\n     Code:\n       stack=2, locals=2, args_size=1\n          0: aload_0\n-         1: invokevirtual #123                // Method dev/ai4j/openai4j/chat/ToolCall.function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+         1: invokevirtual #417                // Method dev/ai4j/openai4j/chat/ToolCall.function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n          4: astore_1\n-         5: invokestatic  #114                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+         5: invokestatic  #394                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n          8: aload_0\n-         9: invokevirtual #124                // Method dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n-        12: invokevirtual #125                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+         9: invokevirtual #422                // Method dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n+        12: invokevirtual #423                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n         15: aload_1\n-        16: invokevirtual #115                // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n-        19: invokevirtual #116                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        16: invokevirtual #397                // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n+        19: invokevirtual #398                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n         22: aload_1\n-        23: invokevirtual #117                // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n-        26: invokevirtual #118                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-        29: invokevirtual #119                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+        23: invokevirtual #403                // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n+        26: invokevirtual #404                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        29: invokevirtual #406                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n         32: areturn\n       LineNumberTable:\n         line 220: 0\n         line 221: 5\n         line 222: 9\n         line 223: 16\n         line 224: 23\n@@ -1365,23 +1357,23 @@\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=5, locals=1, args_size=1\n          0: aload_0\n          1: ifnonnull     6\n          4: aconst_null\n          5: areturn\n-         6: new           #126                // class dev/langchain4j/model/output/TokenUsage\n+         6: new           #425                // class dev/langchain4j/model/output/TokenUsage\n          9: dup\n         10: aload_0\n-        11: invokevirtual #127                // Method dev/ai4j/openai4j/shared/Usage.promptTokens:()Ljava/lang/Integer;\n+        11: invokevirtual #427                // Method dev/ai4j/openai4j/shared/Usage.promptTokens:()Ljava/lang/Integer;\n         14: aload_0\n-        15: invokevirtual #128                // Method dev/ai4j/openai4j/shared/Usage.completionTokens:()Ljava/lang/Integer;\n+        15: invokevirtual #433                // Method dev/ai4j/openai4j/shared/Usage.completionTokens:()Ljava/lang/Integer;\n         18: aload_0\n-        19: invokevirtual #129                // Method dev/ai4j/openai4j/shared/Usage.totalTokens:()Ljava/lang/Integer;\n-        22: invokespecial #130                // Method dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V\n+        19: invokevirtual #436                // Method dev/ai4j/openai4j/shared/Usage.totalTokens:()Ljava/lang/Integer;\n+        22: invokespecial #439                // Method dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V\n         25: areturn\n       LineNumberTable:\n         line 229: 0\n         line 230: 4\n         line 232: 6\n         line 233: 11\n         line 234: 15\n@@ -1403,112 +1395,112 @@\n          4: aconst_null\n          5: areturn\n          6: aload_0\n          7: astore_1\n          8: iconst_m1\n          9: istore_2\n         10: aload_1\n-        11: invokevirtual #131                // Method java/lang/String.hashCode:()I\n+        11: invokevirtual #442                // Method java/lang/String.hashCode:()I\n         14: lookupswitch  { // 5\n-             -1106363674: 78\n-               -25949074: 92\n+             -1106363674: 79\n+               -25949074: 94\n                  3540994: 64\n-               124602878: 120\n-              2053138021: 106\n-                 default: 131\n+               124602878: 124\n+              2053138021: 109\n+                 default: 136\n             }\n         64: aload_1\n-        65: ldc           #132                // String stop\n-        67: invokevirtual #133                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n-        70: ifeq          131\n-        73: iconst_0\n-        74: istore_2\n-        75: goto          131\n-        78: aload_1\n-        79: ldc           #134                // String length\n-        81: invokevirtual #133                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n-        84: ifeq          131\n-        87: iconst_1\n-        88: istore_2\n-        89: goto          131\n-        92: aload_1\n-        93: ldc           #135                // String tool_calls\n-        95: invokevirtual #133                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n-        98: ifeq          131\n-       101: iconst_2\n-       102: istore_2\n-       103: goto          131\n-       106: aload_1\n-       107: ldc           #136                // String function_call\n-       109: invokevirtual #133                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n-       112: ifeq          131\n-       115: iconst_3\n-       116: istore_2\n-       117: goto          131\n-       120: aload_1\n-       121: ldc           #137                // String content_filter\n-       123: invokevirtual #133                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n-       126: ifeq          131\n-       129: iconst_4\n-       130: istore_2\n-       131: iload_2\n-       132: tableswitch   { // 0 to 4\n-                       0: 168\n-                       1: 172\n-                       2: 176\n-                       3: 176\n-                       4: 180\n-                 default: 184\n+        65: ldc_w         #446                // String stop\n+        68: invokevirtual #448                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+        71: ifeq          136\n+        74: iconst_0\n+        75: istore_2\n+        76: goto          136\n+        79: aload_1\n+        80: ldc_w         #452                // String length\n+        83: invokevirtual #448                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+        86: ifeq          136\n+        89: iconst_1\n+        90: istore_2\n+        91: goto          136\n+        94: aload_1\n+        95: ldc_w         #454                // String tool_calls\n+        98: invokevirtual #448                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       101: ifeq          136\n+       104: iconst_2\n+       105: istore_2\n+       106: goto          136\n+       109: aload_1\n+       110: ldc_w         #456                // String function_call\n+       113: invokevirtual #448                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       116: ifeq          136\n+       119: iconst_3\n+       120: istore_2\n+       121: goto          136\n+       124: aload_1\n+       125: ldc_w         #458                // String content_filter\n+       128: invokevirtual #448                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       131: ifeq          136\n+       134: iconst_4\n+       135: istore_2\n+       136: iload_2\n+       137: tableswitch   { // 0 to 4\n+                       0: 172\n+                       1: 176\n+                       2: 180\n+                       3: 180\n+                       4: 184\n+                 default: 188\n             }\n-       168: getstatic     #138                // Field dev/langchain4j/model/output/FinishReason.STOP:Ldev/langchain4j/model/output/FinishReason;\n-       171: areturn\n-       172: getstatic     #139                // Field dev/langchain4j/model/output/FinishReason.LENGTH:Ldev/langchain4j/model/output/FinishReason;\n+       172: getstatic     #460                // Field dev/langchain4j/model/output/FinishReason.STOP:Ldev/langchain4j/model/output/FinishReason;\n        175: areturn\n-       176: getstatic     #140                // Field dev/langchain4j/model/output/FinishReason.TOOL_EXECUTION:Ldev/langchain4j/model/output/FinishReason;\n+       176: getstatic     #466                // Field dev/langchain4j/model/output/FinishReason.LENGTH:Ldev/langchain4j/model/output/FinishReason;\n        179: areturn\n-       180: getstatic     #141                // Field dev/langchain4j/model/output/FinishReason.CONTENT_FILTER:Ldev/langchain4j/model/output/FinishReason;\n+       180: getstatic     #469                // Field dev/langchain4j/model/output/FinishReason.TOOL_EXECUTION:Ldev/langchain4j/model/output/FinishReason;\n        183: areturn\n-       184: aconst_null\n-       185: areturn\n+       184: getstatic     #472                // Field dev/langchain4j/model/output/FinishReason.CONTENT_FILTER:Ldev/langchain4j/model/output/FinishReason;\n+       187: areturn\n+       188: aconst_null\n+       189: areturn\n       LineNumberTable:\n         line 240: 0\n         line 241: 4\n         line 243: 6\n-        line 245: 168\n-        line 247: 172\n-        line 250: 176\n-        line 252: 180\n-        line 254: 184\n+        line 245: 172\n+        line 247: 176\n+        line 250: 180\n+        line 252: 184\n+        line 254: 188\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n-            0     186     0 openAiFinishReason   Ljava/lang/String;\n+            0     190     0 openAiFinishReason   Ljava/lang/String;\n       StackMapTable: number_of_entries = 12\n         frame_type = 6 /* same */\n         frame_type = 253 /* append */\n           offset_delta = 57\n           locals = [ class java/lang/String, int ]\n-        frame_type = 13 /* same */\n-        frame_type = 13 /* same */\n-        frame_type = 13 /* same */\n-        frame_type = 13 /* same */\n-        frame_type = 10 /* same */\n-        frame_type = 36 /* same */\n+        frame_type = 14 /* same */\n+        frame_type = 14 /* same */\n+        frame_type = 14 /* same */\n+        frame_type = 14 /* same */\n+        frame_type = 11 /* same */\n+        frame_type = 35 /* same */\n         frame_type = 3 /* same */\n         frame_type = 3 /* same */\n         frame_type = 3 /* same */\n         frame_type = 3 /* same */\n \n   private static boolean lambda$aiMessageFrom$1(dev.ai4j.openai4j.chat.ToolCall);\n     descriptor: (Ldev/ai4j/openai4j/chat/ToolCall;)Z\n     flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n-         1: invokevirtual #142                // Method dev/ai4j/openai4j/chat/ToolCall.type:()Ldev/ai4j/openai4j/chat/ToolType;\n-         4: getstatic     #143                // Field dev/ai4j/openai4j/chat/ToolType.FUNCTION:Ldev/ai4j/openai4j/chat/ToolType;\n+         1: invokevirtual #475                // Method dev/ai4j/openai4j/chat/ToolCall.type:()Ldev/ai4j/openai4j/chat/ToolType;\n+         4: getstatic     #478                // Field dev/ai4j/openai4j/chat/ToolType.FUNCTION:Ldev/ai4j/openai4j/chat/ToolType;\n          7: if_acmpne     14\n         10: iconst_1\n         11: goto          15\n         14: iconst_0\n         15: ireturn\n       LineNumberTable:\n         line 201: 0\n@@ -1521,30 +1513,30 @@\n           stack = [ int ]\n \n   private static dev.ai4j.openai4j.chat.ToolCall lambda$toOpenAiMessage$0(dev.langchain4j.agent.tool.ToolExecutionRequest);\n     descriptor: (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n     flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n     Code:\n       stack=3, locals=1, args_size=1\n-         0: invokestatic  #144                // Method dev/ai4j/openai4j/chat/ToolCall.builder:()Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+         0: invokestatic  #484                // Method dev/ai4j/openai4j/chat/ToolCall.builder:()Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n          3: aload_0\n-         4: invokevirtual #29                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.id:()Ljava/lang/String;\n-         7: invokevirtual #145                // Method dev/ai4j/openai4j/chat/ToolCall$Builder.id:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-        10: getstatic     #143                // Field dev/ai4j/openai4j/chat/ToolType.FUNCTION:Ldev/ai4j/openai4j/chat/ToolType;\n-        13: invokevirtual #146                // Method dev/ai4j/openai4j/chat/ToolCall$Builder.type:(Ldev/ai4j/openai4j/chat/ToolType;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-        16: invokestatic  #30                 // Method dev/ai4j/openai4j/chat/FunctionCall.builder:()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+         4: invokevirtual #101                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.id:()Ljava/lang/String;\n+         7: invokevirtual #487                // Method dev/ai4j/openai4j/chat/ToolCall$Builder.id:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+        10: getstatic     #478                // Field dev/ai4j/openai4j/chat/ToolType.FUNCTION:Ldev/ai4j/openai4j/chat/ToolType;\n+        13: invokevirtual #492                // Method dev/ai4j/openai4j/chat/ToolCall$Builder.type:(Ldev/ai4j/openai4j/chat/ToolType;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+        16: invokestatic  #104                // Method dev/ai4j/openai4j/chat/FunctionCall.builder:()Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n         19: aload_0\n-        20: invokevirtual #31                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n-        23: invokevirtual #32                 // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+        20: invokevirtual #109                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n+        23: invokevirtual #110                // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.name:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n         26: aload_0\n-        27: invokevirtual #33                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-        30: invokevirtual #34                 // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.arguments:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n-        33: invokevirtual #35                 // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.build:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-        36: invokevirtual #147                // Method dev/ai4j/openai4j/chat/ToolCall$Builder.function:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n-        39: invokevirtual #148                // Method dev/ai4j/openai4j/chat/ToolCall$Builder.build:()Ldev/ai4j/openai4j/chat/ToolCall;\n+        27: invokevirtual #115                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+        30: invokevirtual #118                // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.arguments:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/FunctionCall$Builder;\n+        33: invokevirtual #120                // Method dev/ai4j/openai4j/chat/FunctionCall$Builder.build:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+        36: invokevirtual #495                // Method dev/ai4j/openai4j/chat/ToolCall$Builder.function:(Ldev/ai4j/openai4j/chat/FunctionCall;)Ldev/ai4j/openai4j/chat/ToolCall$Builder;\n+        39: invokevirtual #498                // Method dev/ai4j/openai4j/chat/ToolCall$Builder.build:()Ldev/ai4j/openai4j/chat/ToolCall;\n         42: areturn\n       LineNumberTable:\n         line 85: 0\n         line 86: 4\n         line 87: 13\n         line 88: 16\n         line 89: 20\n@@ -1554,55 +1546,55 @@\n         line 92: 39\n         line 85: 42\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      43     0    it   Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n }\n SourceFile: \"InternalOpenAiHelper.java\"\n-InnerClasses:\n-  public static final #208= #207 of #58;  // DetailLevel=class dev/langchain4j/data/message/ImageContent$DetailLevel of class dev/langchain4j/data/message/ImageContent\n-  public static final #483= #288 of #286; // Builder=class dev/ai4j/openai4j/chat/UserMessage$Builder of class dev/ai4j/openai4j/chat/UserMessage\n-  public static final #483= #307 of #305; // Builder=class dev/ai4j/openai4j/chat/FunctionCall$Builder of class dev/ai4j/openai4j/chat/FunctionCall\n-  public static final #483= #313 of #299; // Builder=class dev/ai4j/openai4j/chat/AssistantMessage$Builder of class dev/ai4j/openai4j/chat/AssistantMessage\n-  public static final #483= #344 of #340; // Builder=class dev/ai4j/openai4j/chat/Content$Builder of class dev/ai4j/openai4j/chat/Content\n-  public static final #483= #353 of #349; // Builder=class dev/ai4j/openai4j/chat/ImageUrl$Builder of class dev/ai4j/openai4j/chat/ImageUrl\n-  public static final #483= #376 of #373; // Builder=class dev/ai4j/openai4j/chat/Function$Builder of class dev/ai4j/openai4j/chat/Function\n-  public static final #483= #390 of #388; // Builder=class dev/ai4j/openai4j/chat/Parameters$Builder of class dev/ai4j/openai4j/chat/Parameters\n-  public static final #483= #414 of #28;  // Builder=class dev/langchain4j/agent/tool/ToolExecutionRequest$Builder of class dev/langchain4j/agent/tool/ToolExecutionRequest\n-  public static final #483= #446 of #421; // Builder=class dev/ai4j/openai4j/chat/ToolCall$Builder of class dev/ai4j/openai4j/chat/ToolCall\n-  public static final #639= #638 of #641; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n BootstrapMethods:\n-  0: #269 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  0: #590 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #270 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #271 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessage:(Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n-      #272 (Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n-  1: #269 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #597 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #599 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessage:(Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n+      #602 (Ldev/langchain4j/data/message/ChatMessage;)Ldev/ai4j/openai4j/chat/Message;\n+  1: #590 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #270 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #294 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n-      #295 (Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n-  2: #269 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #597 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #603 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiContent:(Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n+      #606 (Ldev/langchain4j/data/message/Content;)Ldev/ai4j/openai4j/chat/Content;\n+  2: #590 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #270 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #316 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$toOpenAiMessage$0:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n-      #317 (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n-  3: #269 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #597 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #607 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$toOpenAiMessage$0:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n+      #610 (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/ai4j/openai4j/chat/ToolCall;\n+  3: #590 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #270 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #371 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toTool:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n-      #372 (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n-  4: #269 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #597 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #611 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toTool:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n+      #614 (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Tool;\n+  4: #590 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #270 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #386 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toFunction:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n-      #387 (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n-  5: #269 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #597 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #615 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toFunction:(Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n+      #618 (Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/ai4j/openai4j/chat/Function;\n+  5: #590 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #404 (Ljava/lang/Object;)Z\n-      #405 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$aiMessageFrom$1:(Ldev/ai4j/openai4j/chat/ToolCall;)Z\n-      #406 (Ldev/ai4j/openai4j/chat/ToolCall;)Z\n-  6: #269 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #619 (Ljava/lang/Object;)Z\n+      #620 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.lambda$aiMessageFrom$1:(Ldev/ai4j/openai4j/chat/ToolCall;)Z\n+      #623 (Ldev/ai4j/openai4j/chat/ToolCall;)Z\n+  6: #590 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #270 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #409 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toToolExecutionRequest:(Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-      #410 (Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+      #597 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #624 REF_invokeStatic dev/langchain4j/model/openai/InternalOpenAiHelper.toToolExecutionRequest:(Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+      #627 (Ldev/ai4j/openai4j/chat/ToolCall;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+InnerClasses:\n+  public static final #629= #59 of #52;   // Builder=class dev/ai4j/openai4j/chat/UserMessage$Builder of class dev/ai4j/openai4j/chat/UserMessage\n+  public static final #629= #111 of #105; // Builder=class dev/ai4j/openai4j/chat/FunctionCall$Builder of class dev/ai4j/openai4j/chat/FunctionCall\n+  public static final #629= #127 of #88;  // Builder=class dev/ai4j/openai4j/chat/AssistantMessage$Builder of class dev/ai4j/openai4j/chat/AssistantMessage\n+  public static final #629= #211 of #200; // Builder=class dev/ai4j/openai4j/chat/Content$Builder of class dev/ai4j/openai4j/chat/Content\n+  public static final #629= #239 of #226; // Builder=class dev/ai4j/openai4j/chat/ImageUrl$Builder of class dev/ai4j/openai4j/chat/ImageUrl\n+  public static final #630= #286 of #192; // DetailLevel=class dev/langchain4j/data/message/ImageContent$DetailLevel of class dev/langchain4j/data/message/ImageContent\n+  public static final #629= #307 of #299; // Builder=class dev/ai4j/openai4j/chat/Function$Builder of class dev/ai4j/openai4j/chat/Function\n+  public static final #629= #342 of #337; // Builder=class dev/ai4j/openai4j/chat/Parameters$Builder of class dev/ai4j/openai4j/chat/Parameters\n+  public static final #629= #399 of #99;  // Builder=class dev/langchain4j/agent/tool/ToolExecutionRequest$Builder of class dev/langchain4j/agent/tool/ToolExecutionRequest\n+  public static final #629= #488 of #418; // Builder=class dev/ai4j/openai4j/chat/ToolCall$Builder of class dev/ai4j/openai4j/chat/ToolCall\n+  public static final #635= #631 of #633; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiChatModel.class", "source2": "dev/langchain4j/model/openai/OpenAiChatModel.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,437 +1,429 @@\n-  SHA-256 checksum 3b93c82126d04b24cafac05e4ef6f6ede2e0fc91e938681656e770fd47deb3fb\n+  SHA-256 checksum cde15b20ade63d629572ab4f7e0d9576965183378a74878325652973b4e624c3\n   Compiled from \"OpenAiChatModel.java\"\n public class dev.langchain4j.model.openai.OpenAiChatModel implements dev.langchain4j.model.chat.ChatLanguageModel,dev.langchain4j.model.chat.TokenCountEstimator\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #97                         // dev/langchain4j/model/openai/OpenAiChatModel\n-  super_class: #98                        // java/lang/Object\n+  this_class: #84                         // dev/langchain4j/model/openai/OpenAiChatModel\n+  super_class: #6                         // java/lang/Object\n   interfaces: 2, fields: 14, methods: 10, attributes: 3\n Constant pool:\n-    #1 = Class              #197          // dev/langchain4j/model/openai/OpenAiModelName\n-    #2 = Class              #198          // dev/langchain4j/model/openai/InternalOpenAiHelper\n-    #3 = Methodref          #98.#199      // java/lang/Object.\"<init>\":()V\n-    #4 = String             #200          // https://api.openai.com/v1\n-    #5 = Methodref          #201.#202     // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-    #6 = Class              #203          // java/lang/String\n-    #7 = String             #204          // demo\n-    #8 = Methodref          #6.#205       // java/lang/String.equals:(Ljava/lang/Object;)Z\n-    #9 = String             #206          // http://langchain4j.dev/demo/openai/v1\n-   #10 = Long               60l\n-   #12 = Methodref          #13.#207      // java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n-   #13 = Class              #208          // java/time/Duration\n-   #14 = Methodref          #209.#210     // dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #15 = Methodref          #211.#212     // dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #16 = Methodref          #211.#213     // dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #17 = Methodref          #211.#214     // dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #18 = Methodref          #211.#215     // dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #19 = Methodref          #211.#216     // dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #20 = Methodref          #211.#217     // dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #21 = Methodref          #211.#218     // dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #22 = Methodref          #211.#219     // dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #23 = Methodref          #211.#220     // dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #24 = Methodref          #211.#221     // dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #25 = Methodref          #211.#222     // dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n-   #26 = Fieldref           #97.#223      // dev/langchain4j/model/openai/OpenAiChatModel.client:Ldev/ai4j/openai4j/OpenAiClient;\n-   #27 = String             #224          // gpt-3.5-turbo\n-   #28 = Fieldref           #97.#225      // dev/langchain4j/model/openai/OpenAiChatModel.modelName:Ljava/lang/String;\n-   #29 = Double             0.7d\n-   #31 = Methodref          #32.#226      // java/lang/Double.valueOf:(D)Ljava/lang/Double;\n-   #32 = Class              #227          // java/lang/Double\n-   #33 = Fieldref           #97.#228      // dev/langchain4j/model/openai/OpenAiChatModel.temperature:Ljava/lang/Double;\n-   #34 = Fieldref           #97.#229      // dev/langchain4j/model/openai/OpenAiChatModel.topP:Ljava/lang/Double;\n-   #35 = Fieldref           #97.#230      // dev/langchain4j/model/openai/OpenAiChatModel.stop:Ljava/util/List;\n-   #36 = Fieldref           #97.#231      // dev/langchain4j/model/openai/OpenAiChatModel.maxTokens:Ljava/lang/Integer;\n-   #37 = Fieldref           #97.#232      // dev/langchain4j/model/openai/OpenAiChatModel.presencePenalty:Ljava/lang/Double;\n-   #38 = Fieldref           #97.#233      // dev/langchain4j/model/openai/OpenAiChatModel.frequencyPenalty:Ljava/lang/Double;\n-   #39 = Fieldref           #97.#234      // dev/langchain4j/model/openai/OpenAiChatModel.logitBias:Ljava/util/Map;\n-   #40 = Fieldref           #97.#235      // dev/langchain4j/model/openai/OpenAiChatModel.responseFormat:Ljava/lang/String;\n-   #41 = Fieldref           #97.#236      // dev/langchain4j/model/openai/OpenAiChatModel.seed:Ljava/lang/Integer;\n-   #42 = Fieldref           #97.#237      // dev/langchain4j/model/openai/OpenAiChatModel.user:Ljava/lang/String;\n-   #43 = Methodref          #44.#238      // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-   #44 = Class              #239          // java/lang/Integer\n-   #45 = Fieldref           #97.#240      // dev/langchain4j/model/openai/OpenAiChatModel.maxRetries:Ljava/lang/Integer;\n-   #46 = InvokeDynamic      #0:#246       // #0:get:(Ldev/langchain4j/model/openai/OpenAiChatModel;)Ljava/util/function/Supplier;\n-   #47 = Methodref          #201.#247     // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-   #48 = Class              #248          // dev/langchain4j/model/Tokenizer\n-   #49 = Fieldref           #97.#249      // dev/langchain4j/model/openai/OpenAiChatModel.tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #50 = Methodref          #97.#250      // dev/langchain4j/model/openai/OpenAiChatModel.generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n-   #51 = Methodref          #251.#252     // java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-   #52 = Methodref          #253.#254     // dev/ai4j/openai4j/chat/ChatCompletionRequest.builder:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #53 = Methodref          #173.#255     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #54 = Methodref          #2.#256       // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessages:(Ljava/util/List;)Ljava/util/List;\n-   #55 = Methodref          #173.#257     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.messages:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #56 = Methodref          #173.#258     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #57 = Methodref          #173.#259     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.topP:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #58 = Methodref          #173.#260     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.stop:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #59 = Methodref          #173.#261     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.maxTokens:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #60 = Methodref          #173.#262     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.presencePenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #61 = Methodref          #173.#263     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.frequencyPenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #62 = Methodref          #173.#264     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.logitBias:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #63 = Methodref          #173.#265     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.responseFormat:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #64 = Methodref          #173.#266     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.seed:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #65 = Methodref          #173.#267     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.user:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #66 = InterfaceMethodref #268.#269     // java/util/List.isEmpty:()Z\n-   #67 = Methodref          #2.#270       // dev/langchain4j/model/openai/InternalOpenAiHelper.toTools:(Ljava/util/Collection;)Ljava/util/List;\n-   #68 = Methodref          #173.#271     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.tools:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #69 = Methodref          #272.#273     // dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n-   #70 = Methodref          #173.#274     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.toolChoice:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-   #71 = Methodref          #173.#275     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.build:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n-   #72 = InvokeDynamic      #1:#278       // #1:call:(Ldev/langchain4j/model/openai/OpenAiChatModel;Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ljava/util/concurrent/Callable;\n-   #73 = Methodref          #44.#279      // java/lang/Integer.intValue:()I\n-   #74 = Methodref          #280.#281     // dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-   #75 = Class              #282          // dev/ai4j/openai4j/chat/ChatCompletionResponse\n-   #76 = Methodref          #2.#283       // dev/langchain4j/model/openai/InternalOpenAiHelper.aiMessageFrom:(Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n-   #77 = Methodref          #75.#284      // dev/ai4j/openai4j/chat/ChatCompletionResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n-   #78 = Methodref          #2.#285       // dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-   #79 = Methodref          #75.#286      // dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n-   #80 = InterfaceMethodref #268.#287     // java/util/List.get:(I)Ljava/lang/Object;\n-   #81 = Class              #288          // dev/ai4j/openai4j/chat/ChatCompletionChoice\n-   #82 = Methodref          #81.#289      // dev/ai4j/openai4j/chat/ChatCompletionChoice.finishReason:()Ljava/lang/String;\n-   #83 = Methodref          #2.#290       // dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-   #84 = Methodref          #291.#292     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n-   #85 = InterfaceMethodref #48.#293      // dev/langchain4j/model/Tokenizer.estimateTokenCountInMessages:(Ljava/lang/Iterable;)I\n-   #86 = Methodref          #97.#294      // dev/langchain4j/model/openai/OpenAiChatModel.builder:()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-   #87 = Methodref          #92.#295      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-   #88 = Methodref          #92.#296      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiChatModel;\n-   #89 = Class              #297          // dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n-   #90 = InvokeDynamic      #2:#300       // #2:get:()Ljava/util/function/Supplier;\n-   #91 = Methodref          #301.#302     // dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-   #92 = Class              #303          // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n-   #93 = Methodref          #209.#304     // dev/ai4j/openai4j/OpenAiClient.chatCompletion:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n-   #94 = InterfaceMethodref #305.#306     // dev/ai4j/openai4j/SyncOrAsyncOrStreaming.execute:()Ljava/lang/Object;\n-   #95 = Class              #307          // dev/langchain4j/model/openai/OpenAiTokenizer\n-   #96 = Methodref          #95.#308      // dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n-   #97 = Class              #309          // dev/langchain4j/model/openai/OpenAiChatModel\n-   #98 = Class              #310          // java/lang/Object\n-   #99 = Class              #311          // dev/langchain4j/model/chat/ChatLanguageModel\n-  #100 = Class              #312          // dev/langchain4j/model/chat/TokenCountEstimator\n-  #101 = Utf8               OpenAiChatModelBuilder\n-  #102 = Utf8               InnerClasses\n-  #103 = Utf8               client\n-  #104 = Utf8               Ldev/ai4j/openai4j/OpenAiClient;\n-  #105 = Utf8               modelName\n-  #106 = Utf8               Ljava/lang/String;\n-  #107 = Utf8               temperature\n-  #108 = Utf8               Ljava/lang/Double;\n+    #1 = Class              #2            // dev/langchain4j/model/openai/OpenAiModelName\n+    #2 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n+    #3 = Class              #4            // dev/langchain4j/model/openai/InternalOpenAiHelper\n+    #4 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n+    #5 = Methodref          #6.#7         // java/lang/Object.\"<init>\":()V\n+    #6 = Class              #8            // java/lang/Object\n+    #7 = NameAndType        #9:#10        // \"<init>\":()V\n+    #8 = Utf8               java/lang/Object\n+    #9 = Utf8               <init>\n+   #10 = Utf8               ()V\n+   #11 = String             #12           // https://api.openai.com/v1\n+   #12 = Utf8               https://api.openai.com/v1\n+   #13 = Methodref          #14.#15       // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #14 = Class              #16           // dev/langchain4j/internal/Utils\n+   #15 = NameAndType        #17:#18       // getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #16 = Utf8               dev/langchain4j/internal/Utils\n+   #17 = Utf8               getOrDefault\n+   #18 = Utf8               (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #19 = Class              #20           // java/lang/String\n+   #20 = Utf8               java/lang/String\n+   #21 = String             #22           // demo\n+   #22 = Utf8               demo\n+   #23 = Methodref          #19.#24       // java/lang/String.equals:(Ljava/lang/Object;)Z\n+   #24 = NameAndType        #25:#26       // equals:(Ljava/lang/Object;)Z\n+   #25 = Utf8               equals\n+   #26 = Utf8               (Ljava/lang/Object;)Z\n+   #27 = String             #28           // http://langchain4j.dev/demo/openai/v1\n+   #28 = Utf8               http://langchain4j.dev/demo/openai/v1\n+   #29 = Long               60l\n+   #31 = Methodref          #32.#33       // java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n+   #32 = Class              #34           // java/time/Duration\n+   #33 = NameAndType        #35:#36       // ofSeconds:(J)Ljava/time/Duration;\n+   #34 = Utf8               java/time/Duration\n+   #35 = Utf8               ofSeconds\n+   #36 = Utf8               (J)Ljava/time/Duration;\n+   #37 = Methodref          #38.#39       // dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #38 = Class              #40           // dev/ai4j/openai4j/OpenAiClient\n+   #39 = NameAndType        #41:#42       // builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #40 = Utf8               dev/ai4j/openai4j/OpenAiClient\n+   #41 = Utf8               builder\n+   #42 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #43 = Methodref          #44.#45       // dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #44 = Class              #46           // dev/ai4j/openai4j/OpenAiClient$Builder\n+   #45 = NameAndType        #47:#48       // openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #46 = Utf8               dev/ai4j/openai4j/OpenAiClient$Builder\n+   #47 = Utf8               openAiApiKey\n+   #48 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #49 = Methodref          #44.#50       // dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #50 = NameAndType        #51:#48       // baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #51 = Utf8               baseUrl\n+   #52 = Methodref          #44.#53       // dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #53 = NameAndType        #54:#48       // organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #54 = Utf8               organizationId\n+   #55 = Methodref          #44.#56       // dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #56 = NameAndType        #57:#58       // callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #57 = Utf8               callTimeout\n+   #58 = Utf8               (Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #59 = Methodref          #44.#60       // dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #60 = NameAndType        #61:#58       // connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #61 = Utf8               connectTimeout\n+   #62 = Methodref          #44.#63       // dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #63 = NameAndType        #64:#58       // readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #64 = Utf8               readTimeout\n+   #65 = Methodref          #44.#66       // dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #66 = NameAndType        #67:#58       // writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #67 = Utf8               writeTimeout\n+   #68 = Methodref          #44.#69       // dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #69 = NameAndType        #70:#71       // proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #70 = Utf8               proxy\n+   #71 = Utf8               (Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #72 = Methodref          #44.#73       // dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #73 = NameAndType        #74:#75       // logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #74 = Utf8               logRequests\n+   #75 = Utf8               (Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #76 = Methodref          #44.#77       // dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #77 = NameAndType        #78:#75       // logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #78 = Utf8               logResponses\n+   #79 = Methodref          #44.#80       // dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n+   #80 = NameAndType        #81:#82       // build:()Ldev/ai4j/openai4j/OpenAiClient;\n+   #81 = Utf8               build\n+   #82 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient;\n+   #83 = Fieldref           #84.#85       // dev/langchain4j/model/openai/OpenAiChatModel.client:Ldev/ai4j/openai4j/OpenAiClient;\n+   #84 = Class              #86           // dev/langchain4j/model/openai/OpenAiChatModel\n+   #85 = NameAndType        #87:#88       // client:Ldev/ai4j/openai4j/OpenAiClient;\n+   #86 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel\n+   #87 = Utf8               client\n+   #88 = Utf8               Ldev/ai4j/openai4j/OpenAiClient;\n+   #89 = String             #90           // gpt-3.5-turbo\n+   #90 = Utf8               gpt-3.5-turbo\n+   #91 = Fieldref           #84.#92       // dev/langchain4j/model/openai/OpenAiChatModel.modelName:Ljava/lang/String;\n+   #92 = NameAndType        #93:#94       // modelName:Ljava/lang/String;\n+   #93 = Utf8               modelName\n+   #94 = Utf8               Ljava/lang/String;\n+   #95 = Double             0.7d\n+   #97 = Methodref          #98.#99       // java/lang/Double.valueOf:(D)Ljava/lang/Double;\n+   #98 = Class              #100          // java/lang/Double\n+   #99 = NameAndType        #101:#102     // valueOf:(D)Ljava/lang/Double;\n+  #100 = Utf8               java/lang/Double\n+  #101 = Utf8               valueOf\n+  #102 = Utf8               (D)Ljava/lang/Double;\n+  #103 = Fieldref           #84.#104      // dev/langchain4j/model/openai/OpenAiChatModel.temperature:Ljava/lang/Double;\n+  #104 = NameAndType        #105:#106     // temperature:Ljava/lang/Double;\n+  #105 = Utf8               temperature\n+  #106 = Utf8               Ljava/lang/Double;\n+  #107 = Fieldref           #84.#108      // dev/langchain4j/model/openai/OpenAiChatModel.topP:Ljava/lang/Double;\n+  #108 = NameAndType        #109:#106     // topP:Ljava/lang/Double;\n   #109 = Utf8               topP\n-  #110 = Utf8               stop\n-  #111 = Utf8               Ljava/util/List;\n-  #112 = Utf8               Signature\n-  #113 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n-  #114 = Utf8               maxTokens\n-  #115 = Utf8               Ljava/lang/Integer;\n-  #116 = Utf8               presencePenalty\n-  #117 = Utf8               frequencyPenalty\n-  #118 = Utf8               logitBias\n-  #119 = Utf8               Ljava/util/Map;\n-  #120 = Utf8               Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n-  #121 = Utf8               responseFormat\n-  #122 = Utf8               seed\n-  #123 = Utf8               user\n-  #124 = Utf8               maxRetries\n-  #125 = Utf8               tokenizer\n-  #126 = Utf8               Ldev/langchain4j/model/Tokenizer;\n-  #127 = Utf8               <init>\n-  #128 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-  #129 = Utf8               Code\n-  #130 = Utf8               LineNumberTable\n-  #131 = Utf8               LocalVariableTable\n-  #132 = Utf8               this\n-  #133 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModel;\n-  #134 = Utf8               baseUrl\n-  #135 = Utf8               apiKey\n-  #136 = Utf8               organizationId\n-  #137 = Utf8               timeout\n-  #138 = Utf8               Ljava/time/Duration;\n-  #139 = Utf8               proxy\n-  #140 = Utf8               Ljava/net/Proxy;\n-  #141 = Utf8               logRequests\n-  #142 = Utf8               Ljava/lang/Boolean;\n-  #143 = Utf8               logResponses\n-  #144 = Utf8               LocalVariableTypeTable\n-  #145 = Utf8               StackMapTable\n-  #146 = Class              #309          // dev/langchain4j/model/openai/OpenAiChatModel\n-  #147 = Class              #203          // java/lang/String\n-  #148 = Class              #227          // java/lang/Double\n-  #149 = Class              #313          // java/util/List\n-  #150 = Class              #239          // java/lang/Integer\n-  #151 = Class              #314          // java/util/Map\n-  #152 = Class              #208          // java/time/Duration\n-  #153 = Class              #315          // java/net/Proxy\n-  #154 = Class              #316          // java/lang/Boolean\n-  #155 = Class              #248          // dev/langchain4j/model/Tokenizer\n-  #156 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-  #157 = Utf8               generate\n-  #158 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n-  #159 = Utf8               messages\n-  #160 = Utf8               Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n-  #161 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n-  #162 = Utf8               (Ljava/util/List;Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n-  #163 = Utf8               toolSpecifications\n-  #164 = Utf8               Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n-  #165 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n-  #166 = Utf8               (Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n-  #167 = Utf8               toolSpecification\n-  #168 = Utf8               Ldev/langchain4j/agent/tool/ToolSpecification;\n-  #169 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n-  #170 = Utf8               (Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n-  #171 = Utf8               toolThatMustBeExecuted\n-  #172 = Utf8               requestBuilder\n-  #173 = Class              #317          // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder\n-  #174 = Utf8               Builder\n-  #175 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #176 = Utf8               request\n-  #177 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n-  #178 = Utf8               response\n-  #179 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  #180 = Class              #317          // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder\n-  #181 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n-  #182 = Utf8               estimateTokenCount\n-  #183 = Utf8               (Ljava/util/List;)I\n-  #184 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)I\n-  #185 = Utf8               withApiKey\n-  #186 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel;\n-  #187 = Utf8               builder\n-  #188 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #189 = Utf8               lambda$generate$1\n-  #190 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  #191 = Utf8               Exceptions\n-  #192 = Class              #318          // java/lang/Exception\n-  #193 = Utf8               lambda$new$0\n-  #194 = Utf8               ()Ldev/langchain4j/model/Tokenizer;\n-  #195 = Utf8               SourceFile\n-  #196 = Utf8               OpenAiChatModel.java\n-  #197 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n-  #198 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n-  #199 = NameAndType        #127:#319     // \"<init>\":()V\n-  #200 = Utf8               https://api.openai.com/v1\n-  #201 = Class              #320          // dev/langchain4j/internal/Utils\n-  #202 = NameAndType        #321:#322     // getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-  #203 = Utf8               java/lang/String\n-  #204 = Utf8               demo\n-  #205 = NameAndType        #323:#324     // equals:(Ljava/lang/Object;)Z\n-  #206 = Utf8               http://langchain4j.dev/demo/openai/v1\n-  #207 = NameAndType        #325:#326     // ofSeconds:(J)Ljava/time/Duration;\n-  #208 = Utf8               java/time/Duration\n-  #209 = Class              #327          // dev/ai4j/openai4j/OpenAiClient\n-  #210 = NameAndType        #187:#328     // builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #211 = Class              #329          // dev/ai4j/openai4j/OpenAiClient$Builder\n-  #212 = NameAndType        #330:#331     // openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #213 = NameAndType        #134:#331     // baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #214 = NameAndType        #136:#331     // organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #215 = NameAndType        #332:#333     // callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #216 = NameAndType        #334:#333     // connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #217 = NameAndType        #335:#333     // readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #218 = NameAndType        #336:#333     // writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #219 = NameAndType        #139:#337     // proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #220 = NameAndType        #141:#338     // logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #221 = NameAndType        #143:#338     // logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #222 = NameAndType        #339:#340     // build:()Ldev/ai4j/openai4j/OpenAiClient;\n-  #223 = NameAndType        #103:#104     // client:Ldev/ai4j/openai4j/OpenAiClient;\n-  #224 = Utf8               gpt-3.5-turbo\n-  #225 = NameAndType        #105:#106     // modelName:Ljava/lang/String;\n-  #226 = NameAndType        #341:#342     // valueOf:(D)Ljava/lang/Double;\n-  #227 = Utf8               java/lang/Double\n-  #228 = NameAndType        #107:#108     // temperature:Ljava/lang/Double;\n-  #229 = NameAndType        #109:#108     // topP:Ljava/lang/Double;\n-  #230 = NameAndType        #110:#111     // stop:Ljava/util/List;\n-  #231 = NameAndType        #114:#115     // maxTokens:Ljava/lang/Integer;\n-  #232 = NameAndType        #116:#108     // presencePenalty:Ljava/lang/Double;\n-  #233 = NameAndType        #117:#108     // frequencyPenalty:Ljava/lang/Double;\n-  #234 = NameAndType        #118:#119     // logitBias:Ljava/util/Map;\n-  #235 = NameAndType        #121:#106     // responseFormat:Ljava/lang/String;\n-  #236 = NameAndType        #122:#115     // seed:Ljava/lang/Integer;\n-  #237 = NameAndType        #123:#106     // user:Ljava/lang/String;\n-  #238 = NameAndType        #341:#343     // valueOf:(I)Ljava/lang/Integer;\n-  #239 = Utf8               java/lang/Integer\n-  #240 = NameAndType        #124:#115     // maxRetries:Ljava/lang/Integer;\n-  #241 = Utf8               BootstrapMethods\n-  #242 = MethodHandle       6:#344        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #243 = MethodType         #345          //  ()Ljava/lang/Object;\n-  #244 = MethodHandle       7:#346        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiChatModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-  #245 = MethodType         #194          //  ()Ldev/langchain4j/model/Tokenizer;\n-  #246 = NameAndType        #347:#348     // get:(Ldev/langchain4j/model/openai/OpenAiChatModel;)Ljava/util/function/Supplier;\n-  #247 = NameAndType        #321:#349     // getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #248 = Utf8               dev/langchain4j/model/Tokenizer\n-  #249 = NameAndType        #125:#126     // tokenizer:Ldev/langchain4j/model/Tokenizer;\n-  #250 = NameAndType        #157:#170     // generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n-  #251 = Class              #350          // java/util/Collections\n-  #252 = NameAndType        #351:#352     // singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-  #253 = Class              #353          // dev/ai4j/openai4j/chat/ChatCompletionRequest\n-  #254 = NameAndType        #187:#354     // builder:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #255 = NameAndType        #355:#356     // model:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #256 = NameAndType        #357:#358     // toOpenAiMessages:(Ljava/util/List;)Ljava/util/List;\n-  #257 = NameAndType        #159:#359     // messages:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #258 = NameAndType        #107:#360     // temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #259 = NameAndType        #109:#360     // topP:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #260 = NameAndType        #110:#359     // stop:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #261 = NameAndType        #114:#361     // maxTokens:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #262 = NameAndType        #116:#360     // presencePenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #263 = NameAndType        #117:#360     // frequencyPenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #264 = NameAndType        #118:#362     // logitBias:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #265 = NameAndType        #121:#356     // responseFormat:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #266 = NameAndType        #122:#361     // seed:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #267 = NameAndType        #123:#356     // user:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #268 = Class              #313          // java/util/List\n-  #269 = NameAndType        #363:#364     // isEmpty:()Z\n-  #270 = NameAndType        #365:#366     // toTools:(Ljava/util/Collection;)Ljava/util/List;\n-  #271 = NameAndType        #367:#359     // tools:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #272 = Class              #368          // dev/langchain4j/agent/tool/ToolSpecification\n-  #273 = NameAndType        #369:#370     // name:()Ljava/lang/String;\n-  #274 = NameAndType        #371:#356     // toolChoice:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #275 = NameAndType        #339:#372     // build:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n-  #276 = MethodHandle       7:#373        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiChatModel.lambda$generate$1:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  #277 = MethodType         #374          //  ()Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  #278 = NameAndType        #375:#376     // call:(Ldev/langchain4j/model/openai/OpenAiChatModel;Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ljava/util/concurrent/Callable;\n-  #279 = NameAndType        #377:#378     // intValue:()I\n-  #280 = Class              #379          // dev/langchain4j/internal/RetryUtils\n-  #281 = NameAndType        #380:#381     // withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-  #282 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionResponse\n-  #283 = NameAndType        #382:#383     // aiMessageFrom:(Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n-  #284 = NameAndType        #384:#385     // usage:()Ldev/ai4j/openai4j/shared/Usage;\n-  #285 = NameAndType        #386:#387     // tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-  #286 = NameAndType        #388:#389     // choices:()Ljava/util/List;\n-  #287 = NameAndType        #347:#390     // get:(I)Ljava/lang/Object;\n-  #288 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionChoice\n-  #289 = NameAndType        #391:#370     // finishReason:()Ljava/lang/String;\n-  #290 = NameAndType        #392:#393     // finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-  #291 = Class              #394          // dev/langchain4j/model/output/Response\n-  #292 = NameAndType        #395:#396     // from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n-  #293 = NameAndType        #397:#398     // estimateTokenCountInMessages:(Ljava/lang/Iterable;)I\n-  #294 = NameAndType        #187:#188     // builder:()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #295 = NameAndType        #135:#399     // apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #296 = NameAndType        #339:#400     // build:()Ldev/langchain4j/model/openai/OpenAiChatModel;\n-  #297 = Utf8               dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n-  #298 = MethodHandle       8:#401        // REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.\"<init>\":()V\n-  #299 = MethodType         #188          //  ()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #300 = NameAndType        #347:#402     // get:()Ljava/util/function/Supplier;\n-  #301 = Class              #403          // dev/langchain4j/spi/ServiceHelper\n-  #302 = NameAndType        #404:#405     // loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #303 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n-  #304 = NameAndType        #406:#407     // chatCompletion:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n-  #305 = Class              #408          // dev/ai4j/openai4j/SyncOrAsyncOrStreaming\n-  #306 = NameAndType        #409:#345     // execute:()Ljava/lang/Object;\n-  #307 = Utf8               dev/langchain4j/model/openai/OpenAiTokenizer\n-  #308 = NameAndType        #127:#410     // \"<init>\":(Ljava/lang/String;)V\n-  #309 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel\n-  #310 = Utf8               java/lang/Object\n-  #311 = Utf8               dev/langchain4j/model/chat/ChatLanguageModel\n-  #312 = Utf8               dev/langchain4j/model/chat/TokenCountEstimator\n-  #313 = Utf8               java/util/List\n-  #314 = Utf8               java/util/Map\n-  #315 = Utf8               java/net/Proxy\n-  #316 = Utf8               java/lang/Boolean\n-  #317 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder\n-  #318 = Utf8               java/lang/Exception\n-  #319 = Utf8               ()V\n-  #320 = Utf8               dev/langchain4j/internal/Utils\n-  #321 = Utf8               getOrDefault\n-  #322 = Utf8               (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-  #323 = Utf8               equals\n-  #324 = Utf8               (Ljava/lang/Object;)Z\n-  #325 = Utf8               ofSeconds\n-  #326 = Utf8               (J)Ljava/time/Duration;\n-  #327 = Utf8               dev/ai4j/openai4j/OpenAiClient\n-  #328 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #329 = Utf8               dev/ai4j/openai4j/OpenAiClient$Builder\n-  #330 = Utf8               openAiApiKey\n-  #331 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #332 = Utf8               callTimeout\n-  #333 = Utf8               (Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #334 = Utf8               connectTimeout\n-  #335 = Utf8               readTimeout\n-  #336 = Utf8               writeTimeout\n-  #337 = Utf8               (Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #338 = Utf8               (Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #339 = Utf8               build\n-  #340 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient;\n-  #341 = Utf8               valueOf\n-  #342 = Utf8               (D)Ljava/lang/Double;\n-  #343 = Utf8               (I)Ljava/lang/Integer;\n-  #344 = Methodref          #411.#412     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #345 = Utf8               ()Ljava/lang/Object;\n-  #346 = Methodref          #97.#413      // dev/langchain4j/model/openai/OpenAiChatModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-  #347 = Utf8               get\n-  #348 = Utf8               (Ldev/langchain4j/model/openai/OpenAiChatModel;)Ljava/util/function/Supplier;\n-  #349 = Utf8               (Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #350 = Utf8               java/util/Collections\n-  #351 = Utf8               singletonList\n-  #352 = Utf8               (Ljava/lang/Object;)Ljava/util/List;\n-  #353 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionRequest\n-  #354 = Utf8               ()Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #355 = Utf8               model\n-  #356 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #357 = Utf8               toOpenAiMessages\n-  #358 = Utf8               (Ljava/util/List;)Ljava/util/List;\n-  #359 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #360 = Utf8               (Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #361 = Utf8               (Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #362 = Utf8               (Ljava/util/Map;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n-  #363 = Utf8               isEmpty\n-  #364 = Utf8               ()Z\n-  #365 = Utf8               toTools\n-  #366 = Utf8               (Ljava/util/Collection;)Ljava/util/List;\n-  #367 = Utf8               tools\n-  #368 = Utf8               dev/langchain4j/agent/tool/ToolSpecification\n-  #369 = Utf8               name\n-  #370 = Utf8               ()Ljava/lang/String;\n-  #371 = Utf8               toolChoice\n-  #372 = Utf8               ()Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n-  #373 = Methodref          #97.#414      // dev/langchain4j/model/openai/OpenAiChatModel.lambda$generate$1:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  #374 = Utf8               ()Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  #375 = Utf8               call\n-  #376 = Utf8               (Ldev/langchain4j/model/openai/OpenAiChatModel;Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ljava/util/concurrent/Callable;\n-  #377 = Utf8               intValue\n-  #378 = Utf8               ()I\n-  #379 = Utf8               dev/langchain4j/internal/RetryUtils\n-  #380 = Utf8               withRetry\n-  #381 = Utf8               (Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-  #382 = Utf8               aiMessageFrom\n-  #383 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n-  #384 = Utf8               usage\n-  #385 = Utf8               ()Ldev/ai4j/openai4j/shared/Usage;\n-  #386 = Utf8               tokenUsageFrom\n-  #387 = Utf8               (Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-  #388 = Utf8               choices\n-  #389 = Utf8               ()Ljava/util/List;\n-  #390 = Utf8               (I)Ljava/lang/Object;\n-  #391 = Utf8               finishReason\n-  #392 = Utf8               finishReasonFrom\n-  #393 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-  #394 = Utf8               dev/langchain4j/model/output/Response\n-  #395 = Utf8               from\n-  #396 = Utf8               (Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n-  #397 = Utf8               estimateTokenCountInMessages\n-  #398 = Utf8               (Ljava/lang/Iterable;)I\n-  #399 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-  #400 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiChatModel;\n-  #401 = Methodref          #92.#199      // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.\"<init>\":()V\n-  #402 = Utf8               ()Ljava/util/function/Supplier;\n-  #403 = Utf8               dev/langchain4j/spi/ServiceHelper\n-  #404 = Utf8               loadFactoryService\n-  #405 = Utf8               (Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #406 = Utf8               chatCompletion\n-  #407 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n-  #408 = Utf8               dev/ai4j/openai4j/SyncOrAsyncOrStreaming\n-  #409 = Utf8               execute\n-  #410 = Utf8               (Ljava/lang/String;)V\n-  #411 = Class              #415          // java/lang/invoke/LambdaMetafactory\n-  #412 = NameAndType        #416:#419     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #413 = NameAndType        #193:#194     // lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-  #414 = NameAndType        #189:#190     // lambda$generate$1:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  #415 = Utf8               java/lang/invoke/LambdaMetafactory\n-  #416 = Utf8               metafactory\n-  #417 = Class              #421          // java/lang/invoke/MethodHandles$Lookup\n-  #418 = Utf8               Lookup\n-  #419 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #420 = Class              #422          // java/lang/invoke/MethodHandles\n-  #421 = Utf8               java/lang/invoke/MethodHandles$Lookup\n-  #422 = Utf8               java/lang/invoke/MethodHandles\n+  #110 = Fieldref           #84.#111      // dev/langchain4j/model/openai/OpenAiChatModel.stop:Ljava/util/List;\n+  #111 = NameAndType        #112:#113     // stop:Ljava/util/List;\n+  #112 = Utf8               stop\n+  #113 = Utf8               Ljava/util/List;\n+  #114 = Fieldref           #84.#115      // dev/langchain4j/model/openai/OpenAiChatModel.maxTokens:Ljava/lang/Integer;\n+  #115 = NameAndType        #116:#117     // maxTokens:Ljava/lang/Integer;\n+  #116 = Utf8               maxTokens\n+  #117 = Utf8               Ljava/lang/Integer;\n+  #118 = Fieldref           #84.#119      // dev/langchain4j/model/openai/OpenAiChatModel.presencePenalty:Ljava/lang/Double;\n+  #119 = NameAndType        #120:#106     // presencePenalty:Ljava/lang/Double;\n+  #120 = Utf8               presencePenalty\n+  #121 = Fieldref           #84.#122      // dev/langchain4j/model/openai/OpenAiChatModel.frequencyPenalty:Ljava/lang/Double;\n+  #122 = NameAndType        #123:#106     // frequencyPenalty:Ljava/lang/Double;\n+  #123 = Utf8               frequencyPenalty\n+  #124 = Fieldref           #84.#125      // dev/langchain4j/model/openai/OpenAiChatModel.logitBias:Ljava/util/Map;\n+  #125 = NameAndType        #126:#127     // logitBias:Ljava/util/Map;\n+  #126 = Utf8               logitBias\n+  #127 = Utf8               Ljava/util/Map;\n+  #128 = Fieldref           #84.#129      // dev/langchain4j/model/openai/OpenAiChatModel.responseFormat:Ljava/lang/String;\n+  #129 = NameAndType        #130:#94      // responseFormat:Ljava/lang/String;\n+  #130 = Utf8               responseFormat\n+  #131 = Fieldref           #84.#132      // dev/langchain4j/model/openai/OpenAiChatModel.seed:Ljava/lang/Integer;\n+  #132 = NameAndType        #133:#117     // seed:Ljava/lang/Integer;\n+  #133 = Utf8               seed\n+  #134 = Fieldref           #84.#135      // dev/langchain4j/model/openai/OpenAiChatModel.user:Ljava/lang/String;\n+  #135 = NameAndType        #136:#94      // user:Ljava/lang/String;\n+  #136 = Utf8               user\n+  #137 = Methodref          #138.#139     // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+  #138 = Class              #140          // java/lang/Integer\n+  #139 = NameAndType        #101:#141     // valueOf:(I)Ljava/lang/Integer;\n+  #140 = Utf8               java/lang/Integer\n+  #141 = Utf8               (I)Ljava/lang/Integer;\n+  #142 = Fieldref           #84.#143      // dev/langchain4j/model/openai/OpenAiChatModel.maxRetries:Ljava/lang/Integer;\n+  #143 = NameAndType        #144:#117     // maxRetries:Ljava/lang/Integer;\n+  #144 = Utf8               maxRetries\n+  #145 = InvokeDynamic      #0:#146       // #0:get:(Ldev/langchain4j/model/openai/OpenAiChatModel;)Ljava/util/function/Supplier;\n+  #146 = NameAndType        #147:#148     // get:(Ldev/langchain4j/model/openai/OpenAiChatModel;)Ljava/util/function/Supplier;\n+  #147 = Utf8               get\n+  #148 = Utf8               (Ldev/langchain4j/model/openai/OpenAiChatModel;)Ljava/util/function/Supplier;\n+  #149 = Methodref          #14.#150      // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #150 = NameAndType        #17:#151      // getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #151 = Utf8               (Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #152 = Class              #153          // dev/langchain4j/model/Tokenizer\n+  #153 = Utf8               dev/langchain4j/model/Tokenizer\n+  #154 = Fieldref           #84.#155      // dev/langchain4j/model/openai/OpenAiChatModel.tokenizer:Ldev/langchain4j/model/Tokenizer;\n+  #155 = NameAndType        #156:#157     // tokenizer:Ldev/langchain4j/model/Tokenizer;\n+  #156 = Utf8               tokenizer\n+  #157 = Utf8               Ldev/langchain4j/model/Tokenizer;\n+  #158 = Methodref          #84.#159      // dev/langchain4j/model/openai/OpenAiChatModel.generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n+  #159 = NameAndType        #160:#161     // generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n+  #160 = Utf8               generate\n+  #161 = Utf8               (Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n+  #162 = Methodref          #163.#164     // java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+  #163 = Class              #165          // java/util/Collections\n+  #164 = NameAndType        #166:#167     // singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+  #165 = Utf8               java/util/Collections\n+  #166 = Utf8               singletonList\n+  #167 = Utf8               (Ljava/lang/Object;)Ljava/util/List;\n+  #168 = Methodref          #169.#170     // dev/ai4j/openai4j/chat/ChatCompletionRequest.builder:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #169 = Class              #171          // dev/ai4j/openai4j/chat/ChatCompletionRequest\n+  #170 = NameAndType        #41:#172      // builder:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #171 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionRequest\n+  #172 = Utf8               ()Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #173 = Methodref          #174.#175     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #174 = Class              #176          // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder\n+  #175 = NameAndType        #177:#178     // model:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #176 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder\n+  #177 = Utf8               model\n+  #178 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #179 = Methodref          #3.#180       // dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessages:(Ljava/util/List;)Ljava/util/List;\n+  #180 = NameAndType        #181:#182     // toOpenAiMessages:(Ljava/util/List;)Ljava/util/List;\n+  #181 = Utf8               toOpenAiMessages\n+  #182 = Utf8               (Ljava/util/List;)Ljava/util/List;\n+  #183 = Methodref          #174.#184     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.messages:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #184 = NameAndType        #185:#186     // messages:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #185 = Utf8               messages\n+  #186 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #187 = Methodref          #174.#188     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #188 = NameAndType        #105:#189     // temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #189 = Utf8               (Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #190 = Methodref          #174.#191     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.topP:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #191 = NameAndType        #109:#189     // topP:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #192 = Methodref          #174.#193     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.stop:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #193 = NameAndType        #112:#186     // stop:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #194 = Methodref          #174.#195     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.maxTokens:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #195 = NameAndType        #116:#196     // maxTokens:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #196 = Utf8               (Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #197 = Methodref          #174.#198     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.presencePenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #198 = NameAndType        #120:#189     // presencePenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #199 = Methodref          #174.#200     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.frequencyPenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #200 = NameAndType        #123:#189     // frequencyPenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #201 = Methodref          #174.#202     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.logitBias:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #202 = NameAndType        #126:#203     // logitBias:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #203 = Utf8               (Ljava/util/Map;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #204 = Methodref          #174.#205     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.responseFormat:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #205 = NameAndType        #130:#178     // responseFormat:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #206 = Methodref          #174.#207     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.seed:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #207 = NameAndType        #133:#196     // seed:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #208 = Methodref          #174.#209     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.user:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #209 = NameAndType        #136:#178     // user:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #210 = InterfaceMethodref #211.#212     // java/util/List.isEmpty:()Z\n+  #211 = Class              #213          // java/util/List\n+  #212 = NameAndType        #214:#215     // isEmpty:()Z\n+  #213 = Utf8               java/util/List\n+  #214 = Utf8               isEmpty\n+  #215 = Utf8               ()Z\n+  #216 = Methodref          #3.#217       // dev/langchain4j/model/openai/InternalOpenAiHelper.toTools:(Ljava/util/Collection;)Ljava/util/List;\n+  #217 = NameAndType        #218:#219     // toTools:(Ljava/util/Collection;)Ljava/util/List;\n+  #218 = Utf8               toTools\n+  #219 = Utf8               (Ljava/util/Collection;)Ljava/util/List;\n+  #220 = Methodref          #174.#221     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.tools:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #221 = NameAndType        #222:#186     // tools:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #222 = Utf8               tools\n+  #223 = Methodref          #224.#225     // dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n+  #224 = Class              #226          // dev/langchain4j/agent/tool/ToolSpecification\n+  #225 = NameAndType        #227:#228     // name:()Ljava/lang/String;\n+  #226 = Utf8               dev/langchain4j/agent/tool/ToolSpecification\n+  #227 = Utf8               name\n+  #228 = Utf8               ()Ljava/lang/String;\n+  #229 = Methodref          #174.#230     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.toolChoice:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #230 = NameAndType        #231:#178     // toolChoice:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #231 = Utf8               toolChoice\n+  #232 = Methodref          #174.#233     // dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.build:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n+  #233 = NameAndType        #81:#234      // build:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n+  #234 = Utf8               ()Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n+  #235 = InvokeDynamic      #1:#236       // #1:call:(Ldev/langchain4j/model/openai/OpenAiChatModel;Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ljava/util/concurrent/Callable;\n+  #236 = NameAndType        #237:#238     // call:(Ldev/langchain4j/model/openai/OpenAiChatModel;Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ljava/util/concurrent/Callable;\n+  #237 = Utf8               call\n+  #238 = Utf8               (Ldev/langchain4j/model/openai/OpenAiChatModel;Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ljava/util/concurrent/Callable;\n+  #239 = Methodref          #138.#240     // java/lang/Integer.intValue:()I\n+  #240 = NameAndType        #241:#242     // intValue:()I\n+  #241 = Utf8               intValue\n+  #242 = Utf8               ()I\n+  #243 = Methodref          #244.#245     // dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #244 = Class              #246          // dev/langchain4j/internal/RetryUtils\n+  #245 = NameAndType        #247:#248     // withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #246 = Utf8               dev/langchain4j/internal/RetryUtils\n+  #247 = Utf8               withRetry\n+  #248 = Utf8               (Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #249 = Class              #250          // dev/ai4j/openai4j/chat/ChatCompletionResponse\n+  #250 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionResponse\n+  #251 = Methodref          #3.#252       // dev/langchain4j/model/openai/InternalOpenAiHelper.aiMessageFrom:(Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n+  #252 = NameAndType        #253:#254     // aiMessageFrom:(Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n+  #253 = Utf8               aiMessageFrom\n+  #254 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n+  #255 = Methodref          #249.#256     // dev/ai4j/openai4j/chat/ChatCompletionResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n+  #256 = NameAndType        #257:#258     // usage:()Ldev/ai4j/openai4j/shared/Usage;\n+  #257 = Utf8               usage\n+  #258 = Utf8               ()Ldev/ai4j/openai4j/shared/Usage;\n+  #259 = Methodref          #3.#260       // dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #260 = NameAndType        #261:#262     // tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #261 = Utf8               tokenUsageFrom\n+  #262 = Utf8               (Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #263 = Methodref          #249.#264     // dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n+  #264 = NameAndType        #265:#266     // choices:()Ljava/util/List;\n+  #265 = Utf8               choices\n+  #266 = Utf8               ()Ljava/util/List;\n+  #267 = InterfaceMethodref #211.#268     // java/util/List.get:(I)Ljava/lang/Object;\n+  #268 = NameAndType        #147:#269     // get:(I)Ljava/lang/Object;\n+  #269 = Utf8               (I)Ljava/lang/Object;\n+  #270 = Class              #271          // dev/ai4j/openai4j/chat/ChatCompletionChoice\n+  #271 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionChoice\n+  #272 = Methodref          #270.#273     // dev/ai4j/openai4j/chat/ChatCompletionChoice.finishReason:()Ljava/lang/String;\n+  #273 = NameAndType        #274:#228     // finishReason:()Ljava/lang/String;\n+  #274 = Utf8               finishReason\n+  #275 = Methodref          #3.#276       // dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #276 = NameAndType        #277:#278     // finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #277 = Utf8               finishReasonFrom\n+  #278 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #279 = Methodref          #280.#281     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+  #280 = Class              #282          // dev/langchain4j/model/output/Response\n+  #281 = NameAndType        #283:#284     // from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+  #282 = Utf8               dev/langchain4j/model/output/Response\n+  #283 = Utf8               from\n+  #284 = Utf8               (Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+  #285 = InterfaceMethodref #152.#286     // dev/langchain4j/model/Tokenizer.estimateTokenCountInMessages:(Ljava/lang/Iterable;)I\n+  #286 = NameAndType        #287:#288     // estimateTokenCountInMessages:(Ljava/lang/Iterable;)I\n+  #287 = Utf8               estimateTokenCountInMessages\n+  #288 = Utf8               (Ljava/lang/Iterable;)I\n+  #289 = Methodref          #84.#290      // dev/langchain4j/model/openai/OpenAiChatModel.builder:()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #290 = NameAndType        #41:#291      // builder:()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #291 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #292 = Methodref          #293.#294     // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #293 = Class              #295          // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n+  #294 = NameAndType        #296:#297     // apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #295 = Utf8               dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n+  #296 = Utf8               apiKey\n+  #297 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #298 = Methodref          #293.#299     // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiChatModel;\n+  #299 = NameAndType        #81:#300      // build:()Ldev/langchain4j/model/openai/OpenAiChatModel;\n+  #300 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiChatModel;\n+  #301 = Class              #302          // dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n+  #302 = Utf8               dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n+  #303 = InvokeDynamic      #2:#304       // #2:get:()Ljava/util/function/Supplier;\n+  #304 = NameAndType        #147:#305     // get:()Ljava/util/function/Supplier;\n+  #305 = Utf8               ()Ljava/util/function/Supplier;\n+  #306 = Methodref          #307.#308     // dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #307 = Class              #309          // dev/langchain4j/spi/ServiceHelper\n+  #308 = NameAndType        #310:#311     // loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #309 = Utf8               dev/langchain4j/spi/ServiceHelper\n+  #310 = Utf8               loadFactoryService\n+  #311 = Utf8               (Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #312 = Methodref          #38.#313      // dev/ai4j/openai4j/OpenAiClient.chatCompletion:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n+  #313 = NameAndType        #314:#315     // chatCompletion:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n+  #314 = Utf8               chatCompletion\n+  #315 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n+  #316 = InterfaceMethodref #317.#318     // dev/ai4j/openai4j/SyncOrAsyncOrStreaming.execute:()Ljava/lang/Object;\n+  #317 = Class              #319          // dev/ai4j/openai4j/SyncOrAsyncOrStreaming\n+  #318 = NameAndType        #320:#321     // execute:()Ljava/lang/Object;\n+  #319 = Utf8               dev/ai4j/openai4j/SyncOrAsyncOrStreaming\n+  #320 = Utf8               execute\n+  #321 = Utf8               ()Ljava/lang/Object;\n+  #322 = Class              #323          // dev/langchain4j/model/openai/OpenAiTokenizer\n+  #323 = Utf8               dev/langchain4j/model/openai/OpenAiTokenizer\n+  #324 = Methodref          #322.#325     // dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n+  #325 = NameAndType        #9:#326       // \"<init>\":(Ljava/lang/String;)V\n+  #326 = Utf8               (Ljava/lang/String;)V\n+  #327 = Class              #328          // dev/langchain4j/model/chat/ChatLanguageModel\n+  #328 = Utf8               dev/langchain4j/model/chat/ChatLanguageModel\n+  #329 = Class              #330          // dev/langchain4j/model/chat/TokenCountEstimator\n+  #330 = Utf8               dev/langchain4j/model/chat/TokenCountEstimator\n+  #331 = Utf8               Signature\n+  #332 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n+  #333 = Utf8               Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n+  #334 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+  #335 = Utf8               Code\n+  #336 = Utf8               LineNumberTable\n+  #337 = Utf8               LocalVariableTable\n+  #338 = Utf8               this\n+  #339 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModel;\n+  #340 = Utf8               timeout\n+  #341 = Utf8               Ljava/time/Duration;\n+  #342 = Utf8               Ljava/net/Proxy;\n+  #343 = Utf8               Ljava/lang/Boolean;\n+  #344 = Utf8               LocalVariableTypeTable\n+  #345 = Utf8               StackMapTable\n+  #346 = Class              #347          // java/util/Map\n+  #347 = Utf8               java/util/Map\n+  #348 = Class              #349          // java/net/Proxy\n+  #349 = Utf8               java/net/Proxy\n+  #350 = Class              #351          // java/lang/Boolean\n+  #351 = Utf8               java/lang/Boolean\n+  #352 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+  #353 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+  #354 = Utf8               Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n+  #355 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+  #356 = Utf8               (Ljava/util/List;Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+  #357 = Utf8               toolSpecifications\n+  #358 = Utf8               Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n+  #359 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+  #360 = Utf8               (Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n+  #361 = Utf8               toolSpecification\n+  #362 = Utf8               Ldev/langchain4j/agent/tool/ToolSpecification;\n+  #363 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+  #364 = Utf8               toolThatMustBeExecuted\n+  #365 = Utf8               requestBuilder\n+  #366 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+  #367 = Utf8               request\n+  #368 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n+  #369 = Utf8               response\n+  #370 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  #371 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+  #372 = Utf8               estimateTokenCount\n+  #373 = Utf8               (Ljava/util/List;)I\n+  #374 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)I\n+  #375 = Utf8               withApiKey\n+  #376 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel;\n+  #377 = Utf8               lambda$generate$1\n+  #378 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  #379 = Utf8               Exceptions\n+  #380 = Class              #381          // java/lang/Exception\n+  #381 = Utf8               java/lang/Exception\n+  #382 = Utf8               lambda$new$0\n+  #383 = Utf8               ()Ldev/langchain4j/model/Tokenizer;\n+  #384 = Utf8               SourceFile\n+  #385 = Utf8               OpenAiChatModel.java\n+  #386 = Utf8               BootstrapMethods\n+  #387 = MethodHandle       6:#388        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #388 = Methodref          #389.#390     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #389 = Class              #391          // java/lang/invoke/LambdaMetafactory\n+  #390 = NameAndType        #392:#393     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #391 = Utf8               java/lang/invoke/LambdaMetafactory\n+  #392 = Utf8               metafactory\n+  #393 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #394 = MethodType         #321          //  ()Ljava/lang/Object;\n+  #395 = MethodHandle       7:#396        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiChatModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+  #396 = Methodref          #84.#397      // dev/langchain4j/model/openai/OpenAiChatModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+  #397 = NameAndType        #382:#383     // lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+  #398 = MethodType         #383          //  ()Ldev/langchain4j/model/Tokenizer;\n+  #399 = MethodHandle       7:#400        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiChatModel.lambda$generate$1:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  #400 = Methodref          #84.#401      // dev/langchain4j/model/openai/OpenAiChatModel.lambda$generate$1:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  #401 = NameAndType        #377:#378     // lambda$generate$1:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  #402 = MethodType         #403          //  ()Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  #403 = Utf8               ()Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  #404 = MethodHandle       8:#405        // REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.\"<init>\":()V\n+  #405 = Methodref          #293.#7       // dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.\"<init>\":()V\n+  #406 = MethodType         #291          //  ()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+  #407 = Utf8               InnerClasses\n+  #408 = Utf8               Builder\n+  #409 = Utf8               OpenAiChatModelBuilder\n+  #410 = Class              #411          // java/lang/invoke/MethodHandles$Lookup\n+  #411 = Utf8               java/lang/invoke/MethodHandles$Lookup\n+  #412 = Class              #413          // java/lang/invoke/MethodHandles\n+  #413 = Utf8               java/lang/invoke/MethodHandles\n+  #414 = Utf8               Lookup\n {\n   private final dev.ai4j.openai4j.OpenAiClient client;\n     descriptor: Ldev/ai4j/openai4j/OpenAiClient;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.lang.String modelName;\n     descriptor: Ljava/lang/String;\n@@ -444,15 +436,15 @@\n   private final java.lang.Double topP;\n     descriptor: Ljava/lang/Double;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.util.List<java.lang.String> stop;\n     descriptor: Ljava/util/List;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n-    Signature: #113                         // Ljava/util/List<Ljava/lang/String;>;\n+    Signature: #332                         // Ljava/util/List<Ljava/lang/String;>;\n \n   private final java.lang.Integer maxTokens;\n     descriptor: Ljava/lang/Integer;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.lang.Double presencePenalty;\n     descriptor: Ljava/lang/Double;\n@@ -461,15 +453,15 @@\n   private final java.lang.Double frequencyPenalty;\n     descriptor: Ljava/lang/Double;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.util.Map<java.lang.String, java.lang.Integer> logitBias;\n     descriptor: Ljava/util/Map;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n-    Signature: #120                         // Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n+    Signature: #333                         // Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n \n   private final java.lang.String responseFormat;\n     descriptor: Ljava/lang/String;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.lang.Integer seed;\n     descriptor: Ljava/lang/Integer;\n@@ -489,110 +481,110 @@\n \n   public dev.langchain4j.model.openai.OpenAiChatModel(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Double, java.lang.Double, java.util.List<java.lang.String>, java.lang.Integer, java.lang.Double, java.lang.Double, java.util.Map<java.lang.String, java.lang.Integer>, java.lang.String, java.lang.Integer, java.lang.String, java.time.Duration, java.lang.Integer, java.net.Proxy, java.lang.Boolean, java.lang.Boolean, dev.langchain4j.model.Tokenizer);\n     descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=4, locals=21, args_size=21\n          0: aload_0\n-         1: invokespecial #3                  // Method java/lang/Object.\"<init>\":()V\n+         1: invokespecial #5                  // Method java/lang/Object.\"<init>\":()V\n          4: aload_1\n-         5: ldc           #4                  // String https://api.openai.com/v1\n-         7: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-        10: checkcast     #6                  // class java/lang/String\n+         5: ldc           #11                 // String https://api.openai.com/v1\n+         7: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+        10: checkcast     #19                 // class java/lang/String\n         13: astore_1\n-        14: ldc           #7                  // String demo\n+        14: ldc           #21                 // String demo\n         16: aload_2\n-        17: invokevirtual #8                  // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+        17: invokevirtual #23                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n         20: ifeq          26\n-        23: ldc           #9                  // String http://langchain4j.dev/demo/openai/v1\n+        23: ldc           #27                 // String http://langchain4j.dev/demo/openai/v1\n         25: astore_1\n         26: aload         15\n-        28: ldc2_w        #10                 // long 60l\n-        31: invokestatic  #12                 // Method java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n-        34: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-        37: checkcast     #13                 // class java/time/Duration\n+        28: ldc2_w        #29                 // long 60l\n+        31: invokestatic  #31                 // Method java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n+        34: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+        37: checkcast     #32                 // class java/time/Duration\n         40: astore        15\n         42: aload_0\n-        43: invokestatic  #14                 // Method dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        43: invokestatic  #37                 // Method dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         46: aload_2\n-        47: invokevirtual #15                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        47: invokevirtual #43                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         50: aload_1\n-        51: invokevirtual #16                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        51: invokevirtual #49                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         54: aload_3\n-        55: invokevirtual #17                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        55: invokevirtual #52                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         58: aload         15\n-        60: invokevirtual #18                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        60: invokevirtual #55                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         63: aload         15\n-        65: invokevirtual #19                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        65: invokevirtual #59                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         68: aload         15\n-        70: invokevirtual #20                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        70: invokevirtual #62                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         73: aload         15\n-        75: invokevirtual #21                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        75: invokevirtual #65                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         78: aload         17\n-        80: invokevirtual #22                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        80: invokevirtual #68                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         83: aload         18\n-        85: invokevirtual #23                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        85: invokevirtual #72                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         88: aload         19\n-        90: invokevirtual #24                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-        93: invokevirtual #25                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n-        96: putfield      #26                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n+        90: invokevirtual #76                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        93: invokevirtual #79                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n+        96: putfield      #83                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n         99: aload_0\n        100: aload         4\n-       102: ldc           #27                 // String gpt-3.5-turbo\n-       104: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-       107: checkcast     #6                  // class java/lang/String\n-       110: putfield      #28                 // Field modelName:Ljava/lang/String;\n+       102: ldc           #89                 // String gpt-3.5-turbo\n+       104: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+       107: checkcast     #19                 // class java/lang/String\n+       110: putfield      #91                 // Field modelName:Ljava/lang/String;\n        113: aload_0\n        114: aload         5\n-       116: ldc2_w        #29                 // double 0.7d\n-       119: invokestatic  #31                 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;\n-       122: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-       125: checkcast     #32                 // class java/lang/Double\n-       128: putfield      #33                 // Field temperature:Ljava/lang/Double;\n+       116: ldc2_w        #95                 // double 0.7d\n+       119: invokestatic  #97                 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;\n+       122: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+       125: checkcast     #98                 // class java/lang/Double\n+       128: putfield      #103                // Field temperature:Ljava/lang/Double;\n        131: aload_0\n        132: aload         6\n-       134: putfield      #34                 // Field topP:Ljava/lang/Double;\n+       134: putfield      #107                // Field topP:Ljava/lang/Double;\n        137: aload_0\n        138: aload         7\n-       140: putfield      #35                 // Field stop:Ljava/util/List;\n+       140: putfield      #110                // Field stop:Ljava/util/List;\n        143: aload_0\n        144: aload         8\n-       146: putfield      #36                 // Field maxTokens:Ljava/lang/Integer;\n+       146: putfield      #114                // Field maxTokens:Ljava/lang/Integer;\n        149: aload_0\n        150: aload         9\n-       152: putfield      #37                 // Field presencePenalty:Ljava/lang/Double;\n+       152: putfield      #118                // Field presencePenalty:Ljava/lang/Double;\n        155: aload_0\n        156: aload         10\n-       158: putfield      #38                 // Field frequencyPenalty:Ljava/lang/Double;\n+       158: putfield      #121                // Field frequencyPenalty:Ljava/lang/Double;\n        161: aload_0\n        162: aload         11\n-       164: putfield      #39                 // Field logitBias:Ljava/util/Map;\n+       164: putfield      #124                // Field logitBias:Ljava/util/Map;\n        167: aload_0\n        168: aload         12\n-       170: putfield      #40                 // Field responseFormat:Ljava/lang/String;\n+       170: putfield      #128                // Field responseFormat:Ljava/lang/String;\n        173: aload_0\n        174: aload         13\n-       176: putfield      #41                 // Field seed:Ljava/lang/Integer;\n+       176: putfield      #131                // Field seed:Ljava/lang/Integer;\n        179: aload_0\n        180: aload         14\n-       182: putfield      #42                 // Field user:Ljava/lang/String;\n+       182: putfield      #134                // Field user:Ljava/lang/String;\n        185: aload_0\n        186: aload         16\n        188: iconst_3\n-       189: invokestatic  #43                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-       192: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-       195: checkcast     #44                 // class java/lang/Integer\n-       198: putfield      #45                 // Field maxRetries:Ljava/lang/Integer;\n+       189: invokestatic  #137                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+       192: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+       195: checkcast     #138                // class java/lang/Integer\n+       198: putfield      #142                // Field maxRetries:Ljava/lang/Integer;\n        201: aload_0\n        202: aload         20\n        204: aload_0\n-       205: invokedynamic #46,  0             // InvokeDynamic #0:get:(Ldev/langchain4j/model/openai/OpenAiChatModel;)Ljava/util/function/Supplier;\n-       210: invokestatic  #47                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-       213: checkcast     #48                 // class dev/langchain4j/model/Tokenizer\n-       216: putfield      #49                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+       205: invokedynamic #145,  0            // InvokeDynamic #0:get:(Ldev/langchain4j/model/openai/OpenAiChatModel;)Ljava/util/function/Supplier;\n+       210: invokestatic  #149                // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+       213: checkcast     #152                // class dev/langchain4j/model/Tokenizer\n+       216: putfield      #154                // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n        219: return\n       LineNumberTable:\n         line 70: 0\n         line 72: 4\n         line 73: 14\n         line 74: 23\n         line 77: 26\n@@ -650,171 +642,171 @@\n             0     220     7  stop   Ljava/util/List<Ljava/lang/String;>;\n             0     220    11 logitBias   Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;\n       StackMapTable: number_of_entries = 1\n         frame_type = 255 /* full_frame */\n           offset_delta = 26\n           locals = [ class dev/langchain4j/model/openai/OpenAiChatModel, class java/lang/String, class java/lang/String, class java/lang/String, class java/lang/String, class java/lang/Double, class java/lang/Double, class java/util/List, class java/lang/Integer, class java/lang/Double, class java/lang/Double, class java/util/Map, class java/lang/String, class java/lang/Integer, class java/lang/String, class java/time/Duration, class java/lang/Integer, class java/net/Proxy, class java/lang/Boolean, class java/lang/Boolean, class dev/langchain4j/model/Tokenizer ]\n           stack = []\n-    Signature: #156                         // (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+    Signature: #352                         // (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Integer;Ljava/lang/Double;Ljava/lang/Double;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n \n   public dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage> generate(java.util.List<dev.langchain4j.data.message.ChatMessage>);\n     descriptor: (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=4, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n          2: aconst_null\n          3: aconst_null\n-         4: invokespecial #50                 // Method generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n+         4: invokespecial #158                // Method generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n          7: areturn\n       LineNumberTable:\n         line 108: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       8     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel;\n             0       8     1 messages   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0       8     1 messages   Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n-    Signature: #161                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+    Signature: #355                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n \n   public dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage> generate(java.util.List<dev.langchain4j.data.message.ChatMessage>, java.util.List<dev.langchain4j.agent.tool.ToolSpecification>);\n     descriptor: (Ljava/util/List;Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=4, locals=3, args_size=3\n          0: aload_0\n          1: aload_1\n          2: aload_2\n          3: aconst_null\n-         4: invokespecial #50                 // Method generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n+         4: invokespecial #158                // Method generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n          7: areturn\n       LineNumberTable:\n         line 113: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       8     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel;\n             0       8     1 messages   Ljava/util/List;\n             0       8     2 toolSpecifications   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0       8     1 messages   Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n             0       8     2 toolSpecifications   Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n-    Signature: #165                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+    Signature: #359                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n \n   public dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage> generate(java.util.List<dev.langchain4j.data.message.ChatMessage>, dev.langchain4j.agent.tool.ToolSpecification);\n     descriptor: (Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=4, locals=3, args_size=3\n          0: aload_0\n          1: aload_1\n          2: aload_2\n-         3: invokestatic  #51                 // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+         3: invokestatic  #162                // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n          6: aload_2\n-         7: invokespecial #50                 // Method generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n+         7: invokespecial #158                // Method generate:(Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n         10: areturn\n       LineNumberTable:\n         line 118: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      11     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel;\n             0      11     1 messages   Ljava/util/List;\n             0      11     2 toolSpecification   Ldev/langchain4j/agent/tool/ToolSpecification;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0      11     1 messages   Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n-    Signature: #169                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+    Signature: #363                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n \n   private dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage> generate(java.util.List<dev.langchain4j.data.message.ChatMessage>, java.util.List<dev.langchain4j.agent.tool.ToolSpecification>, dev.langchain4j.agent.tool.ToolSpecification);\n     descriptor: (Ljava/util/List;Ljava/util/List;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=4, locals=7, args_size=4\n-         0: invokestatic  #52                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest.builder:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+         0: invokestatic  #168                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest.builder:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n          3: aload_0\n-         4: getfield      #28                 // Field modelName:Ljava/lang/String;\n-         7: invokevirtual #53                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+         4: getfield      #91                 // Field modelName:Ljava/lang/String;\n+         7: invokevirtual #173                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         10: aload_1\n-        11: invokestatic  #54                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessages:(Ljava/util/List;)Ljava/util/List;\n-        14: invokevirtual #55                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.messages:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        11: invokestatic  #179                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.toOpenAiMessages:(Ljava/util/List;)Ljava/util/List;\n+        14: invokevirtual #183                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.messages:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         17: aload_0\n-        18: getfield      #33                 // Field temperature:Ljava/lang/Double;\n-        21: invokevirtual #56                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        18: getfield      #103                // Field temperature:Ljava/lang/Double;\n+        21: invokevirtual #187                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.temperature:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         24: aload_0\n-        25: getfield      #34                 // Field topP:Ljava/lang/Double;\n-        28: invokevirtual #57                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.topP:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        25: getfield      #107                // Field topP:Ljava/lang/Double;\n+        28: invokevirtual #190                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.topP:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         31: aload_0\n-        32: getfield      #35                 // Field stop:Ljava/util/List;\n-        35: invokevirtual #58                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.stop:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        32: getfield      #110                // Field stop:Ljava/util/List;\n+        35: invokevirtual #192                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.stop:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         38: aload_0\n-        39: getfield      #36                 // Field maxTokens:Ljava/lang/Integer;\n-        42: invokevirtual #59                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.maxTokens:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        39: getfield      #114                // Field maxTokens:Ljava/lang/Integer;\n+        42: invokevirtual #194                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.maxTokens:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         45: aload_0\n-        46: getfield      #37                 // Field presencePenalty:Ljava/lang/Double;\n-        49: invokevirtual #60                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.presencePenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        46: getfield      #118                // Field presencePenalty:Ljava/lang/Double;\n+        49: invokevirtual #197                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.presencePenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         52: aload_0\n-        53: getfield      #38                 // Field frequencyPenalty:Ljava/lang/Double;\n-        56: invokevirtual #61                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.frequencyPenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        53: getfield      #121                // Field frequencyPenalty:Ljava/lang/Double;\n+        56: invokevirtual #199                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.frequencyPenalty:(Ljava/lang/Double;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         59: aload_0\n-        60: getfield      #39                 // Field logitBias:Ljava/util/Map;\n-        63: invokevirtual #62                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.logitBias:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        60: getfield      #124                // Field logitBias:Ljava/util/Map;\n+        63: invokevirtual #201                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.logitBias:(Ljava/util/Map;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         66: aload_0\n-        67: getfield      #40                 // Field responseFormat:Ljava/lang/String;\n-        70: invokevirtual #63                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.responseFormat:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        67: getfield      #128                // Field responseFormat:Ljava/lang/String;\n+        70: invokevirtual #204                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.responseFormat:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         73: aload_0\n-        74: getfield      #41                 // Field seed:Ljava/lang/Integer;\n-        77: invokevirtual #64                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.seed:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        74: getfield      #131                // Field seed:Ljava/lang/Integer;\n+        77: invokevirtual #206                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.seed:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         80: aload_0\n-        81: getfield      #42                 // Field user:Ljava/lang/String;\n-        84: invokevirtual #65                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.user:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+        81: getfield      #134                // Field user:Ljava/lang/String;\n+        84: invokevirtual #208                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.user:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n         87: astore        4\n         89: aload_2\n         90: ifnull        112\n         93: aload_2\n-        94: invokeinterface #66,  1           // InterfaceMethod java/util/List.isEmpty:()Z\n+        94: invokeinterface #210,  1          // InterfaceMethod java/util/List.isEmpty:()Z\n         99: ifne          112\n        102: aload         4\n        104: aload_2\n-       105: invokestatic  #67                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.toTools:(Ljava/util/Collection;)Ljava/util/List;\n-       108: invokevirtual #68                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.tools:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+       105: invokestatic  #216                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.toTools:(Ljava/util/Collection;)Ljava/util/List;\n+       108: invokevirtual #220                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.tools:(Ljava/util/List;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n        111: pop\n        112: aload_3\n        113: ifnull        126\n        116: aload         4\n        118: aload_3\n-       119: invokevirtual #69                 // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n-       122: invokevirtual #70                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.toolChoice:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n+       119: invokevirtual #223                // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n+       122: invokevirtual #229                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.toolChoice:(Ljava/lang/String;)Ldev/ai4j/openai4j/chat/ChatCompletionRequest$Builder;\n        125: pop\n        126: aload         4\n-       128: invokevirtual #71                 // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.build:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n+       128: invokevirtual #232                // Method dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder.build:()Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n        131: astore        5\n        133: aload_0\n        134: aload         5\n-       136: invokedynamic #72,  0             // InvokeDynamic #1:call:(Ldev/langchain4j/model/openai/OpenAiChatModel;Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ljava/util/concurrent/Callable;\n+       136: invokedynamic #235,  0            // InvokeDynamic #1:call:(Ldev/langchain4j/model/openai/OpenAiChatModel;Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ljava/util/concurrent/Callable;\n        141: aload_0\n-       142: getfield      #45                 // Field maxRetries:Ljava/lang/Integer;\n-       145: invokevirtual #73                 // Method java/lang/Integer.intValue:()I\n-       148: invokestatic  #74                 // Method dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-       151: checkcast     #75                 // class dev/ai4j/openai4j/chat/ChatCompletionResponse\n+       142: getfield      #142                // Field maxRetries:Ljava/lang/Integer;\n+       145: invokevirtual #239                // Method java/lang/Integer.intValue:()I\n+       148: invokestatic  #243                // Method dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+       151: checkcast     #249                // class dev/ai4j/openai4j/chat/ChatCompletionResponse\n        154: astore        6\n        156: aload         6\n-       158: invokestatic  #76                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.aiMessageFrom:(Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n+       158: invokestatic  #251                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.aiMessageFrom:(Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)Ldev/langchain4j/data/message/AiMessage;\n        161: aload         6\n-       163: invokevirtual #77                 // Method dev/ai4j/openai4j/chat/ChatCompletionResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n-       166: invokestatic  #78                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+       163: invokevirtual #255                // Method dev/ai4j/openai4j/chat/ChatCompletionResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n+       166: invokestatic  #259                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n        169: aload         6\n-       171: invokevirtual #79                 // Method dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n+       171: invokevirtual #263                // Method dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n        174: iconst_0\n-       175: invokeinterface #80,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n-       180: checkcast     #81                 // class dev/ai4j/openai4j/chat/ChatCompletionChoice\n-       183: invokevirtual #82                 // Method dev/ai4j/openai4j/chat/ChatCompletionChoice.finishReason:()Ljava/lang/String;\n-       186: invokestatic  #83                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-       189: invokestatic  #84                 // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+       175: invokeinterface #267,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n+       180: checkcast     #270                // class dev/ai4j/openai4j/chat/ChatCompletionChoice\n+       183: invokevirtual #272                // Method dev/ai4j/openai4j/chat/ChatCompletionChoice.finishReason:()Ljava/lang/String;\n+       186: invokestatic  #275                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+       189: invokestatic  #279                // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n        192: areturn\n       LineNumberTable:\n         line 125: 0\n         line 126: 7\n         line 127: 11\n         line 128: 21\n         line 129: 28\n@@ -851,77 +843,77 @@\n             0     193     1 messages   Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n             0     193     2 toolSpecifications   Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n       StackMapTable: number_of_entries = 2\n         frame_type = 252 /* append */\n           offset_delta = 112\n           locals = [ class dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder ]\n         frame_type = 13 /* same */\n-    Signature: #181                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+    Signature: #371                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;Ljava/util/List<Ldev/langchain4j/agent/tool/ToolSpecification;>;Ldev/langchain4j/agent/tool/ToolSpecification;)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n \n   public int estimateTokenCount(java.util.List<dev.langchain4j.data.message.ChatMessage>);\n     descriptor: (Ljava/util/List;)I\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #49                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+         1: getfield      #154                // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n          4: aload_1\n-         5: invokeinterface #85,  2           // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInMessages:(Ljava/lang/Iterable;)I\n+         5: invokeinterface #285,  2          // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInMessages:(Ljava/lang/Iterable;)I\n         10: ireturn\n       LineNumberTable:\n         line 159: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      11     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel;\n             0      11     1 messages   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0      11     1 messages   Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;\n-    Signature: #184                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)I\n+    Signature: #374                         // (Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;)I\n \n   public static dev.langchain4j.model.openai.OpenAiChatModel withApiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: invokestatic  #86                 // Method builder:()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+         0: invokestatic  #289                // Method builder:()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n          3: aload_0\n-         4: invokevirtual #87                 // Method dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n-         7: invokevirtual #88                 // Method dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiChatModel;\n+         4: invokevirtual #292                // Method dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+         7: invokevirtual #298                // Method dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiChatModel;\n         10: areturn\n       LineNumberTable:\n         line 163: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      11     0 apiKey   Ljava/lang/String;\n \n   public static dev.langchain4j.model.openai.OpenAiChatModel$OpenAiChatModelBuilder builder();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=0, args_size=0\n-         0: ldc           #89                 // class dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n-         2: invokedynamic #90,  0             // InvokeDynamic #2:get:()Ljava/util/function/Supplier;\n-         7: invokestatic  #91                 // Method dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-        10: checkcast     #92                 // class dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n-        13: areturn\n+         0: ldc_w         #301                // class dev/langchain4j/model/openai/spi/OpenAiChatModelBuilderFactory\n+         3: invokedynamic #303,  0            // InvokeDynamic #2:get:()Ljava/util/function/Supplier;\n+         8: invokestatic  #306                // Method dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+        11: checkcast     #293                // class dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder\n+        14: areturn\n       LineNumberTable:\n         line 167: 0\n \n   private dev.ai4j.openai4j.chat.ChatCompletionResponse lambda$generate$1(dev.ai4j.openai4j.chat.ChatCompletionRequest) throws java.lang.Exception;\n     descriptor: (Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n     flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #26                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n+         1: getfield      #83                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n          4: aload_1\n-         5: invokevirtual #93                 // Method dev/ai4j/openai4j/OpenAiClient.chatCompletion:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n-         8: invokeinterface #94,  1           // InterfaceMethod dev/ai4j/openai4j/SyncOrAsyncOrStreaming.execute:()Ljava/lang/Object;\n-        13: checkcast     #75                 // class dev/ai4j/openai4j/chat/ChatCompletionResponse\n+         5: invokevirtual #312                // Method dev/ai4j/openai4j/OpenAiClient.chatCompletion:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/SyncOrAsyncOrStreaming;\n+         8: invokeinterface #316,  1          // InterfaceMethod dev/ai4j/openai4j/SyncOrAsyncOrStreaming.execute:()Ljava/lang/Object;\n+        13: checkcast     #249                // class dev/ai4j/openai4j/chat/ChatCompletionResponse\n         16: areturn\n       LineNumberTable:\n         line 148: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      17     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel;\n             0      17     1 request   Ldev/ai4j/openai4j/chat/ChatCompletionRequest;\n@@ -929,41 +921,41 @@\n       throws java.lang.Exception\n \n   private dev.langchain4j.model.Tokenizer lambda$new$0();\n     descriptor: ()Ldev/langchain4j/model/Tokenizer;\n     flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC\n     Code:\n       stack=3, locals=1, args_size=1\n-         0: new           #95                 // class dev/langchain4j/model/openai/OpenAiTokenizer\n+         0: new           #322                // class dev/langchain4j/model/openai/OpenAiTokenizer\n          3: dup\n          4: aload_0\n-         5: getfield      #28                 // Field modelName:Ljava/lang/String;\n-         8: invokespecial #96                 // Method dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n+         5: getfield      #91                 // Field modelName:Ljava/lang/String;\n+         8: invokespecial #324                // Method dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n         11: areturn\n       LineNumberTable:\n         line 103: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      12     0  this   Ldev/langchain4j/model/openai/OpenAiChatModel;\n }\n SourceFile: \"OpenAiChatModel.java\"\n-InnerClasses:\n-  public static #101= #92 of #97;         // OpenAiChatModelBuilder=class dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder of class dev/langchain4j/model/openai/OpenAiChatModel\n-  public static final #174= #173 of #253; // Builder=class dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder of class dev/ai4j/openai4j/chat/ChatCompletionRequest\n-  public static abstract #174= #211 of #209; // Builder=class dev/ai4j/openai4j/OpenAiClient$Builder of class dev/ai4j/openai4j/OpenAiClient\n-  public static final #418= #417 of #420; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n BootstrapMethods:\n-  0: #242 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  0: #387 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #243 ()Ljava/lang/Object;\n-      #244 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiChatModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-      #245 ()Ldev/langchain4j/model/Tokenizer;\n-  1: #242 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #394 ()Ljava/lang/Object;\n+      #395 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiChatModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+      #398 ()Ldev/langchain4j/model/Tokenizer;\n+  1: #387 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #243 ()Ljava/lang/Object;\n-      #276 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiChatModel.lambda$generate$1:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-      #277 ()Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  2: #242 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #394 ()Ljava/lang/Object;\n+      #399 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiChatModel.lambda$generate$1:(Ldev/ai4j/openai4j/chat/ChatCompletionRequest;)Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+      #402 ()Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  2: #387 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #243 ()Ljava/lang/Object;\n-      #298 REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.\"<init>\":()V\n-      #299 ()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+      #394 ()Ljava/lang/Object;\n+      #404 REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder.\"<init>\":()V\n+      #406 ()Ldev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder;\n+InnerClasses:\n+  public static abstract #408= #44 of #38; // Builder=class dev/ai4j/openai4j/OpenAiClient$Builder of class dev/ai4j/openai4j/OpenAiClient\n+  public static final #408= #174 of #169; // Builder=class dev/ai4j/openai4j/chat/ChatCompletionRequest$Builder of class dev/ai4j/openai4j/chat/ChatCompletionRequest\n+  public static #409= #293 of #84;        // OpenAiChatModelBuilder=class dev/langchain4j/model/openai/OpenAiChatModel$OpenAiChatModelBuilder of class dev/langchain4j/model/openai/OpenAiChatModel\n+  public static final #414= #410 of #412; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiEmbeddingModelName.class", "source2": "dev/langchain4j/model/openai/OpenAiEmbeddingModelName.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,82 +1,84 @@\n-  SHA-256 checksum 3fbd0ef59905520d36d1e65d50bb347c1790295d68ca6d184ed72238270bb144\n+  SHA-256 checksum 53e46b1cb33fa2cb28613851101129a272e8ba313b8dfce2c24fb464b1f89de3\n   Compiled from \"OpenAiEmbeddingModelName.java\"\n public final class dev.langchain4j.model.openai.OpenAiEmbeddingModelName extends java.lang.Enum<dev.langchain4j.model.openai.OpenAiEmbeddingModelName>\n   minor version: 0\n   major version: 52\n   flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM\n-  this_class: #4                          // dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n-  super_class: #18                        // java/lang/Enum\n-  interfaces: 0, fields: 5, methods: 5, attributes: 2\n+  this_class: #1                          // dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+  super_class: #23                        // java/lang/Enum\n+  interfaces: 0, fields: 5, methods: 6, attributes: 2\n Constant pool:\n-   #1 = Fieldref           #4.#47         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-   #2 = Methodref          #48.#49        // \"[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\".clone:()Ljava/lang/Object;\n-   #3 = Class              #26            // \"[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\"\n-   #4 = Class              #50            // dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n-   #5 = Methodref          #18.#51        // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-   #6 = Methodref          #18.#52        // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n-   #7 = Fieldref           #4.#53         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.stringValue:Ljava/lang/String;\n-   #8 = String             #19            // TEXT_EMBEDDING_3_SMALL\n-   #9 = String             #54            // text-embedding-3-small\n-  #10 = Methodref          #4.#55         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-  #11 = Fieldref           #4.#56         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.TEXT_EMBEDDING_3_SMALL:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #12 = String             #21            // TEXT_EMBEDDING_3_LARGE\n-  #13 = String             #57            // text-embedding-3-large\n-  #14 = Fieldref           #4.#58         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.TEXT_EMBEDDING_3_LARGE:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #15 = String             #22            // TEXT_EMBEDDING_ADA_002\n-  #16 = String             #59            // text-embedding-ada-002\n-  #17 = Fieldref           #4.#60         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.TEXT_EMBEDDING_ADA_002:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #18 = Class              #61            // java/lang/Enum\n-  #19 = Utf8               TEXT_EMBEDDING_3_SMALL\n-  #20 = Utf8               Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #21 = Utf8               TEXT_EMBEDDING_3_LARGE\n-  #22 = Utf8               TEXT_EMBEDDING_ADA_002\n-  #23 = Utf8               stringValue\n-  #24 = Utf8               Ljava/lang/String;\n-  #25 = Utf8               $VALUES\n-  #26 = Utf8               [Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #27 = Utf8               values\n-  #28 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #29 = Utf8               Code\n-  #30 = Utf8               LineNumberTable\n-  #31 = Utf8               valueOf\n-  #32 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #33 = Utf8               LocalVariableTable\n-  #34 = Utf8               name\n-  #35 = Utf8               <init>\n-  #36 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n-  #37 = Utf8               this\n-  #38 = Utf8               Signature\n-  #39 = Utf8               (Ljava/lang/String;)V\n-  #40 = Utf8               toString\n-  #41 = Utf8               ()Ljava/lang/String;\n-  #42 = Utf8               <clinit>\n-  #43 = Utf8               ()V\n-  #44 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;>;\n-  #45 = Utf8               SourceFile\n-  #46 = Utf8               OpenAiEmbeddingModelName.java\n-  #47 = NameAndType        #25:#26        // $VALUES:[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #48 = Class              #26            // \"[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\"\n-  #49 = NameAndType        #62:#63        // clone:()Ljava/lang/Object;\n-  #50 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n-  #51 = NameAndType        #31:#64        // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #52 = NameAndType        #35:#65        // \"<init>\":(Ljava/lang/String;I)V\n-  #53 = NameAndType        #23:#24        // stringValue:Ljava/lang/String;\n-  #54 = Utf8               text-embedding-3-small\n-  #55 = NameAndType        #35:#36        // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-  #56 = NameAndType        #19:#20        // TEXT_EMBEDDING_3_SMALL:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #57 = Utf8               text-embedding-3-large\n-  #58 = NameAndType        #21:#20        // TEXT_EMBEDDING_3_LARGE:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #59 = Utf8               text-embedding-ada-002\n-  #60 = NameAndType        #22:#20        // TEXT_EMBEDDING_ADA_002:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-  #61 = Utf8               java/lang/Enum\n-  #62 = Utf8               clone\n-  #63 = Utf8               ()Ljava/lang/Object;\n-  #64 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #65 = Utf8               (Ljava/lang/String;I)V\n+   #1 = Class              #2             // dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+   #2 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+   #3 = Fieldref           #1.#4          // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.TEXT_EMBEDDING_3_SMALL:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+   #4 = NameAndType        #5:#6          // TEXT_EMBEDDING_3_SMALL:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+   #5 = Utf8               TEXT_EMBEDDING_3_SMALL\n+   #6 = Utf8               Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+   #7 = Fieldref           #1.#8          // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.TEXT_EMBEDDING_3_LARGE:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+   #8 = NameAndType        #9:#6          // TEXT_EMBEDDING_3_LARGE:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+   #9 = Utf8               TEXT_EMBEDDING_3_LARGE\n+  #10 = Fieldref           #1.#11         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.TEXT_EMBEDDING_ADA_002:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #11 = NameAndType        #12:#6         // TEXT_EMBEDDING_ADA_002:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #12 = Utf8               TEXT_EMBEDDING_ADA_002\n+  #13 = Fieldref           #1.#14         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #14 = NameAndType        #15:#16        // $VALUES:[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #15 = Utf8               $VALUES\n+  #16 = Utf8               [Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #17 = Methodref          #18.#19        // \"[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\".clone:()Ljava/lang/Object;\n+  #18 = Class              #16            // \"[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\"\n+  #19 = NameAndType        #20:#21        // clone:()Ljava/lang/Object;\n+  #20 = Utf8               clone\n+  #21 = Utf8               ()Ljava/lang/Object;\n+  #22 = Methodref          #23.#24        // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #23 = Class              #25            // java/lang/Enum\n+  #24 = NameAndType        #26:#27        // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #25 = Utf8               java/lang/Enum\n+  #26 = Utf8               valueOf\n+  #27 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #28 = Methodref          #23.#29        // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+  #29 = NameAndType        #30:#31        // \"<init>\":(Ljava/lang/String;I)V\n+  #30 = Utf8               <init>\n+  #31 = Utf8               (Ljava/lang/String;I)V\n+  #32 = Fieldref           #1.#33         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.stringValue:Ljava/lang/String;\n+  #33 = NameAndType        #34:#35        // stringValue:Ljava/lang/String;\n+  #34 = Utf8               stringValue\n+  #35 = Utf8               Ljava/lang/String;\n+  #36 = String             #5             // TEXT_EMBEDDING_3_SMALL\n+  #37 = String             #38            // text-embedding-3-small\n+  #38 = Utf8               text-embedding-3-small\n+  #39 = Methodref          #1.#40         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+  #40 = NameAndType        #30:#41        // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+  #41 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n+  #42 = String             #9             // TEXT_EMBEDDING_3_LARGE\n+  #43 = String             #44            // text-embedding-3-large\n+  #44 = Utf8               text-embedding-3-large\n+  #45 = String             #12            // TEXT_EMBEDDING_ADA_002\n+  #46 = String             #47            // text-embedding-ada-002\n+  #47 = Utf8               text-embedding-ada-002\n+  #48 = Methodref          #1.#49         // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.$values:()[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #49 = NameAndType        #50:#51        // $values:()[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #50 = Utf8               $values\n+  #51 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #52 = Utf8               values\n+  #53 = Utf8               Code\n+  #54 = Utf8               LineNumberTable\n+  #55 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #56 = Utf8               LocalVariableTable\n+  #57 = Utf8               name\n+  #58 = Utf8               this\n+  #59 = Utf8               Signature\n+  #60 = Utf8               (Ljava/lang/String;)V\n+  #61 = Utf8               toString\n+  #62 = Utf8               ()Ljava/lang/String;\n+  #63 = Utf8               <clinit>\n+  #64 = Utf8               ()V\n+  #65 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;>;\n+  #66 = Utf8               SourceFile\n+  #67 = Utf8               OpenAiEmbeddingModelName.java\n {\n   public static final dev.langchain4j.model.openai.OpenAiEmbeddingModelName TEXT_EMBEDDING_3_SMALL;\n     descriptor: Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM\n \n   public static final dev.langchain4j.model.openai.OpenAiEmbeddingModelName TEXT_EMBEDDING_3_LARGE;\n     descriptor: Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n@@ -95,30 +97,30 @@\n     flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC\n \n   public static dev.langchain4j.model.openai.OpenAiEmbeddingModelName[] values();\n     descriptor: ()[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=1, locals=0, args_size=0\n-         0: getstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-         3: invokevirtual #2                  // Method \"[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\".clone:()Ljava/lang/Object;\n-         6: checkcast     #3                  // class \"[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\"\n+         0: getstatic     #13                 // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+         3: invokevirtual #17                 // Method \"[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\".clone:()Ljava/lang/Object;\n+         6: checkcast     #18                 // class \"[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\"\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n \n   public static dev.langchain4j.model.openai.OpenAiEmbeddingModelName valueOf(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: ldc           #4                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+         0: ldc           #1                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n          2: aload_0\n-         3: invokestatic  #5                  // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-         6: checkcast     #4                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+         3: invokestatic  #22                 // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+         6: checkcast     #1                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      10     0  name   Ljava/lang/String;\n \n@@ -126,86 +128,96 @@\n     descriptor: (Ljava/lang/String;ILjava/lang/String;)V\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=3, locals=4, args_size=4\n          0: aload_0\n          1: aload_1\n          2: iload_2\n-         3: invokespecial #6                  // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+         3: invokespecial #28                 // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n          6: aload_0\n          7: aload_3\n-         8: putfield      #7                  // Field stringValue:Ljava/lang/String;\n+         8: putfield      #32                 // Field stringValue:Ljava/lang/String;\n         11: return\n       LineNumberTable:\n         line 12: 0\n         line 13: 6\n         line 14: 11\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      12     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n             0      12     3 stringValue   Ljava/lang/String;\n-    Signature: #39                          // (Ljava/lang/String;)V\n+    Signature: #60                          // (Ljava/lang/String;)V\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #7                  // Field stringValue:Ljava/lang/String;\n+         1: getfield      #32                 // Field stringValue:Ljava/lang/String;\n          4: areturn\n       LineNumberTable:\n         line 18: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n \n+  private static dev.langchain4j.model.openai.OpenAiEmbeddingModelName[] $values();\n+    descriptor: ()[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n+    Code:\n+      stack=4, locals=0, args_size=0\n+         0: iconst_3\n+         1: anewarray     #1                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+         4: dup\n+         5: iconst_0\n+         6: getstatic     #3                  // Field TEXT_EMBEDDING_3_SMALL:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+         9: aastore\n+        10: dup\n+        11: iconst_1\n+        12: getstatic     #7                  // Field TEXT_EMBEDDING_3_LARGE:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+        15: aastore\n+        16: dup\n+        17: iconst_2\n+        18: getstatic     #10                 // Field TEXT_EMBEDDING_ADA_002:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+        21: aastore\n+        22: areturn\n+      LineNumberTable:\n+        line 3: 0\n+\n   static {};\n     descriptor: ()V\n     flags: (0x0008) ACC_STATIC\n     Code:\n       stack=5, locals=0, args_size=0\n-         0: new           #4                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+         0: new           #1                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n          3: dup\n-         4: ldc           #8                  // String TEXT_EMBEDDING_3_SMALL\n+         4: ldc           #36                 // String TEXT_EMBEDDING_3_SMALL\n          6: iconst_0\n-         7: ldc           #9                  // String text-embedding-3-small\n-         9: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        12: putstatic     #11                 // Field TEXT_EMBEDDING_3_SMALL:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-        15: new           #4                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+         7: ldc           #37                 // String text-embedding-3-small\n+         9: invokespecial #39                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        12: putstatic     #3                  // Field TEXT_EMBEDDING_3_SMALL:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+        15: new           #1                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n         18: dup\n-        19: ldc           #12                 // String TEXT_EMBEDDING_3_LARGE\n+        19: ldc           #42                 // String TEXT_EMBEDDING_3_LARGE\n         21: iconst_1\n-        22: ldc           #13                 // String text-embedding-3-large\n-        24: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        27: putstatic     #14                 // Field TEXT_EMBEDDING_3_LARGE:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-        30: new           #4                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+        22: ldc           #43                 // String text-embedding-3-large\n+        24: invokespecial #39                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        27: putstatic     #7                  // Field TEXT_EMBEDDING_3_LARGE:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+        30: new           #1                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n         33: dup\n-        34: ldc           #15                 // String TEXT_EMBEDDING_ADA_002\n+        34: ldc           #45                 // String TEXT_EMBEDDING_ADA_002\n         36: iconst_2\n-        37: ldc           #16                 // String text-embedding-ada-002\n-        39: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        42: putstatic     #17                 // Field TEXT_EMBEDDING_ADA_002:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-        45: iconst_3\n-        46: anewarray     #4                  // class dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n-        49: dup\n-        50: iconst_0\n-        51: getstatic     #11                 // Field TEXT_EMBEDDING_3_SMALL:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-        54: aastore\n-        55: dup\n-        56: iconst_1\n-        57: getstatic     #14                 // Field TEXT_EMBEDDING_3_LARGE:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-        60: aastore\n-        61: dup\n-        62: iconst_2\n-        63: getstatic     #17                 // Field TEXT_EMBEDDING_ADA_002:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-        66: aastore\n-        67: putstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-        70: return\n+        37: ldc           #46                 // String text-embedding-ada-002\n+        39: invokespecial #39                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        42: putstatic     #10                 // Field TEXT_EMBEDDING_ADA_002:Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+        45: invokestatic  #48                 // Method $values:()[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+        48: putstatic     #13                 // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+        51: return\n       LineNumberTable:\n         line 5: 0\n         line 6: 15\n         line 8: 30\n         line 3: 45\n }\n-Signature: #44                          // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;>;\n+Signature: #65                          // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;>;\n SourceFile: \"OpenAiEmbeddingModelName.java\"\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.class", "source2": "dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,134 +1,134 @@\n-  SHA-256 checksum 4d00ac41d3f198bd9e0458af0a9d59adb20cc0fe7b509932e7bbce4a62a3c1e5\n+  SHA-256 checksum eac8d38a1c83708db4e53b71d26cccd6a83f9dcf4f7739b18de300027730c608\n   Compiled from \"OpenAiEmbeddingModel.java\"\n public class dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #35                         // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n-  super_class: #36                        // java/lang/Object\n+  this_class: #8                          // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 12, methods: 16, attributes: 2\n Constant pool:\n-    #1 = Methodref          #36.#78       // java/lang/Object.\"<init>\":()V\n-    #2 = Fieldref           #35.#79       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.modelName:Ljava/lang/String;\n-    #3 = Methodref          #80.#81       // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.toString:()Ljava/lang/String;\n-    #4 = Fieldref           #35.#82       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.baseUrl:Ljava/lang/String;\n-    #5 = Fieldref           #35.#83       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.apiKey:Ljava/lang/String;\n-    #6 = Fieldref           #35.#84       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.organizationId:Ljava/lang/String;\n-    #7 = Fieldref           #35.#85       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.dimensions:Ljava/lang/Integer;\n-    #8 = Fieldref           #35.#86       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.user:Ljava/lang/String;\n-    #9 = Fieldref           #35.#87       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.timeout:Ljava/time/Duration;\n-   #10 = Fieldref           #35.#88       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.maxRetries:Ljava/lang/Integer;\n-   #11 = Fieldref           #35.#89       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.proxy:Ljava/net/Proxy;\n-   #12 = Fieldref           #35.#90       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.logRequests:Ljava/lang/Boolean;\n-   #13 = Fieldref           #35.#91       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.logResponses:Ljava/lang/Boolean;\n-   #14 = Fieldref           #35.#92       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #15 = Class              #93           // dev/langchain4j/model/openai/OpenAiEmbeddingModel\n-   #16 = Methodref          #15.#94       // dev/langchain4j/model/openai/OpenAiEmbeddingModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #17 = Class              #95           // java/lang/StringBuilder\n-   #18 = Methodref          #17.#78       // java/lang/StringBuilder.\"<init>\":()V\n-   #19 = String             #96           // OpenAiEmbeddingModel.OpenAiEmbeddingModelBuilder(baseUrl=\n-   #20 = Methodref          #17.#97       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #21 = String             #98           // , apiKey=\n-   #22 = String             #99           // , organizationId=\n-   #23 = String             #100          // , modelName=\n-   #24 = String             #101          // , dimensions=\n-   #25 = Methodref          #17.#102      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #26 = String             #103          // , user=\n-   #27 = String             #104          // , timeout=\n-   #28 = String             #105          // , maxRetries=\n-   #29 = String             #106          // , proxy=\n-   #30 = String             #107          // , logRequests=\n-   #31 = String             #108          // , logResponses=\n-   #32 = String             #109          // , tokenizer=\n-   #33 = String             #110          // )\n-   #34 = Methodref          #17.#81       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n-   #35 = Class              #111          // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n-   #36 = Class              #112          // java/lang/Object\n-   #37 = Utf8               baseUrl\n-   #38 = Utf8               Ljava/lang/String;\n-   #39 = Utf8               apiKey\n-   #40 = Utf8               organizationId\n-   #41 = Utf8               modelName\n-   #42 = Utf8               dimensions\n-   #43 = Utf8               Ljava/lang/Integer;\n-   #44 = Utf8               user\n-   #45 = Utf8               timeout\n-   #46 = Utf8               Ljava/time/Duration;\n-   #47 = Utf8               maxRetries\n-   #48 = Utf8               proxy\n-   #49 = Utf8               Ljava/net/Proxy;\n-   #50 = Utf8               logRequests\n-   #51 = Utf8               Ljava/lang/Boolean;\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = Fieldref           #8.#9         // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.modelName:Ljava/lang/String;\n+    #8 = Class              #10           // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n+    #9 = NameAndType        #11:#12       // modelName:Ljava/lang/String;\n+   #10 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n+   #11 = Utf8               modelName\n+   #12 = Utf8               Ljava/lang/String;\n+   #13 = Methodref          #14.#15       // dev/langchain4j/model/openai/OpenAiEmbeddingModelName.toString:()Ljava/lang/String;\n+   #14 = Class              #16           // dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+   #15 = NameAndType        #17:#18       // toString:()Ljava/lang/String;\n+   #16 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n+   #17 = Utf8               toString\n+   #18 = Utf8               ()Ljava/lang/String;\n+   #19 = Fieldref           #8.#20        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.baseUrl:Ljava/lang/String;\n+   #20 = NameAndType        #21:#12       // baseUrl:Ljava/lang/String;\n+   #21 = Utf8               baseUrl\n+   #22 = Fieldref           #8.#23        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.apiKey:Ljava/lang/String;\n+   #23 = NameAndType        #24:#12       // apiKey:Ljava/lang/String;\n+   #24 = Utf8               apiKey\n+   #25 = Fieldref           #8.#26        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.organizationId:Ljava/lang/String;\n+   #26 = NameAndType        #27:#12       // organizationId:Ljava/lang/String;\n+   #27 = Utf8               organizationId\n+   #28 = Fieldref           #8.#29        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.dimensions:Ljava/lang/Integer;\n+   #29 = NameAndType        #30:#31       // dimensions:Ljava/lang/Integer;\n+   #30 = Utf8               dimensions\n+   #31 = Utf8               Ljava/lang/Integer;\n+   #32 = Fieldref           #8.#33        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.user:Ljava/lang/String;\n+   #33 = NameAndType        #34:#12       // user:Ljava/lang/String;\n+   #34 = Utf8               user\n+   #35 = Fieldref           #8.#36        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.timeout:Ljava/time/Duration;\n+   #36 = NameAndType        #37:#38       // timeout:Ljava/time/Duration;\n+   #37 = Utf8               timeout\n+   #38 = Utf8               Ljava/time/Duration;\n+   #39 = Fieldref           #8.#40        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.maxRetries:Ljava/lang/Integer;\n+   #40 = NameAndType        #41:#31       // maxRetries:Ljava/lang/Integer;\n+   #41 = Utf8               maxRetries\n+   #42 = Fieldref           #8.#43        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.proxy:Ljava/net/Proxy;\n+   #43 = NameAndType        #44:#45       // proxy:Ljava/net/Proxy;\n+   #44 = Utf8               proxy\n+   #45 = Utf8               Ljava/net/Proxy;\n+   #46 = Fieldref           #8.#47        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.logRequests:Ljava/lang/Boolean;\n+   #47 = NameAndType        #48:#49       // logRequests:Ljava/lang/Boolean;\n+   #48 = Utf8               logRequests\n+   #49 = Utf8               Ljava/lang/Boolean;\n+   #50 = Fieldref           #8.#51        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.logResponses:Ljava/lang/Boolean;\n+   #51 = NameAndType        #52:#49       // logResponses:Ljava/lang/Boolean;\n    #52 = Utf8               logResponses\n-   #53 = Utf8               tokenizer\n-   #54 = Utf8               Ldev/langchain4j/model/Tokenizer;\n-   #55 = Utf8               <init>\n-   #56 = Utf8               ()V\n-   #57 = Utf8               Code\n-   #58 = Utf8               LineNumberTable\n-   #59 = Utf8               LocalVariableTable\n-   #60 = Utf8               this\n-   #61 = Utf8               OpenAiEmbeddingModelBuilder\n-   #62 = Utf8               InnerClasses\n-   #63 = Utf8               Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #64 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #65 = Utf8               (Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #66 = Utf8               Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n-   #67 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #68 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #69 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #70 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #71 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #72 = Utf8               build\n-   #73 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n-   #74 = Utf8               toString\n-   #75 = Utf8               ()Ljava/lang/String;\n-   #76 = Utf8               SourceFile\n-   #77 = Utf8               OpenAiEmbeddingModel.java\n-   #78 = NameAndType        #55:#56       // \"<init>\":()V\n-   #79 = NameAndType        #41:#38       // modelName:Ljava/lang/String;\n-   #80 = Class              #113          // dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n-   #81 = NameAndType        #74:#75       // toString:()Ljava/lang/String;\n-   #82 = NameAndType        #37:#38       // baseUrl:Ljava/lang/String;\n-   #83 = NameAndType        #39:#38       // apiKey:Ljava/lang/String;\n-   #84 = NameAndType        #40:#38       // organizationId:Ljava/lang/String;\n-   #85 = NameAndType        #42:#43       // dimensions:Ljava/lang/Integer;\n-   #86 = NameAndType        #44:#38       // user:Ljava/lang/String;\n-   #87 = NameAndType        #45:#46       // timeout:Ljava/time/Duration;\n-   #88 = NameAndType        #47:#43       // maxRetries:Ljava/lang/Integer;\n-   #89 = NameAndType        #48:#49       // proxy:Ljava/net/Proxy;\n-   #90 = NameAndType        #50:#51       // logRequests:Ljava/lang/Boolean;\n-   #91 = NameAndType        #52:#51       // logResponses:Ljava/lang/Boolean;\n-   #92 = NameAndType        #53:#54       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #93 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel\n-   #94 = NameAndType        #55:#114      // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #95 = Utf8               java/lang/StringBuilder\n-   #96 = Utf8               OpenAiEmbeddingModel.OpenAiEmbeddingModelBuilder(baseUrl=\n-   #97 = NameAndType        #115:#116     // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #98 = Utf8               , apiKey=\n-   #99 = Utf8               , organizationId=\n-  #100 = Utf8               , modelName=\n-  #101 = Utf8               , dimensions=\n-  #102 = NameAndType        #115:#117     // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-  #103 = Utf8               , user=\n-  #104 = Utf8               , timeout=\n-  #105 = Utf8               , maxRetries=\n-  #106 = Utf8               , proxy=\n-  #107 = Utf8               , logRequests=\n-  #108 = Utf8               , logResponses=\n-  #109 = Utf8               , tokenizer=\n-  #110 = Utf8               )\n-  #111 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n-  #112 = Utf8               java/lang/Object\n-  #113 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModelName\n-  #114 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-  #115 = Utf8               append\n-  #116 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #117 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #53 = Fieldref           #8.#54        // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #54 = NameAndType        #55:#56       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n+   #55 = Utf8               tokenizer\n+   #56 = Utf8               Ldev/langchain4j/model/Tokenizer;\n+   #57 = Class              #58           // dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+   #58 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+   #59 = Methodref          #57.#60       // dev/langchain4j/model/openai/OpenAiEmbeddingModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #60 = NameAndType        #5:#61        // \"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #61 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+   #62 = Class              #63           // java/lang/StringBuilder\n+   #63 = Utf8               java/lang/StringBuilder\n+   #64 = Methodref          #62.#3        // java/lang/StringBuilder.\"<init>\":()V\n+   #65 = String             #66           // OpenAiEmbeddingModel.OpenAiEmbeddingModelBuilder(baseUrl=\n+   #66 = Utf8               OpenAiEmbeddingModel.OpenAiEmbeddingModelBuilder(baseUrl=\n+   #67 = Methodref          #62.#68       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #68 = NameAndType        #69:#70       // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #69 = Utf8               append\n+   #70 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #71 = String             #72           // , apiKey=\n+   #72 = Utf8               , apiKey=\n+   #73 = String             #74           // , organizationId=\n+   #74 = Utf8               , organizationId=\n+   #75 = String             #76           // , modelName=\n+   #76 = Utf8               , modelName=\n+   #77 = String             #78           // , dimensions=\n+   #78 = Utf8               , dimensions=\n+   #79 = Methodref          #62.#80       // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #80 = NameAndType        #69:#81       // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #81 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #82 = String             #83           // , user=\n+   #83 = Utf8               , user=\n+   #84 = String             #85           // , timeout=\n+   #85 = Utf8               , timeout=\n+   #86 = String             #87           // , maxRetries=\n+   #87 = Utf8               , maxRetries=\n+   #88 = String             #89           // , proxy=\n+   #89 = Utf8               , proxy=\n+   #90 = String             #91           // , logRequests=\n+   #91 = Utf8               , logRequests=\n+   #92 = String             #93           // , logResponses=\n+   #93 = Utf8               , logResponses=\n+   #94 = String             #95           // , tokenizer=\n+   #95 = Utf8               , tokenizer=\n+   #96 = String             #97           // )\n+   #97 = Utf8               )\n+   #98 = Methodref          #62.#15       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n+   #99 = Utf8               Code\n+  #100 = Utf8               LineNumberTable\n+  #101 = Utf8               LocalVariableTable\n+  #102 = Utf8               this\n+  #103 = Utf8               Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #104 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #105 = Utf8               (Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #106 = Utf8               Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;\n+  #107 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #108 = Utf8               (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #109 = Utf8               (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #110 = Utf8               (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #111 = Utf8               (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #112 = Utf8               build\n+  #113 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n+  #114 = Utf8               SourceFile\n+  #115 = Utf8               OpenAiEmbeddingModel.java\n+  #116 = Utf8               InnerClasses\n+  #117 = Utf8               OpenAiEmbeddingModelBuilder\n {\n   private java.lang.String baseUrl;\n     descriptor: Ljava/lang/String;\n     flags: (0x0002) ACC_PRIVATE\n \n   private java.lang.String apiKey;\n     descriptor: Ljava/lang/String;\n@@ -192,15 +192,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder modelName(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: putfield      #7                  // Field modelName:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 134: 0\n         line 135: 5\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -210,16 +210,16 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder modelName(dev.langchain4j.model.openai.OpenAiEmbeddingModelName);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiEmbeddingModelName;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokevirtual #3                  // Method dev/langchain4j/model/openai/OpenAiEmbeddingModelName.toString:()Ljava/lang/String;\n-         5: putfield      #2                  // Field modelName:Ljava/lang/String;\n+         2: invokevirtual #13                 // Method dev/langchain4j/model/openai/OpenAiEmbeddingModelName.toString:()Ljava/lang/String;\n+         5: putfield      #7                  // Field modelName:Ljava/lang/String;\n          8: aload_0\n          9: areturn\n       LineNumberTable:\n         line 139: 0\n         line 140: 8\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -229,15 +229,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder baseUrl(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         2: putfield      #19                 // Field baseUrl:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -246,15 +246,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder apiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #5                  // Field apiKey:Ljava/lang/String;\n+         2: putfield      #22                 // Field apiKey:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -263,15 +263,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder organizationId(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #6                  // Field organizationId:Ljava/lang/String;\n+         2: putfield      #25                 // Field organizationId:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -280,15 +280,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder dimensions(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #7                  // Field dimensions:Ljava/lang/Integer;\n+         2: putfield      #28                 // Field dimensions:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -297,15 +297,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder user(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #8                  // Field user:Ljava/lang/String;\n+         2: putfield      #32                 // Field user:Ljava/lang/String;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -314,15 +314,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder timeout(java.time.Duration);\n     descriptor: (Ljava/time/Duration;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #9                  // Field timeout:Ljava/time/Duration;\n+         2: putfield      #35                 // Field timeout:Ljava/time/Duration;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -331,15 +331,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder maxRetries(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #10                 // Field maxRetries:Ljava/lang/Integer;\n+         2: putfield      #39                 // Field maxRetries:Ljava/lang/Integer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -348,15 +348,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder proxy(java.net.Proxy);\n     descriptor: (Ljava/net/Proxy;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #11                 // Field proxy:Ljava/net/Proxy;\n+         2: putfield      #42                 // Field proxy:Ljava/net/Proxy;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -365,15 +365,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder logRequests(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #12                 // Field logRequests:Ljava/lang/Boolean;\n+         2: putfield      #46                 // Field logRequests:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -382,15 +382,15 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder logResponses(java.lang.Boolean);\n     descriptor: (Ljava/lang/Boolean;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #13                 // Field logResponses:Ljava/lang/Boolean;\n+         2: putfield      #50                 // Field logResponses:Ljava/lang/Boolean;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n@@ -399,137 +399,137 @@\n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder tokenizer(dev.langchain4j.model.Tokenizer);\n     descriptor: (Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: putfield      #14                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+         2: putfield      #53                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n          5: aload_0\n          6: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n             0       7     1 tokenizer   Ldev/langchain4j/model/Tokenizer;\n \n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel build();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=14, locals=1, args_size=1\n-         0: new           #15                 // class dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+         0: new           #57                 // class dev/langchain4j/model/openai/OpenAiEmbeddingModel\n          3: dup\n          4: aload_0\n-         5: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n+         5: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n          8: aload_0\n-         9: getfield      #5                  // Field apiKey:Ljava/lang/String;\n+         9: getfield      #22                 // Field apiKey:Ljava/lang/String;\n         12: aload_0\n-        13: getfield      #6                  // Field organizationId:Ljava/lang/String;\n+        13: getfield      #25                 // Field organizationId:Ljava/lang/String;\n         16: aload_0\n-        17: getfield      #2                  // Field modelName:Ljava/lang/String;\n+        17: getfield      #7                  // Field modelName:Ljava/lang/String;\n         20: aload_0\n-        21: getfield      #7                  // Field dimensions:Ljava/lang/Integer;\n+        21: getfield      #28                 // Field dimensions:Ljava/lang/Integer;\n         24: aload_0\n-        25: getfield      #8                  // Field user:Ljava/lang/String;\n+        25: getfield      #32                 // Field user:Ljava/lang/String;\n         28: aload_0\n-        29: getfield      #9                  // Field timeout:Ljava/time/Duration;\n+        29: getfield      #35                 // Field timeout:Ljava/time/Duration;\n         32: aload_0\n-        33: getfield      #10                 // Field maxRetries:Ljava/lang/Integer;\n+        33: getfield      #39                 // Field maxRetries:Ljava/lang/Integer;\n         36: aload_0\n-        37: getfield      #11                 // Field proxy:Ljava/net/Proxy;\n+        37: getfield      #42                 // Field proxy:Ljava/net/Proxy;\n         40: aload_0\n-        41: getfield      #12                 // Field logRequests:Ljava/lang/Boolean;\n+        41: getfield      #46                 // Field logRequests:Ljava/lang/Boolean;\n         44: aload_0\n-        45: getfield      #13                 // Field logResponses:Ljava/lang/Boolean;\n+        45: getfield      #50                 // Field logResponses:Ljava/lang/Boolean;\n         48: aload_0\n-        49: getfield      #14                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-        52: invokespecial #16                 // Method dev/langchain4j/model/openai/OpenAiEmbeddingModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+        49: getfield      #53                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+        52: invokespecial #59                 // Method dev/langchain4j/model/openai/OpenAiEmbeddingModel.\"<init>\":(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n         55: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      56     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: new           #17                 // class java/lang/StringBuilder\n+         0: new           #62                 // class java/lang/StringBuilder\n          3: dup\n-         4: invokespecial #18                 // Method java/lang/StringBuilder.\"<init>\":()V\n-         7: ldc           #19                 // String OpenAiEmbeddingModel.OpenAiEmbeddingModelBuilder(baseUrl=\n-         9: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+         4: invokespecial #64                 // Method java/lang/StringBuilder.\"<init>\":()V\n+         7: ldc           #65                 // String OpenAiEmbeddingModel.OpenAiEmbeddingModelBuilder(baseUrl=\n+         9: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         12: aload_0\n-        13: getfield      #4                  // Field baseUrl:Ljava/lang/String;\n-        16: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        19: ldc           #21                 // String , apiKey=\n-        21: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        13: getfield      #19                 // Field baseUrl:Ljava/lang/String;\n+        16: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        19: ldc           #71                 // String , apiKey=\n+        21: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         24: aload_0\n-        25: getfield      #5                  // Field apiKey:Ljava/lang/String;\n-        28: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        31: ldc           #22                 // String , organizationId=\n-        33: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        25: getfield      #22                 // Field apiKey:Ljava/lang/String;\n+        28: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        31: ldc           #73                 // String , organizationId=\n+        33: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         36: aload_0\n-        37: getfield      #6                  // Field organizationId:Ljava/lang/String;\n-        40: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        43: ldc           #23                 // String , modelName=\n-        45: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        37: getfield      #25                 // Field organizationId:Ljava/lang/String;\n+        40: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        43: ldc           #75                 // String , modelName=\n+        45: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         48: aload_0\n-        49: getfield      #2                  // Field modelName:Ljava/lang/String;\n-        52: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        55: ldc           #24                 // String , dimensions=\n-        57: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        49: getfield      #7                  // Field modelName:Ljava/lang/String;\n+        52: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        55: ldc           #77                 // String , dimensions=\n+        57: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         60: aload_0\n-        61: getfield      #7                  // Field dimensions:Ljava/lang/Integer;\n-        64: invokevirtual #25                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        67: ldc           #26                 // String , user=\n-        69: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        61: getfield      #28                 // Field dimensions:Ljava/lang/Integer;\n+        64: invokevirtual #79                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        67: ldc           #82                 // String , user=\n+        69: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         72: aload_0\n-        73: getfield      #8                  // Field user:Ljava/lang/String;\n-        76: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-        79: ldc           #27                 // String , timeout=\n-        81: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        73: getfield      #32                 // Field user:Ljava/lang/String;\n+        76: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        79: ldc           #84                 // String , timeout=\n+        81: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         84: aload_0\n-        85: getfield      #9                  // Field timeout:Ljava/time/Duration;\n-        88: invokevirtual #25                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        91: ldc           #28                 // String , maxRetries=\n-        93: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        85: getfield      #35                 // Field timeout:Ljava/time/Duration;\n+        88: invokevirtual #79                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        91: ldc           #86                 // String , maxRetries=\n+        93: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         96: aload_0\n-        97: getfield      #10                 // Field maxRetries:Ljava/lang/Integer;\n-       100: invokevirtual #25                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       103: ldc           #29                 // String , proxy=\n-       105: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        97: getfield      #39                 // Field maxRetries:Ljava/lang/Integer;\n+       100: invokevirtual #79                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       103: ldc           #88                 // String , proxy=\n+       105: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        108: aload_0\n-       109: getfield      #11                 // Field proxy:Ljava/net/Proxy;\n-       112: invokevirtual #25                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       115: ldc           #30                 // String , logRequests=\n-       117: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       109: getfield      #42                 // Field proxy:Ljava/net/Proxy;\n+       112: invokevirtual #79                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       115: ldc           #90                 // String , logRequests=\n+       117: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        120: aload_0\n-       121: getfield      #12                 // Field logRequests:Ljava/lang/Boolean;\n-       124: invokevirtual #25                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       127: ldc           #31                 // String , logResponses=\n-       129: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       121: getfield      #46                 // Field logRequests:Ljava/lang/Boolean;\n+       124: invokevirtual #79                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       127: ldc           #92                 // String , logResponses=\n+       129: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        132: aload_0\n-       133: getfield      #13                 // Field logResponses:Ljava/lang/Boolean;\n-       136: invokevirtual #25                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       139: ldc           #32                 // String , tokenizer=\n-       141: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       133: getfield      #50                 // Field logResponses:Ljava/lang/Boolean;\n+       136: invokevirtual #79                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       139: ldc           #94                 // String , tokenizer=\n+       141: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        144: aload_0\n-       145: getfield      #14                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n-       148: invokevirtual #25                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       151: ldc           #33                 // String )\n-       153: invokevirtual #20                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-       156: invokevirtual #34                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+       145: getfield      #53                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+       148: invokevirtual #79                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       151: ldc           #96                 // String )\n+       153: invokevirtual #67                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       156: invokevirtual #98                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n        159: areturn\n       LineNumberTable:\n         line 39: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0     160     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n }\n SourceFile: \"OpenAiEmbeddingModel.java\"\n InnerClasses:\n-  public static #61= #35 of #15;          // OpenAiEmbeddingModelBuilder=class dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder of class dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+  public static #117= #8 of #57;          // OpenAiEmbeddingModelBuilder=class dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder of class dev/langchain4j/model/openai/OpenAiEmbeddingModel\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiEmbeddingModel.class", "source2": "dev/langchain4j/model/openai/OpenAiEmbeddingModel.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,378 +1,373 @@\n-  SHA-256 checksum 3cb83d1b45ae9843f9a386e87d5f76bb356cde32660c45dc8ab969b85f8dd40e\n+  SHA-256 checksum 11c2be08baf66f61d554c93f60eebfd7fd01df29b8c5777ae13248a63ed21337\n   Compiled from \"OpenAiEmbeddingModel.java\"\n public class dev.langchain4j.model.openai.OpenAiEmbeddingModel implements dev.langchain4j.model.embedding.EmbeddingModel,dev.langchain4j.model.embedding.TokenCountEstimator\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #74                         // dev/langchain4j/model/openai/OpenAiEmbeddingModel\n-  super_class: #75                        // java/lang/Object\n+  this_class: #84                         // dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+  super_class: #6                         // java/lang/Object\n   interfaces: 2, fields: 6, methods: 9, attributes: 3\n Constant pool:\n-    #1 = Class              #152          // dev/langchain4j/model/openai/OpenAiModelName\n-    #2 = Class              #153          // dev/langchain4j/model/openai/InternalOpenAiHelper\n-    #3 = Methodref          #75.#154      // java/lang/Object.\"<init>\":()V\n-    #4 = String             #155          // https://api.openai.com/v1\n-    #5 = Methodref          #156.#157     // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-    #6 = Class              #158          // java/lang/String\n-    #7 = String             #159          // demo\n-    #8 = Methodref          #6.#160       // java/lang/String.equals:(Ljava/lang/Object;)Z\n-    #9 = String             #161          // http://langchain4j.dev/demo/openai/v1\n-   #10 = Long               60l\n-   #12 = Methodref          #13.#162      // java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n-   #13 = Class              #163          // java/time/Duration\n-   #14 = Methodref          #164.#165     // dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #15 = Methodref          #166.#167     // dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #16 = Methodref          #166.#168     // dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #17 = Methodref          #166.#169     // dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #18 = Methodref          #166.#170     // dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #19 = Methodref          #166.#171     // dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #20 = Methodref          #166.#172     // dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #21 = Methodref          #166.#173     // dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #22 = Methodref          #166.#174     // dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #23 = Methodref          #166.#175     // dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #24 = Methodref          #166.#176     // dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-   #25 = Methodref          #166.#177     // dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n-   #26 = Fieldref           #74.#178      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.client:Ldev/ai4j/openai4j/OpenAiClient;\n-   #27 = String             #179          // text-embedding-ada-002\n-   #28 = Fieldref           #74.#180      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.modelName:Ljava/lang/String;\n-   #29 = Fieldref           #74.#181      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.dimensions:Ljava/lang/Integer;\n-   #30 = Fieldref           #74.#182      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.user:Ljava/lang/String;\n-   #31 = Methodref          #32.#183      // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-   #32 = Class              #184          // java/lang/Integer\n-   #33 = Fieldref           #74.#185      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.maxRetries:Ljava/lang/Integer;\n-   #34 = InvokeDynamic      #0:#191       // #0:get:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;)Ljava/util/function/Supplier;\n-   #35 = Methodref          #156.#192     // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-   #36 = Class              #193          // dev/langchain4j/model/Tokenizer\n-   #37 = Fieldref           #74.#194      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.tokenizer:Ldev/langchain4j/model/Tokenizer;\n-   #38 = InterfaceMethodref #43.#195      // java/util/List.stream:()Ljava/util/stream/Stream;\n-   #39 = InvokeDynamic      #1:#199       // #1:apply:()Ljava/util/function/Function;\n-   #40 = InterfaceMethodref #200.#201     // java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-   #41 = Methodref          #202.#203     // java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-   #42 = InterfaceMethodref #200.#204     // java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-   #43 = Class              #205          // java/util/List\n-   #44 = Methodref          #74.#206      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.embedTexts:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n-   #45 = Methodref          #207.#208     // dev/ai4j/openai4j/embedding/EmbeddingRequest.builder:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-   #46 = Methodref          #209.#210     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.input:(Ljava/util/List;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-   #47 = Methodref          #209.#211     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-   #48 = Methodref          #209.#212     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.dimensions:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-   #49 = Methodref          #209.#213     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.user:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-   #50 = Methodref          #209.#214     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.build:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n-   #51 = InvokeDynamic      #2:#217       // #2:call:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ljava/util/concurrent/Callable;\n-   #52 = Methodref          #32.#218      // java/lang/Integer.intValue:()I\n-   #53 = Methodref          #219.#220     // dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-   #54 = Class              #221          // dev/ai4j/openai4j/embedding/EmbeddingResponse\n-   #55 = Methodref          #54.#222      // dev/ai4j/openai4j/embedding/EmbeddingResponse.data:()Ljava/util/List;\n-   #56 = InvokeDynamic      #3:#199       // #3:apply:()Ljava/util/function/Function;\n-   #57 = Methodref          #54.#225      // dev/ai4j/openai4j/embedding/EmbeddingResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n-   #58 = Methodref          #2.#226       // dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-   #59 = Methodref          #227.#228     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;)Ldev/langchain4j/model/output/Response;\n-   #60 = InterfaceMethodref #36.#229      // dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n-   #61 = Methodref          #74.#230      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.builder:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #62 = Methodref          #67.#231      // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-   #63 = Methodref          #67.#232      // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n-   #64 = Class              #233          // dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n-   #65 = InvokeDynamic      #4:#236       // #4:get:()Ljava/util/function/Supplier;\n-   #66 = Methodref          #237.#238     // dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-   #67 = Class              #239          // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n-   #68 = Methodref          #240.#241     // dev/ai4j/openai4j/embedding/Embedding.embedding:()Ljava/util/List;\n-   #69 = Methodref          #242.#243     // dev/langchain4j/data/embedding/Embedding.from:(Ljava/util/List;)Ldev/langchain4j/data/embedding/Embedding;\n-   #70 = Methodref          #164.#244     // dev/ai4j/openai4j/OpenAiClient.embedding:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n-   #71 = InterfaceMethodref #245.#246     // dev/ai4j/openai4j/SyncOrAsync.execute:()Ljava/lang/Object;\n-   #72 = Class              #247          // dev/langchain4j/model/openai/OpenAiTokenizer\n-   #73 = Methodref          #72.#248      // dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n-   #74 = Class              #249          // dev/langchain4j/model/openai/OpenAiEmbeddingModel\n-   #75 = Class              #250          // java/lang/Object\n-   #76 = Class              #251          // dev/langchain4j/model/embedding/EmbeddingModel\n-   #77 = Class              #252          // dev/langchain4j/model/embedding/TokenCountEstimator\n-   #78 = Utf8               OpenAiEmbeddingModelBuilder\n-   #79 = Utf8               InnerClasses\n-   #80 = Utf8               client\n-   #81 = Utf8               Ldev/ai4j/openai4j/OpenAiClient;\n-   #82 = Utf8               modelName\n-   #83 = Utf8               Ljava/lang/String;\n-   #84 = Utf8               dimensions\n-   #85 = Utf8               Ljava/lang/Integer;\n-   #86 = Utf8               user\n-   #87 = Utf8               maxRetries\n-   #88 = Utf8               tokenizer\n-   #89 = Utf8               Ldev/langchain4j/model/Tokenizer;\n-   #90 = Utf8               <init>\n-   #91 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n-   #92 = Utf8               Code\n-   #93 = Utf8               LineNumberTable\n-   #94 = Utf8               LocalVariableTable\n-   #95 = Utf8               this\n-   #96 = Utf8               Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n-   #97 = Utf8               baseUrl\n-   #98 = Utf8               apiKey\n-   #99 = Utf8               organizationId\n-  #100 = Utf8               timeout\n-  #101 = Utf8               Ljava/time/Duration;\n-  #102 = Utf8               proxy\n-  #103 = Utf8               Ljava/net/Proxy;\n-  #104 = Utf8               logRequests\n-  #105 = Utf8               Ljava/lang/Boolean;\n-  #106 = Utf8               logResponses\n-  #107 = Utf8               StackMapTable\n-  #108 = Class              #249          // dev/langchain4j/model/openai/OpenAiEmbeddingModel\n-  #109 = Class              #158          // java/lang/String\n-  #110 = Class              #184          // java/lang/Integer\n-  #111 = Class              #163          // java/time/Duration\n-  #112 = Class              #253          // java/net/Proxy\n-  #113 = Class              #254          // java/lang/Boolean\n-  #114 = Class              #193          // dev/langchain4j/model/Tokenizer\n-  #115 = Utf8               embedAll\n-  #116 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n-  #117 = Utf8               textSegments\n-  #118 = Utf8               Ljava/util/List;\n-  #119 = Utf8               texts\n-  #120 = Utf8               LocalVariableTypeTable\n-  #121 = Utf8               Ljava/util/List<Ldev/langchain4j/data/segment/TextSegment;>;\n-  #122 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n-  #123 = Utf8               Signature\n-  #124 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/segment/TextSegment;>;)Ldev/langchain4j/model/output/Response<Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;>;\n-  #125 = Utf8               embedTexts\n-  #126 = Utf8               request\n-  #127 = Utf8               Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n-  #128 = Utf8               response\n-  #129 = Utf8               Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n-  #130 = Utf8               embeddings\n-  #131 = Utf8               Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;\n-  #132 = Utf8               (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/output/Response<Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;>;\n-  #133 = Utf8               estimateTokenCount\n-  #134 = Utf8               (Ljava/lang/String;)I\n-  #135 = Utf8               text\n-  #136 = Utf8               withApiKey\n-  #137 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n-  #138 = Utf8               builder\n-  #139 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-  #140 = Utf8               lambda$embedTexts$2\n-  #141 = Utf8               (Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n-  #142 = Utf8               openAiEmbedding\n-  #143 = Utf8               Ldev/ai4j/openai4j/embedding/Embedding;\n-  #144 = Utf8               lambda$embedTexts$1\n-  #145 = Utf8               (Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n-  #146 = Utf8               Exceptions\n-  #147 = Class              #255          // java/lang/Exception\n-  #148 = Utf8               lambda$new$0\n-  #149 = Utf8               ()Ldev/langchain4j/model/Tokenizer;\n-  #150 = Utf8               SourceFile\n-  #151 = Utf8               OpenAiEmbeddingModel.java\n-  #152 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n-  #153 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n-  #154 = NameAndType        #90:#256      // \"<init>\":()V\n-  #155 = Utf8               https://api.openai.com/v1\n-  #156 = Class              #257          // dev/langchain4j/internal/Utils\n-  #157 = NameAndType        #258:#259     // getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-  #158 = Utf8               java/lang/String\n-  #159 = Utf8               demo\n-  #160 = NameAndType        #260:#261     // equals:(Ljava/lang/Object;)Z\n-  #161 = Utf8               http://langchain4j.dev/demo/openai/v1\n-  #162 = NameAndType        #262:#263     // ofSeconds:(J)Ljava/time/Duration;\n-  #163 = Utf8               java/time/Duration\n-  #164 = Class              #264          // dev/ai4j/openai4j/OpenAiClient\n-  #165 = NameAndType        #138:#266     // builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #166 = Class              #267          // dev/ai4j/openai4j/OpenAiClient$Builder\n-  #167 = NameAndType        #268:#269     // openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #168 = NameAndType        #97:#269      // baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #169 = NameAndType        #99:#269      // organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #170 = NameAndType        #270:#271     // callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #171 = NameAndType        #272:#271     // connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #172 = NameAndType        #273:#271     // readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #173 = NameAndType        #274:#271     // writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #174 = NameAndType        #102:#275     // proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #175 = NameAndType        #104:#276     // logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #176 = NameAndType        #106:#276     // logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #177 = NameAndType        #277:#278     // build:()Ldev/ai4j/openai4j/OpenAiClient;\n-  #178 = NameAndType        #80:#81       // client:Ldev/ai4j/openai4j/OpenAiClient;\n-  #179 = Utf8               text-embedding-ada-002\n-  #180 = NameAndType        #82:#83       // modelName:Ljava/lang/String;\n-  #181 = NameAndType        #84:#85       // dimensions:Ljava/lang/Integer;\n-  #182 = NameAndType        #86:#83       // user:Ljava/lang/String;\n-  #183 = NameAndType        #279:#280     // valueOf:(I)Ljava/lang/Integer;\n-  #184 = Utf8               java/lang/Integer\n-  #185 = NameAndType        #87:#85       // maxRetries:Ljava/lang/Integer;\n-  #186 = Utf8               BootstrapMethods\n-  #187 = MethodHandle       6:#281        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #188 = MethodType         #282          //  ()Ljava/lang/Object;\n-  #189 = MethodHandle       7:#283        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-  #190 = MethodType         #149          //  ()Ldev/langchain4j/model/Tokenizer;\n-  #191 = NameAndType        #284:#285     // get:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;)Ljava/util/function/Supplier;\n-  #192 = NameAndType        #258:#286     // getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #193 = Utf8               dev/langchain4j/model/Tokenizer\n-  #194 = NameAndType        #88:#89       // tokenizer:Ldev/langchain4j/model/Tokenizer;\n-  #195 = NameAndType        #287:#288     // stream:()Ljava/util/stream/Stream;\n-  #196 = MethodType         #289          //  (Ljava/lang/Object;)Ljava/lang/Object;\n-  #197 = MethodHandle       5:#290        // REF_invokeVirtual dev/langchain4j/data/segment/TextSegment.text:()Ljava/lang/String;\n-  #198 = MethodType         #291          //  (Ldev/langchain4j/data/segment/TextSegment;)Ljava/lang/String;\n-  #199 = NameAndType        #292:#293     // apply:()Ljava/util/function/Function;\n-  #200 = Class              #294          // java/util/stream/Stream\n-  #201 = NameAndType        #295:#296     // map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-  #202 = Class              #297          // java/util/stream/Collectors\n-  #203 = NameAndType        #298:#299     // toList:()Ljava/util/stream/Collector;\n-  #204 = NameAndType        #300:#301     // collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-  #205 = Utf8               java/util/List\n-  #206 = NameAndType        #125:#116     // embedTexts:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n-  #207 = Class              #302          // dev/ai4j/openai4j/embedding/EmbeddingRequest\n-  #208 = NameAndType        #138:#303     // builder:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-  #209 = Class              #304          // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder\n-  #210 = NameAndType        #305:#306     // input:(Ljava/util/List;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-  #211 = NameAndType        #307:#308     // model:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-  #212 = NameAndType        #84:#309      // dimensions:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-  #213 = NameAndType        #86:#308      // user:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-  #214 = NameAndType        #277:#310     // build:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n-  #215 = MethodHandle       7:#311        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$1:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n-  #216 = MethodType         #312          //  ()Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n-  #217 = NameAndType        #313:#314     // call:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ljava/util/concurrent/Callable;\n-  #218 = NameAndType        #315:#316     // intValue:()I\n-  #219 = Class              #317          // dev/langchain4j/internal/RetryUtils\n-  #220 = NameAndType        #318:#319     // withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-  #221 = Utf8               dev/ai4j/openai4j/embedding/EmbeddingResponse\n-  #222 = NameAndType        #320:#321     // data:()Ljava/util/List;\n-  #223 = MethodHandle       6:#322        // REF_invokeStatic dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$2:(Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n-  #224 = MethodType         #141          //  (Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n-  #225 = NameAndType        #323:#324     // usage:()Ldev/ai4j/openai4j/shared/Usage;\n-  #226 = NameAndType        #325:#326     // tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-  #227 = Class              #327          // dev/langchain4j/model/output/Response\n-  #228 = NameAndType        #328:#329     // from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;)Ldev/langchain4j/model/output/Response;\n-  #229 = NameAndType        #330:#134     // estimateTokenCountInText:(Ljava/lang/String;)I\n-  #230 = NameAndType        #138:#139     // builder:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-  #231 = NameAndType        #98:#331      // apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-  #232 = NameAndType        #277:#332     // build:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n-  #233 = Utf8               dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n-  #234 = MethodHandle       8:#333        // REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.\"<init>\":()V\n-  #235 = MethodType         #139          //  ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-  #236 = NameAndType        #284:#334     // get:()Ljava/util/function/Supplier;\n-  #237 = Class              #335          // dev/langchain4j/spi/ServiceHelper\n-  #238 = NameAndType        #336:#337     // loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #239 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n-  #240 = Class              #338          // dev/ai4j/openai4j/embedding/Embedding\n-  #241 = NameAndType        #339:#321     // embedding:()Ljava/util/List;\n-  #242 = Class              #340          // dev/langchain4j/data/embedding/Embedding\n-  #243 = NameAndType        #328:#341     // from:(Ljava/util/List;)Ldev/langchain4j/data/embedding/Embedding;\n-  #244 = NameAndType        #339:#342     // embedding:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n-  #245 = Class              #343          // dev/ai4j/openai4j/SyncOrAsync\n-  #246 = NameAndType        #344:#282     // execute:()Ljava/lang/Object;\n-  #247 = Utf8               dev/langchain4j/model/openai/OpenAiTokenizer\n-  #248 = NameAndType        #90:#345      // \"<init>\":(Ljava/lang/String;)V\n-  #249 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel\n-  #250 = Utf8               java/lang/Object\n-  #251 = Utf8               dev/langchain4j/model/embedding/EmbeddingModel\n-  #252 = Utf8               dev/langchain4j/model/embedding/TokenCountEstimator\n-  #253 = Utf8               java/net/Proxy\n-  #254 = Utf8               java/lang/Boolean\n-  #255 = Utf8               java/lang/Exception\n-  #256 = Utf8               ()V\n-  #257 = Utf8               dev/langchain4j/internal/Utils\n-  #258 = Utf8               getOrDefault\n-  #259 = Utf8               (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-  #260 = Utf8               equals\n-  #261 = Utf8               (Ljava/lang/Object;)Z\n-  #262 = Utf8               ofSeconds\n-  #263 = Utf8               (J)Ljava/time/Duration;\n-  #264 = Utf8               dev/ai4j/openai4j/OpenAiClient\n-  #265 = Utf8               Builder\n-  #266 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #267 = Utf8               dev/ai4j/openai4j/OpenAiClient$Builder\n-  #268 = Utf8               openAiApiKey\n-  #269 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #270 = Utf8               callTimeout\n-  #271 = Utf8               (Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #272 = Utf8               connectTimeout\n-  #273 = Utf8               readTimeout\n-  #274 = Utf8               writeTimeout\n-  #275 = Utf8               (Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #276 = Utf8               (Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-  #277 = Utf8               build\n-  #278 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient;\n-  #279 = Utf8               valueOf\n-  #280 = Utf8               (I)Ljava/lang/Integer;\n-  #281 = Methodref          #346.#347     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #282 = Utf8               ()Ljava/lang/Object;\n-  #283 = Methodref          #74.#348      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-  #284 = Utf8               get\n-  #285 = Utf8               (Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;)Ljava/util/function/Supplier;\n-  #286 = Utf8               (Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #287 = Utf8               stream\n-  #288 = Utf8               ()Ljava/util/stream/Stream;\n-  #289 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n-  #290 = Methodref          #349.#350     // dev/langchain4j/data/segment/TextSegment.text:()Ljava/lang/String;\n-  #291 = Utf8               (Ldev/langchain4j/data/segment/TextSegment;)Ljava/lang/String;\n-  #292 = Utf8               apply\n-  #293 = Utf8               ()Ljava/util/function/Function;\n-  #294 = Utf8               java/util/stream/Stream\n-  #295 = Utf8               map\n-  #296 = Utf8               (Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-  #297 = Utf8               java/util/stream/Collectors\n-  #298 = Utf8               toList\n-  #299 = Utf8               ()Ljava/util/stream/Collector;\n-  #300 = Utf8               collect\n-  #301 = Utf8               (Ljava/util/stream/Collector;)Ljava/lang/Object;\n-  #302 = Utf8               dev/ai4j/openai4j/embedding/EmbeddingRequest\n-  #303 = Utf8               ()Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-  #304 = Utf8               dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder\n-  #305 = Utf8               input\n-  #306 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-  #307 = Utf8               model\n-  #308 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-  #309 = Utf8               (Ljava/lang/Integer;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-  #310 = Utf8               ()Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n-  #311 = Methodref          #74.#351      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$1:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n-  #312 = Utf8               ()Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n-  #313 = Utf8               call\n-  #314 = Utf8               (Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ljava/util/concurrent/Callable;\n-  #315 = Utf8               intValue\n-  #316 = Utf8               ()I\n-  #317 = Utf8               dev/langchain4j/internal/RetryUtils\n-  #318 = Utf8               withRetry\n-  #319 = Utf8               (Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-  #320 = Utf8               data\n-  #321 = Utf8               ()Ljava/util/List;\n-  #322 = Methodref          #74.#352      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$2:(Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n-  #323 = Utf8               usage\n-  #324 = Utf8               ()Ldev/ai4j/openai4j/shared/Usage;\n-  #325 = Utf8               tokenUsageFrom\n-  #326 = Utf8               (Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-  #327 = Utf8               dev/langchain4j/model/output/Response\n-  #328 = Utf8               from\n-  #329 = Utf8               (Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;)Ldev/langchain4j/model/output/Response;\n-  #330 = Utf8               estimateTokenCountInText\n-  #331 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-  #332 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n-  #333 = Methodref          #67.#154      // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.\"<init>\":()V\n-  #334 = Utf8               ()Ljava/util/function/Supplier;\n-  #335 = Utf8               dev/langchain4j/spi/ServiceHelper\n-  #336 = Utf8               loadFactoryService\n-  #337 = Utf8               (Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #338 = Utf8               dev/ai4j/openai4j/embedding/Embedding\n-  #339 = Utf8               embedding\n-  #340 = Utf8               dev/langchain4j/data/embedding/Embedding\n-  #341 = Utf8               (Ljava/util/List;)Ldev/langchain4j/data/embedding/Embedding;\n-  #342 = Utf8               (Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n-  #343 = Utf8               dev/ai4j/openai4j/SyncOrAsync\n-  #344 = Utf8               execute\n-  #345 = Utf8               (Ljava/lang/String;)V\n-  #346 = Class              #353          // java/lang/invoke/LambdaMetafactory\n-  #347 = NameAndType        #354:#357     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #348 = NameAndType        #148:#149     // lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-  #349 = Class              #358          // dev/langchain4j/data/segment/TextSegment\n-  #350 = NameAndType        #135:#359     // text:()Ljava/lang/String;\n-  #351 = NameAndType        #144:#145     // lambda$embedTexts$1:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n-  #352 = NameAndType        #140:#141     // lambda$embedTexts$2:(Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n-  #353 = Utf8               java/lang/invoke/LambdaMetafactory\n-  #354 = Utf8               metafactory\n-  #355 = Class              #361          // java/lang/invoke/MethodHandles$Lookup\n-  #356 = Utf8               Lookup\n-  #357 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #358 = Utf8               dev/langchain4j/data/segment/TextSegment\n-  #359 = Utf8               ()Ljava/lang/String;\n-  #360 = Class              #362          // java/lang/invoke/MethodHandles\n-  #361 = Utf8               java/lang/invoke/MethodHandles$Lookup\n-  #362 = Utf8               java/lang/invoke/MethodHandles\n+    #1 = Class              #2            // dev/langchain4j/model/openai/OpenAiModelName\n+    #2 = Utf8               dev/langchain4j/model/openai/OpenAiModelName\n+    #3 = Class              #4            // dev/langchain4j/model/openai/InternalOpenAiHelper\n+    #4 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n+    #5 = Methodref          #6.#7         // java/lang/Object.\"<init>\":()V\n+    #6 = Class              #8            // java/lang/Object\n+    #7 = NameAndType        #9:#10        // \"<init>\":()V\n+    #8 = Utf8               java/lang/Object\n+    #9 = Utf8               <init>\n+   #10 = Utf8               ()V\n+   #11 = String             #12           // https://api.openai.com/v1\n+   #12 = Utf8               https://api.openai.com/v1\n+   #13 = Methodref          #14.#15       // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #14 = Class              #16           // dev/langchain4j/internal/Utils\n+   #15 = NameAndType        #17:#18       // getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #16 = Utf8               dev/langchain4j/internal/Utils\n+   #17 = Utf8               getOrDefault\n+   #18 = Utf8               (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+   #19 = Class              #20           // java/lang/String\n+   #20 = Utf8               java/lang/String\n+   #21 = String             #22           // demo\n+   #22 = Utf8               demo\n+   #23 = Methodref          #19.#24       // java/lang/String.equals:(Ljava/lang/Object;)Z\n+   #24 = NameAndType        #25:#26       // equals:(Ljava/lang/Object;)Z\n+   #25 = Utf8               equals\n+   #26 = Utf8               (Ljava/lang/Object;)Z\n+   #27 = String             #28           // http://langchain4j.dev/demo/openai/v1\n+   #28 = Utf8               http://langchain4j.dev/demo/openai/v1\n+   #29 = Long               60l\n+   #31 = Methodref          #32.#33       // java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n+   #32 = Class              #34           // java/time/Duration\n+   #33 = NameAndType        #35:#36       // ofSeconds:(J)Ljava/time/Duration;\n+   #34 = Utf8               java/time/Duration\n+   #35 = Utf8               ofSeconds\n+   #36 = Utf8               (J)Ljava/time/Duration;\n+   #37 = Methodref          #38.#39       // dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #38 = Class              #40           // dev/ai4j/openai4j/OpenAiClient\n+   #39 = NameAndType        #41:#42       // builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #40 = Utf8               dev/ai4j/openai4j/OpenAiClient\n+   #41 = Utf8               builder\n+   #42 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #43 = Methodref          #44.#45       // dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #44 = Class              #46           // dev/ai4j/openai4j/OpenAiClient$Builder\n+   #45 = NameAndType        #47:#48       // openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #46 = Utf8               dev/ai4j/openai4j/OpenAiClient$Builder\n+   #47 = Utf8               openAiApiKey\n+   #48 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #49 = Methodref          #44.#50       // dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #50 = NameAndType        #51:#48       // baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #51 = Utf8               baseUrl\n+   #52 = Methodref          #44.#53       // dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #53 = NameAndType        #54:#48       // organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #54 = Utf8               organizationId\n+   #55 = Methodref          #44.#56       // dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #56 = NameAndType        #57:#58       // callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #57 = Utf8               callTimeout\n+   #58 = Utf8               (Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #59 = Methodref          #44.#60       // dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #60 = NameAndType        #61:#58       // connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #61 = Utf8               connectTimeout\n+   #62 = Methodref          #44.#63       // dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #63 = NameAndType        #64:#58       // readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #64 = Utf8               readTimeout\n+   #65 = Methodref          #44.#66       // dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #66 = NameAndType        #67:#58       // writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #67 = Utf8               writeTimeout\n+   #68 = Methodref          #44.#69       // dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #69 = NameAndType        #70:#71       // proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #70 = Utf8               proxy\n+   #71 = Utf8               (Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #72 = Methodref          #44.#73       // dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #73 = NameAndType        #74:#75       // logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #74 = Utf8               logRequests\n+   #75 = Utf8               (Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #76 = Methodref          #44.#77       // dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #77 = NameAndType        #78:#75       // logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+   #78 = Utf8               logResponses\n+   #79 = Methodref          #44.#80       // dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n+   #80 = NameAndType        #81:#82       // build:()Ldev/ai4j/openai4j/OpenAiClient;\n+   #81 = Utf8               build\n+   #82 = Utf8               ()Ldev/ai4j/openai4j/OpenAiClient;\n+   #83 = Fieldref           #84.#85       // dev/langchain4j/model/openai/OpenAiEmbeddingModel.client:Ldev/ai4j/openai4j/OpenAiClient;\n+   #84 = Class              #86           // dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+   #85 = NameAndType        #87:#88       // client:Ldev/ai4j/openai4j/OpenAiClient;\n+   #86 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+   #87 = Utf8               client\n+   #88 = Utf8               Ldev/ai4j/openai4j/OpenAiClient;\n+   #89 = String             #90           // text-embedding-ada-002\n+   #90 = Utf8               text-embedding-ada-002\n+   #91 = Fieldref           #84.#92       // dev/langchain4j/model/openai/OpenAiEmbeddingModel.modelName:Ljava/lang/String;\n+   #92 = NameAndType        #93:#94       // modelName:Ljava/lang/String;\n+   #93 = Utf8               modelName\n+   #94 = Utf8               Ljava/lang/String;\n+   #95 = Fieldref           #84.#96       // dev/langchain4j/model/openai/OpenAiEmbeddingModel.dimensions:Ljava/lang/Integer;\n+   #96 = NameAndType        #97:#98       // dimensions:Ljava/lang/Integer;\n+   #97 = Utf8               dimensions\n+   #98 = Utf8               Ljava/lang/Integer;\n+   #99 = Fieldref           #84.#100      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.user:Ljava/lang/String;\n+  #100 = NameAndType        #101:#94      // user:Ljava/lang/String;\n+  #101 = Utf8               user\n+  #102 = Methodref          #103.#104     // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+  #103 = Class              #105          // java/lang/Integer\n+  #104 = NameAndType        #106:#107     // valueOf:(I)Ljava/lang/Integer;\n+  #105 = Utf8               java/lang/Integer\n+  #106 = Utf8               valueOf\n+  #107 = Utf8               (I)Ljava/lang/Integer;\n+  #108 = Fieldref           #84.#109      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.maxRetries:Ljava/lang/Integer;\n+  #109 = NameAndType        #110:#98      // maxRetries:Ljava/lang/Integer;\n+  #110 = Utf8               maxRetries\n+  #111 = InvokeDynamic      #0:#112       // #0:get:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;)Ljava/util/function/Supplier;\n+  #112 = NameAndType        #113:#114     // get:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;)Ljava/util/function/Supplier;\n+  #113 = Utf8               get\n+  #114 = Utf8               (Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;)Ljava/util/function/Supplier;\n+  #115 = Methodref          #14.#116      // dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #116 = NameAndType        #17:#117      // getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #117 = Utf8               (Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #118 = Class              #119          // dev/langchain4j/model/Tokenizer\n+  #119 = Utf8               dev/langchain4j/model/Tokenizer\n+  #120 = Fieldref           #84.#121      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.tokenizer:Ldev/langchain4j/model/Tokenizer;\n+  #121 = NameAndType        #122:#123     // tokenizer:Ldev/langchain4j/model/Tokenizer;\n+  #122 = Utf8               tokenizer\n+  #123 = Utf8               Ldev/langchain4j/model/Tokenizer;\n+  #124 = InterfaceMethodref #125.#126     // java/util/List.stream:()Ljava/util/stream/Stream;\n+  #125 = Class              #127          // java/util/List\n+  #126 = NameAndType        #128:#129     // stream:()Ljava/util/stream/Stream;\n+  #127 = Utf8               java/util/List\n+  #128 = Utf8               stream\n+  #129 = Utf8               ()Ljava/util/stream/Stream;\n+  #130 = InvokeDynamic      #1:#131       // #1:apply:()Ljava/util/function/Function;\n+  #131 = NameAndType        #132:#133     // apply:()Ljava/util/function/Function;\n+  #132 = Utf8               apply\n+  #133 = Utf8               ()Ljava/util/function/Function;\n+  #134 = InterfaceMethodref #135.#136     // java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+  #135 = Class              #137          // java/util/stream/Stream\n+  #136 = NameAndType        #138:#139     // map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+  #137 = Utf8               java/util/stream/Stream\n+  #138 = Utf8               map\n+  #139 = Utf8               (Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+  #140 = Methodref          #141.#142     // java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+  #141 = Class              #143          // java/util/stream/Collectors\n+  #142 = NameAndType        #144:#145     // toList:()Ljava/util/stream/Collector;\n+  #143 = Utf8               java/util/stream/Collectors\n+  #144 = Utf8               toList\n+  #145 = Utf8               ()Ljava/util/stream/Collector;\n+  #146 = InterfaceMethodref #135.#147     // java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+  #147 = NameAndType        #148:#149     // collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+  #148 = Utf8               collect\n+  #149 = Utf8               (Ljava/util/stream/Collector;)Ljava/lang/Object;\n+  #150 = Methodref          #84.#151      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.embedTexts:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+  #151 = NameAndType        #152:#153     // embedTexts:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+  #152 = Utf8               embedTexts\n+  #153 = Utf8               (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+  #154 = Methodref          #155.#156     // dev/ai4j/openai4j/embedding/EmbeddingRequest.builder:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #155 = Class              #157          // dev/ai4j/openai4j/embedding/EmbeddingRequest\n+  #156 = NameAndType        #41:#158      // builder:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #157 = Utf8               dev/ai4j/openai4j/embedding/EmbeddingRequest\n+  #158 = Utf8               ()Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #159 = Methodref          #160.#161     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.input:(Ljava/util/List;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #160 = Class              #162          // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder\n+  #161 = NameAndType        #163:#164     // input:(Ljava/util/List;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #162 = Utf8               dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder\n+  #163 = Utf8               input\n+  #164 = Utf8               (Ljava/util/List;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #165 = Methodref          #160.#166     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #166 = NameAndType        #167:#168     // model:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #167 = Utf8               model\n+  #168 = Utf8               (Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #169 = Methodref          #160.#170     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.dimensions:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #170 = NameAndType        #97:#171      // dimensions:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #171 = Utf8               (Ljava/lang/Integer;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #172 = Methodref          #160.#173     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.user:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #173 = NameAndType        #101:#168     // user:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+  #174 = Methodref          #160.#175     // dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.build:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n+  #175 = NameAndType        #81:#176      // build:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n+  #176 = Utf8               ()Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n+  #177 = InvokeDynamic      #2:#178       // #2:call:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ljava/util/concurrent/Callable;\n+  #178 = NameAndType        #179:#180     // call:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ljava/util/concurrent/Callable;\n+  #179 = Utf8               call\n+  #180 = Utf8               (Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ljava/util/concurrent/Callable;\n+  #181 = Methodref          #103.#182     // java/lang/Integer.intValue:()I\n+  #182 = NameAndType        #183:#184     // intValue:()I\n+  #183 = Utf8               intValue\n+  #184 = Utf8               ()I\n+  #185 = Methodref          #186.#187     // dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #186 = Class              #188          // dev/langchain4j/internal/RetryUtils\n+  #187 = NameAndType        #189:#190     // withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #188 = Utf8               dev/langchain4j/internal/RetryUtils\n+  #189 = Utf8               withRetry\n+  #190 = Utf8               (Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+  #191 = Class              #192          // dev/ai4j/openai4j/embedding/EmbeddingResponse\n+  #192 = Utf8               dev/ai4j/openai4j/embedding/EmbeddingResponse\n+  #193 = Methodref          #191.#194     // dev/ai4j/openai4j/embedding/EmbeddingResponse.data:()Ljava/util/List;\n+  #194 = NameAndType        #195:#196     // data:()Ljava/util/List;\n+  #195 = Utf8               data\n+  #196 = Utf8               ()Ljava/util/List;\n+  #197 = InvokeDynamic      #3:#131       // #3:apply:()Ljava/util/function/Function;\n+  #198 = Methodref          #191.#199     // dev/ai4j/openai4j/embedding/EmbeddingResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n+  #199 = NameAndType        #200:#201     // usage:()Ldev/ai4j/openai4j/shared/Usage;\n+  #200 = Utf8               usage\n+  #201 = Utf8               ()Ldev/ai4j/openai4j/shared/Usage;\n+  #202 = Methodref          #3.#203       // dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #203 = NameAndType        #204:#205     // tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #204 = Utf8               tokenUsageFrom\n+  #205 = Utf8               (Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+  #206 = Methodref          #207.#208     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;)Ldev/langchain4j/model/output/Response;\n+  #207 = Class              #209          // dev/langchain4j/model/output/Response\n+  #208 = NameAndType        #210:#211     // from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;)Ldev/langchain4j/model/output/Response;\n+  #209 = Utf8               dev/langchain4j/model/output/Response\n+  #210 = Utf8               from\n+  #211 = Utf8               (Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;)Ldev/langchain4j/model/output/Response;\n+  #212 = InterfaceMethodref #118.#213     // dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n+  #213 = NameAndType        #214:#215     // estimateTokenCountInText:(Ljava/lang/String;)I\n+  #214 = Utf8               estimateTokenCountInText\n+  #215 = Utf8               (Ljava/lang/String;)I\n+  #216 = Methodref          #84.#217      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.builder:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #217 = NameAndType        #41:#218      // builder:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #218 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #219 = Methodref          #220.#221     // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #220 = Class              #222          // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n+  #221 = NameAndType        #223:#224     // apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #222 = Utf8               dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n+  #223 = Utf8               apiKey\n+  #224 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #225 = Methodref          #220.#226     // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n+  #226 = NameAndType        #81:#227      // build:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n+  #227 = Utf8               ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n+  #228 = Class              #229          // dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n+  #229 = Utf8               dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n+  #230 = InvokeDynamic      #4:#231       // #4:get:()Ljava/util/function/Supplier;\n+  #231 = NameAndType        #113:#232     // get:()Ljava/util/function/Supplier;\n+  #232 = Utf8               ()Ljava/util/function/Supplier;\n+  #233 = Methodref          #234.#235     // dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #234 = Class              #236          // dev/langchain4j/spi/ServiceHelper\n+  #235 = NameAndType        #237:#238     // loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #236 = Utf8               dev/langchain4j/spi/ServiceHelper\n+  #237 = Utf8               loadFactoryService\n+  #238 = Utf8               (Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+  #239 = Methodref          #240.#241     // dev/ai4j/openai4j/embedding/Embedding.embedding:()Ljava/util/List;\n+  #240 = Class              #242          // dev/ai4j/openai4j/embedding/Embedding\n+  #241 = NameAndType        #243:#196     // embedding:()Ljava/util/List;\n+  #242 = Utf8               dev/ai4j/openai4j/embedding/Embedding\n+  #243 = Utf8               embedding\n+  #244 = Methodref          #245.#246     // dev/langchain4j/data/embedding/Embedding.from:(Ljava/util/List;)Ldev/langchain4j/data/embedding/Embedding;\n+  #245 = Class              #247          // dev/langchain4j/data/embedding/Embedding\n+  #246 = NameAndType        #210:#248     // from:(Ljava/util/List;)Ldev/langchain4j/data/embedding/Embedding;\n+  #247 = Utf8               dev/langchain4j/data/embedding/Embedding\n+  #248 = Utf8               (Ljava/util/List;)Ldev/langchain4j/data/embedding/Embedding;\n+  #249 = Methodref          #38.#250      // dev/ai4j/openai4j/OpenAiClient.embedding:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n+  #250 = NameAndType        #243:#251     // embedding:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n+  #251 = Utf8               (Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n+  #252 = InterfaceMethodref #253.#254     // dev/ai4j/openai4j/SyncOrAsync.execute:()Ljava/lang/Object;\n+  #253 = Class              #255          // dev/ai4j/openai4j/SyncOrAsync\n+  #254 = NameAndType        #256:#257     // execute:()Ljava/lang/Object;\n+  #255 = Utf8               dev/ai4j/openai4j/SyncOrAsync\n+  #256 = Utf8               execute\n+  #257 = Utf8               ()Ljava/lang/Object;\n+  #258 = Class              #259          // dev/langchain4j/model/openai/OpenAiTokenizer\n+  #259 = Utf8               dev/langchain4j/model/openai/OpenAiTokenizer\n+  #260 = Methodref          #258.#261     // dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n+  #261 = NameAndType        #9:#262       // \"<init>\":(Ljava/lang/String;)V\n+  #262 = Utf8               (Ljava/lang/String;)V\n+  #263 = Class              #264          // dev/langchain4j/model/embedding/EmbeddingModel\n+  #264 = Utf8               dev/langchain4j/model/embedding/EmbeddingModel\n+  #265 = Class              #266          // dev/langchain4j/model/embedding/TokenCountEstimator\n+  #266 = Utf8               dev/langchain4j/model/embedding/TokenCountEstimator\n+  #267 = Utf8               (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n+  #268 = Utf8               Code\n+  #269 = Utf8               LineNumberTable\n+  #270 = Utf8               LocalVariableTable\n+  #271 = Utf8               this\n+  #272 = Utf8               Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n+  #273 = Utf8               timeout\n+  #274 = Utf8               Ljava/time/Duration;\n+  #275 = Utf8               Ljava/net/Proxy;\n+  #276 = Utf8               Ljava/lang/Boolean;\n+  #277 = Utf8               StackMapTable\n+  #278 = Class              #279          // java/net/Proxy\n+  #279 = Utf8               java/net/Proxy\n+  #280 = Class              #281          // java/lang/Boolean\n+  #281 = Utf8               java/lang/Boolean\n+  #282 = Utf8               embedAll\n+  #283 = Utf8               textSegments\n+  #284 = Utf8               Ljava/util/List;\n+  #285 = Utf8               texts\n+  #286 = Utf8               LocalVariableTypeTable\n+  #287 = Utf8               Ljava/util/List<Ldev/langchain4j/data/segment/TextSegment;>;\n+  #288 = Utf8               Ljava/util/List<Ljava/lang/String;>;\n+  #289 = Utf8               Signature\n+  #290 = Utf8               (Ljava/util/List<Ldev/langchain4j/data/segment/TextSegment;>;)Ldev/langchain4j/model/output/Response<Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;>;\n+  #291 = Utf8               request\n+  #292 = Utf8               Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n+  #293 = Utf8               response\n+  #294 = Utf8               Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n+  #295 = Utf8               embeddings\n+  #296 = Utf8               Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;\n+  #297 = Utf8               (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/output/Response<Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;>;\n+  #298 = Utf8               estimateTokenCount\n+  #299 = Utf8               text\n+  #300 = Utf8               withApiKey\n+  #301 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n+  #302 = Utf8               lambda$embedTexts$2\n+  #303 = Utf8               (Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n+  #304 = Utf8               openAiEmbedding\n+  #305 = Utf8               Ldev/ai4j/openai4j/embedding/Embedding;\n+  #306 = Utf8               lambda$embedTexts$1\n+  #307 = Utf8               (Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n+  #308 = Utf8               Exceptions\n+  #309 = Class              #310          // java/lang/Exception\n+  #310 = Utf8               java/lang/Exception\n+  #311 = Utf8               lambda$new$0\n+  #312 = Utf8               ()Ldev/langchain4j/model/Tokenizer;\n+  #313 = Utf8               SourceFile\n+  #314 = Utf8               OpenAiEmbeddingModel.java\n+  #315 = Utf8               BootstrapMethods\n+  #316 = MethodHandle       6:#317        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #317 = Methodref          #318.#319     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #318 = Class              #320          // java/lang/invoke/LambdaMetafactory\n+  #319 = NameAndType        #321:#322     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #320 = Utf8               java/lang/invoke/LambdaMetafactory\n+  #321 = Utf8               metafactory\n+  #322 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #323 = MethodType         #257          //  ()Ljava/lang/Object;\n+  #324 = MethodHandle       7:#325        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+  #325 = Methodref          #84.#326      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+  #326 = NameAndType        #311:#312     // lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+  #327 = MethodType         #312          //  ()Ldev/langchain4j/model/Tokenizer;\n+  #328 = MethodType         #329          //  (Ljava/lang/Object;)Ljava/lang/Object;\n+  #329 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n+  #330 = MethodHandle       5:#331        // REF_invokeVirtual dev/langchain4j/data/segment/TextSegment.text:()Ljava/lang/String;\n+  #331 = Methodref          #332.#333     // dev/langchain4j/data/segment/TextSegment.text:()Ljava/lang/String;\n+  #332 = Class              #334          // dev/langchain4j/data/segment/TextSegment\n+  #333 = NameAndType        #299:#335     // text:()Ljava/lang/String;\n+  #334 = Utf8               dev/langchain4j/data/segment/TextSegment\n+  #335 = Utf8               ()Ljava/lang/String;\n+  #336 = MethodType         #337          //  (Ldev/langchain4j/data/segment/TextSegment;)Ljava/lang/String;\n+  #337 = Utf8               (Ldev/langchain4j/data/segment/TextSegment;)Ljava/lang/String;\n+  #338 = MethodHandle       7:#339        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$1:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n+  #339 = Methodref          #84.#340      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$1:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n+  #340 = NameAndType        #306:#307     // lambda$embedTexts$1:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n+  #341 = MethodType         #342          //  ()Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n+  #342 = Utf8               ()Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n+  #343 = MethodHandle       6:#344        // REF_invokeStatic dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$2:(Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n+  #344 = Methodref          #84.#345      // dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$2:(Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n+  #345 = NameAndType        #302:#303     // lambda$embedTexts$2:(Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n+  #346 = MethodType         #303          //  (Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n+  #347 = MethodHandle       8:#348        // REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.\"<init>\":()V\n+  #348 = Methodref          #220.#7       // dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.\"<init>\":()V\n+  #349 = MethodType         #218          //  ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+  #350 = Utf8               InnerClasses\n+  #351 = Utf8               Builder\n+  #352 = Utf8               OpenAiEmbeddingModelBuilder\n+  #353 = Class              #354          // java/lang/invoke/MethodHandles$Lookup\n+  #354 = Utf8               java/lang/invoke/MethodHandles$Lookup\n+  #355 = Class              #356          // java/lang/invoke/MethodHandles\n+  #356 = Utf8               java/lang/invoke/MethodHandles\n+  #357 = Utf8               Lookup\n {\n   private final dev.ai4j.openai4j.OpenAiClient client;\n     descriptor: Ldev/ai4j/openai4j/OpenAiClient;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.lang.String modelName;\n     descriptor: Ljava/lang/String;\n@@ -396,82 +391,82 @@\n \n   public dev.langchain4j.model.openai.OpenAiEmbeddingModel(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Integer, java.lang.String, java.time.Duration, java.lang.Integer, java.net.Proxy, java.lang.Boolean, java.lang.Boolean, dev.langchain4j.model.Tokenizer);\n     descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/String;Ljava/time/Duration;Ljava/lang/Integer;Ljava/net/Proxy;Ljava/lang/Boolean;Ljava/lang/Boolean;Ldev/langchain4j/model/Tokenizer;)V\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=13, args_size=13\n          0: aload_0\n-         1: invokespecial #3                  // Method java/lang/Object.\"<init>\":()V\n+         1: invokespecial #5                  // Method java/lang/Object.\"<init>\":()V\n          4: aload_1\n-         5: ldc           #4                  // String https://api.openai.com/v1\n-         7: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-        10: checkcast     #6                  // class java/lang/String\n+         5: ldc           #11                 // String https://api.openai.com/v1\n+         7: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+        10: checkcast     #19                 // class java/lang/String\n         13: astore_1\n-        14: ldc           #7                  // String demo\n+        14: ldc           #21                 // String demo\n         16: aload_2\n-        17: invokevirtual #8                  // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+        17: invokevirtual #23                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n         20: ifeq          26\n-        23: ldc           #9                  // String http://langchain4j.dev/demo/openai/v1\n+        23: ldc           #27                 // String http://langchain4j.dev/demo/openai/v1\n         25: astore_1\n         26: aload         7\n-        28: ldc2_w        #10                 // long 60l\n-        31: invokestatic  #12                 // Method java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n-        34: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-        37: checkcast     #13                 // class java/time/Duration\n+        28: ldc2_w        #29                 // long 60l\n+        31: invokestatic  #31                 // Method java/time/Duration.ofSeconds:(J)Ljava/time/Duration;\n+        34: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+        37: checkcast     #32                 // class java/time/Duration\n         40: astore        7\n         42: aload_0\n-        43: invokestatic  #14                 // Method dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        43: invokestatic  #37                 // Method dev/ai4j/openai4j/OpenAiClient.builder:()Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         46: aload_2\n-        47: invokevirtual #15                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        47: invokevirtual #43                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.openAiApiKey:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         50: aload_1\n-        51: invokevirtual #16                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        51: invokevirtual #49                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.baseUrl:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         54: aload_3\n-        55: invokevirtual #17                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        55: invokevirtual #52                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.organizationId:(Ljava/lang/String;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         58: aload         7\n-        60: invokevirtual #18                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        60: invokevirtual #55                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.callTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         63: aload         7\n-        65: invokevirtual #19                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        65: invokevirtual #59                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.connectTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         68: aload         7\n-        70: invokevirtual #20                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        70: invokevirtual #62                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.readTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         73: aload         7\n-        75: invokevirtual #21                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        75: invokevirtual #65                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.writeTimeout:(Ljava/time/Duration;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         78: aload         9\n-        80: invokevirtual #22                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        80: invokevirtual #68                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.proxy:(Ljava/net/Proxy;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         83: aload         10\n-        85: invokevirtual #23                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        85: invokevirtual #72                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logRequests:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n         88: aload         11\n-        90: invokevirtual #24                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n-        93: invokevirtual #25                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n-        96: putfield      #26                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n+        90: invokevirtual #76                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.logResponses:(Ljava/lang/Boolean;)Ldev/ai4j/openai4j/OpenAiClient$Builder;\n+        93: invokevirtual #79                 // Method dev/ai4j/openai4j/OpenAiClient$Builder.build:()Ldev/ai4j/openai4j/OpenAiClient;\n+        96: putfield      #83                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n         99: aload_0\n        100: aload         4\n-       102: ldc           #27                 // String text-embedding-ada-002\n-       104: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-       107: checkcast     #6                  // class java/lang/String\n-       110: putfield      #28                 // Field modelName:Ljava/lang/String;\n+       102: ldc           #89                 // String text-embedding-ada-002\n+       104: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+       107: checkcast     #19                 // class java/lang/String\n+       110: putfield      #91                 // Field modelName:Ljava/lang/String;\n        113: aload_0\n        114: aload         5\n-       116: putfield      #29                 // Field dimensions:Ljava/lang/Integer;\n+       116: putfield      #95                 // Field dimensions:Ljava/lang/Integer;\n        119: aload_0\n        120: aload         6\n-       122: putfield      #30                 // Field user:Ljava/lang/String;\n+       122: putfield      #99                 // Field user:Ljava/lang/String;\n        125: aload_0\n        126: aload         8\n        128: iconst_3\n-       129: invokestatic  #31                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-       132: invokestatic  #5                  // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n-       135: checkcast     #32                 // class java/lang/Integer\n-       138: putfield      #33                 // Field maxRetries:Ljava/lang/Integer;\n+       129: invokestatic  #102                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+       132: invokestatic  #13                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;\n+       135: checkcast     #103                // class java/lang/Integer\n+       138: putfield      #108                // Field maxRetries:Ljava/lang/Integer;\n        141: aload_0\n        142: aload         12\n        144: aload_0\n-       145: invokedynamic #34,  0             // InvokeDynamic #0:get:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;)Ljava/util/function/Supplier;\n-       150: invokestatic  #35                 // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-       153: checkcast     #36                 // class dev/langchain4j/model/Tokenizer\n-       156: putfield      #37                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+       145: invokedynamic #111,  0            // InvokeDynamic #0:get:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;)Ljava/util/function/Supplier;\n+       150: invokestatic  #115                // Method dev/langchain4j/internal/Utils.getOrDefault:(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+       153: checkcast     #118                // class dev/langchain4j/model/Tokenizer\n+       156: putfield      #120                // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n        159: return\n       LineNumberTable:\n         line 51: 0\n         line 53: 4\n         line 54: 14\n         line 55: 23\n         line 58: 26\n@@ -516,24 +511,24 @@\n \n   public dev.langchain4j.model.output.Response<java.util.List<dev.langchain4j.data.embedding.Embedding>> embedAll(java.util.List<dev.langchain4j.data.segment.TextSegment>);\n     descriptor: (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=3, args_size=2\n          0: aload_1\n-         1: invokeinterface #38,  1           // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n-         6: invokedynamic #39,  0             // InvokeDynamic #1:apply:()Ljava/util/function/Function;\n-        11: invokeinterface #40,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-        16: invokestatic  #41                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-        19: invokeinterface #42,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-        24: checkcast     #43                 // class java/util/List\n+         1: invokeinterface #124,  1          // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n+         6: invokedynamic #130,  0            // InvokeDynamic #1:apply:()Ljava/util/function/Function;\n+        11: invokeinterface #134,  2          // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+        16: invokestatic  #140                // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+        19: invokeinterface #146,  2          // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+        24: checkcast     #125                // class java/util/List\n         27: astore_2\n         28: aload_0\n         29: aload_2\n-        30: invokespecial #44                 // Method embedTexts:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n+        30: invokespecial #150                // Method embedTexts:(Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n         33: areturn\n       LineNumberTable:\n         line 82: 0\n         line 83: 11\n         line 84: 16\n         line 86: 28\n       LocalVariableTable:\n@@ -541,58 +536,58 @@\n             0      34     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n             0      34     1 textSegments   Ljava/util/List;\n            28       6     2 texts   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0      34     1 textSegments   Ljava/util/List<Ldev/langchain4j/data/segment/TextSegment;>;\n            28       6     2 texts   Ljava/util/List<Ljava/lang/String;>;\n-    Signature: #124                         // (Ljava/util/List<Ldev/langchain4j/data/segment/TextSegment;>;)Ldev/langchain4j/model/output/Response<Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;>;\n+    Signature: #290                         // (Ljava/util/List<Ldev/langchain4j/data/segment/TextSegment;>;)Ldev/langchain4j/model/output/Response<Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;>;\n \n   private dev.langchain4j.model.output.Response<java.util.List<dev.langchain4j.data.embedding.Embedding>> embedTexts(java.util.List<java.lang.String>);\n     descriptor: (Ljava/util/List;)Ldev/langchain4j/model/output/Response;\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=2, locals=5, args_size=2\n-         0: invokestatic  #45                 // Method dev/ai4j/openai4j/embedding/EmbeddingRequest.builder:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+         0: invokestatic  #154                // Method dev/ai4j/openai4j/embedding/EmbeddingRequest.builder:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n          3: aload_1\n-         4: invokevirtual #46                 // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.input:(Ljava/util/List;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+         4: invokevirtual #159                // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.input:(Ljava/util/List;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n          7: aload_0\n-         8: getfield      #28                 // Field modelName:Ljava/lang/String;\n-        11: invokevirtual #47                 // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+         8: getfield      #91                 // Field modelName:Ljava/lang/String;\n+        11: invokevirtual #165                // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.model:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n         14: aload_0\n-        15: getfield      #29                 // Field dimensions:Ljava/lang/Integer;\n-        18: invokevirtual #48                 // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.dimensions:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+        15: getfield      #95                 // Field dimensions:Ljava/lang/Integer;\n+        18: invokevirtual #169                // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.dimensions:(Ljava/lang/Integer;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n         21: aload_0\n-        22: getfield      #30                 // Field user:Ljava/lang/String;\n-        25: invokevirtual #49                 // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.user:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n-        28: invokevirtual #50                 // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.build:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n+        22: getfield      #99                 // Field user:Ljava/lang/String;\n+        25: invokevirtual #172                // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.user:(Ljava/lang/String;)Ldev/ai4j/openai4j/embedding/EmbeddingRequest$Builder;\n+        28: invokevirtual #174                // Method dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder.build:()Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n         31: astore_2\n         32: aload_0\n         33: aload_2\n-        34: invokedynamic #51,  0             // InvokeDynamic #2:call:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ljava/util/concurrent/Callable;\n+        34: invokedynamic #177,  0            // InvokeDynamic #2:call:(Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ljava/util/concurrent/Callable;\n         39: aload_0\n-        40: getfield      #33                 // Field maxRetries:Ljava/lang/Integer;\n-        43: invokevirtual #52                 // Method java/lang/Integer.intValue:()I\n-        46: invokestatic  #53                 // Method dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n-        49: checkcast     #54                 // class dev/ai4j/openai4j/embedding/EmbeddingResponse\n+        40: getfield      #108                // Field maxRetries:Ljava/lang/Integer;\n+        43: invokevirtual #181                // Method java/lang/Integer.intValue:()I\n+        46: invokestatic  #185                // Method dev/langchain4j/internal/RetryUtils.withRetry:(Ljava/util/concurrent/Callable;I)Ljava/lang/Object;\n+        49: checkcast     #191                // class dev/ai4j/openai4j/embedding/EmbeddingResponse\n         52: astore_3\n         53: aload_3\n-        54: invokevirtual #55                 // Method dev/ai4j/openai4j/embedding/EmbeddingResponse.data:()Ljava/util/List;\n-        57: invokeinterface #38,  1           // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n-        62: invokedynamic #56,  0             // InvokeDynamic #3:apply:()Ljava/util/function/Function;\n-        67: invokeinterface #40,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-        72: invokestatic  #41                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-        75: invokeinterface #42,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-        80: checkcast     #43                 // class java/util/List\n+        54: invokevirtual #193                // Method dev/ai4j/openai4j/embedding/EmbeddingResponse.data:()Ljava/util/List;\n+        57: invokeinterface #124,  1          // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream;\n+        62: invokedynamic #197,  0            // InvokeDynamic #3:apply:()Ljava/util/function/Function;\n+        67: invokeinterface #134,  2          // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+        72: invokestatic  #140                // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+        75: invokeinterface #146,  2          // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+        80: checkcast     #125                // class java/util/List\n         83: astore        4\n         85: aload         4\n         87: aload_3\n-        88: invokevirtual #57                 // Method dev/ai4j/openai4j/embedding/EmbeddingResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n-        91: invokestatic  #58                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n-        94: invokestatic  #59                 // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;)Ldev/langchain4j/model/output/Response;\n+        88: invokevirtual #198                // Method dev/ai4j/openai4j/embedding/EmbeddingResponse.usage:()Ldev/ai4j/openai4j/shared/Usage;\n+        91: invokestatic  #202                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.tokenUsageFrom:(Ldev/ai4j/openai4j/shared/Usage;)Ldev/langchain4j/model/output/TokenUsage;\n+        94: invokestatic  #206                // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;)Ldev/langchain4j/model/output/Response;\n         97: areturn\n       LineNumberTable:\n         line 91: 0\n         line 92: 4\n         line 93: 11\n         line 94: 18\n         line 95: 25\n@@ -611,88 +606,88 @@\n            32      66     2 request   Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n            53      45     3 response   Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n            85      13     4 embeddings   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0      98     1 texts   Ljava/util/List<Ljava/lang/String;>;\n            85      13     4 embeddings   Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;\n-    Signature: #132                         // (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/output/Response<Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;>;\n+    Signature: #297                         // (Ljava/util/List<Ljava/lang/String;>;)Ldev/langchain4j/model/output/Response<Ljava/util/List<Ldev/langchain4j/data/embedding/Embedding;>;>;\n \n   public int estimateTokenCount(java.lang.String);\n     descriptor: (Ljava/lang/String;)I\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #37                 // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n+         1: getfield      #120                // Field tokenizer:Ldev/langchain4j/model/Tokenizer;\n          4: aload_1\n-         5: invokeinterface #60,  2           // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n+         5: invokeinterface #212,  2          // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n         10: ireturn\n       LineNumberTable:\n         line 112: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      11     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n             0      11     1  text   Ljava/lang/String;\n \n   public static dev.langchain4j.model.openai.OpenAiEmbeddingModel withApiKey(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: invokestatic  #61                 // Method builder:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+         0: invokestatic  #216                // Method builder:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n          3: aload_0\n-         4: invokevirtual #62                 // Method dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n-         7: invokevirtual #63                 // Method dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n+         4: invokevirtual #219                // Method dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.apiKey:(Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+         7: invokevirtual #225                // Method dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.build:()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n         10: areturn\n       LineNumberTable:\n         line 116: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      11     0 apiKey   Ljava/lang/String;\n \n   public static dev.langchain4j.model.openai.OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder builder();\n     descriptor: ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=0, args_size=0\n-         0: ldc           #64                 // class dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n-         2: invokedynamic #65,  0             // InvokeDynamic #4:get:()Ljava/util/function/Supplier;\n-         7: invokestatic  #66                 // Method dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n-        10: checkcast     #67                 // class dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n+         0: ldc           #228                // class dev/langchain4j/model/openai/spi/OpenAiEmbeddingModelBuilderFactory\n+         2: invokedynamic #230,  0            // InvokeDynamic #4:get:()Ljava/util/function/Supplier;\n+         7: invokestatic  #233                // Method dev/langchain4j/spi/ServiceHelper.loadFactoryService:(Ljava/lang/Class;Ljava/util/function/Supplier;)Ljava/lang/Object;\n+        10: checkcast     #220                // class dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder\n         13: areturn\n       LineNumberTable:\n         line 120: 0\n \n   private static dev.langchain4j.data.embedding.Embedding lambda$embedTexts$2(dev.ai4j.openai4j.embedding.Embedding);\n     descriptor: (Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n     flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: invokevirtual #68                 // Method dev/ai4j/openai4j/embedding/Embedding.embedding:()Ljava/util/List;\n-         4: invokestatic  #69                 // Method dev/langchain4j/data/embedding/Embedding.from:(Ljava/util/List;)Ldev/langchain4j/data/embedding/Embedding;\n+         1: invokevirtual #239                // Method dev/ai4j/openai4j/embedding/Embedding.embedding:()Ljava/util/List;\n+         4: invokestatic  #244                // Method dev/langchain4j/data/embedding/Embedding.from:(Ljava/util/List;)Ldev/langchain4j/data/embedding/Embedding;\n          7: areturn\n       LineNumberTable:\n         line 101: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       8     0 openAiEmbedding   Ldev/ai4j/openai4j/embedding/Embedding;\n \n   private dev.ai4j.openai4j.embedding.EmbeddingResponse lambda$embedTexts$1(dev.ai4j.openai4j.embedding.EmbeddingRequest) throws java.lang.Exception;\n     descriptor: (Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n     flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #26                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n+         1: getfield      #83                 // Field client:Ldev/ai4j/openai4j/OpenAiClient;\n          4: aload_1\n-         5: invokevirtual #70                 // Method dev/ai4j/openai4j/OpenAiClient.embedding:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n-         8: invokeinterface #71,  1           // InterfaceMethod dev/ai4j/openai4j/SyncOrAsync.execute:()Ljava/lang/Object;\n-        13: checkcast     #54                 // class dev/ai4j/openai4j/embedding/EmbeddingResponse\n+         5: invokevirtual #249                // Method dev/ai4j/openai4j/OpenAiClient.embedding:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/SyncOrAsync;\n+         8: invokeinterface #252,  1          // InterfaceMethod dev/ai4j/openai4j/SyncOrAsync.execute:()Ljava/lang/Object;\n+        13: checkcast     #191                // class dev/ai4j/openai4j/embedding/EmbeddingResponse\n         16: areturn\n       LineNumberTable:\n         line 98: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      17     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n             0      17     1 request   Ldev/ai4j/openai4j/embedding/EmbeddingRequest;\n@@ -700,51 +695,51 @@\n       throws java.lang.Exception\n \n   private dev.langchain4j.model.Tokenizer lambda$new$0();\n     descriptor: ()Ldev/langchain4j/model/Tokenizer;\n     flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC\n     Code:\n       stack=3, locals=1, args_size=1\n-         0: new           #72                 // class dev/langchain4j/model/openai/OpenAiTokenizer\n+         0: new           #258                // class dev/langchain4j/model/openai/OpenAiTokenizer\n          3: dup\n          4: aload_0\n-         5: getfield      #28                 // Field modelName:Ljava/lang/String;\n-         8: invokespecial #73                 // Method dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n+         5: getfield      #91                 // Field modelName:Ljava/lang/String;\n+         8: invokespecial #260                // Method dev/langchain4j/model/openai/OpenAiTokenizer.\"<init>\":(Ljava/lang/String;)V\n         11: areturn\n       LineNumberTable:\n         line 76: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      12     0  this   Ldev/langchain4j/model/openai/OpenAiEmbeddingModel;\n }\n SourceFile: \"OpenAiEmbeddingModel.java\"\n-InnerClasses:\n-  public static #78= #67 of #74;          // OpenAiEmbeddingModelBuilder=class dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder of class dev/langchain4j/model/openai/OpenAiEmbeddingModel\n-  public static abstract #265= #166 of #164; // Builder=class dev/ai4j/openai4j/OpenAiClient$Builder of class dev/ai4j/openai4j/OpenAiClient\n-  public static final #265= #209 of #207; // Builder=class dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder of class dev/ai4j/openai4j/embedding/EmbeddingRequest\n-  public static final #356= #355 of #360; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n BootstrapMethods:\n-  0: #187 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  0: #316 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #188 ()Ljava/lang/Object;\n-      #189 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n-      #190 ()Ldev/langchain4j/model/Tokenizer;\n-  1: #187 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #323 ()Ljava/lang/Object;\n+      #324 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$new$0:()Ldev/langchain4j/model/Tokenizer;\n+      #327 ()Ldev/langchain4j/model/Tokenizer;\n+  1: #316 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #196 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #197 REF_invokeVirtual dev/langchain4j/data/segment/TextSegment.text:()Ljava/lang/String;\n-      #198 (Ldev/langchain4j/data/segment/TextSegment;)Ljava/lang/String;\n-  2: #187 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #328 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #330 REF_invokeVirtual dev/langchain4j/data/segment/TextSegment.text:()Ljava/lang/String;\n+      #336 (Ldev/langchain4j/data/segment/TextSegment;)Ljava/lang/String;\n+  2: #316 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #188 ()Ljava/lang/Object;\n-      #215 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$1:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n-      #216 ()Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n-  3: #187 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #323 ()Ljava/lang/Object;\n+      #338 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$1:(Ldev/ai4j/openai4j/embedding/EmbeddingRequest;)Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n+      #341 ()Ldev/ai4j/openai4j/embedding/EmbeddingResponse;\n+  3: #316 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #196 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #223 REF_invokeStatic dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$2:(Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n-      #224 (Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n-  4: #187 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #328 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #343 REF_invokeStatic dev/langchain4j/model/openai/OpenAiEmbeddingModel.lambda$embedTexts$2:(Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n+      #346 (Ldev/ai4j/openai4j/embedding/Embedding;)Ldev/langchain4j/data/embedding/Embedding;\n+  4: #316 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #188 ()Ljava/lang/Object;\n-      #234 REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.\"<init>\":()V\n-      #235 ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+      #323 ()Ljava/lang/Object;\n+      #347 REF_newInvokeSpecial dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder.\"<init>\":()V\n+      #349 ()Ldev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder;\n+InnerClasses:\n+  public static abstract #351= #44 of #38; // Builder=class dev/ai4j/openai4j/OpenAiClient$Builder of class dev/ai4j/openai4j/OpenAiClient\n+  public static final #351= #160 of #155; // Builder=class dev/ai4j/openai4j/embedding/EmbeddingRequest$Builder of class dev/ai4j/openai4j/embedding/EmbeddingRequest\n+  public static #352= #220 of #84;        // OpenAiEmbeddingModelBuilder=class dev/langchain4j/model/openai/OpenAiEmbeddingModel$OpenAiEmbeddingModelBuilder of class dev/langchain4j/model/openai/OpenAiEmbeddingModel\n+  public static final #357= #353 of #355; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiImageModelName.class", "source2": "dev/langchain4j/model/openai/OpenAiImageModelName.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,76 +1,78 @@\n-  SHA-256 checksum d033c2d906da3f12e831708281cd8a4915a7557e592c51f5aaae42a2897c17ba\n+  SHA-256 checksum da85f740912ae84f620c2f4892190a5ad9d3cff81a7cf0d71d5d044af515d4db\n   Compiled from \"OpenAiImageModelName.java\"\n public final class dev.langchain4j.model.openai.OpenAiImageModelName extends java.lang.Enum<dev.langchain4j.model.openai.OpenAiImageModelName>\n   minor version: 0\n   major version: 52\n   flags: (0x4031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM\n-  this_class: #4                          // dev/langchain4j/model/openai/OpenAiImageModelName\n-  super_class: #15                        // java/lang/Enum\n-  interfaces: 0, fields: 4, methods: 5, attributes: 2\n+  this_class: #1                          // dev/langchain4j/model/openai/OpenAiImageModelName\n+  super_class: #20                        // java/lang/Enum\n+  interfaces: 0, fields: 4, methods: 6, attributes: 2\n Constant pool:\n-   #1 = Fieldref           #4.#43         // dev/langchain4j/model/openai/OpenAiImageModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-   #2 = Methodref          #44.#45        // \"[Ldev/langchain4j/model/openai/OpenAiImageModelName;\".clone:()Ljava/lang/Object;\n-   #3 = Class              #22            // \"[Ldev/langchain4j/model/openai/OpenAiImageModelName;\"\n-   #4 = Class              #46            // dev/langchain4j/model/openai/OpenAiImageModelName\n-   #5 = Methodref          #15.#47        // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-   #6 = Methodref          #15.#48        // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n-   #7 = Fieldref           #4.#49         // dev/langchain4j/model/openai/OpenAiImageModelName.stringValue:Ljava/lang/String;\n-   #8 = String             #16            // DALL_E_2\n-   #9 = String             #50            // dall-e-2\n-  #10 = Methodref          #4.#51         // dev/langchain4j/model/openai/OpenAiImageModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-  #11 = Fieldref           #4.#52         // dev/langchain4j/model/openai/OpenAiImageModelName.DALL_E_2:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-  #12 = String             #18            // DALL_E_3\n-  #13 = String             #53            // dall-e-3\n-  #14 = Fieldref           #4.#54         // dev/langchain4j/model/openai/OpenAiImageModelName.DALL_E_3:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-  #15 = Class              #55            // java/lang/Enum\n-  #16 = Utf8               DALL_E_2\n-  #17 = Utf8               Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-  #18 = Utf8               DALL_E_3\n-  #19 = Utf8               stringValue\n-  #20 = Utf8               Ljava/lang/String;\n-  #21 = Utf8               $VALUES\n-  #22 = Utf8               [Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-  #23 = Utf8               values\n-  #24 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-  #25 = Utf8               Code\n-  #26 = Utf8               LineNumberTable\n-  #27 = Utf8               valueOf\n-  #28 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-  #29 = Utf8               LocalVariableTable\n-  #30 = Utf8               name\n-  #31 = Utf8               <init>\n-  #32 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n-  #33 = Utf8               this\n-  #34 = Utf8               Signature\n-  #35 = Utf8               (Ljava/lang/String;)V\n-  #36 = Utf8               toString\n-  #37 = Utf8               ()Ljava/lang/String;\n-  #38 = Utf8               <clinit>\n-  #39 = Utf8               ()V\n-  #40 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiImageModelName;>;\n-  #41 = Utf8               SourceFile\n-  #42 = Utf8               OpenAiImageModelName.java\n-  #43 = NameAndType        #21:#22        // $VALUES:[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-  #44 = Class              #22            // \"[Ldev/langchain4j/model/openai/OpenAiImageModelName;\"\n-  #45 = NameAndType        #56:#57        // clone:()Ljava/lang/Object;\n-  #46 = Utf8               dev/langchain4j/model/openai/OpenAiImageModelName\n-  #47 = NameAndType        #27:#58        // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #48 = NameAndType        #31:#59        // \"<init>\":(Ljava/lang/String;I)V\n-  #49 = NameAndType        #19:#20        // stringValue:Ljava/lang/String;\n-  #50 = Utf8               dall-e-2\n-  #51 = NameAndType        #31:#32        // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-  #52 = NameAndType        #16:#17        // DALL_E_2:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-  #53 = Utf8               dall-e-3\n-  #54 = NameAndType        #18:#17        // DALL_E_3:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-  #55 = Utf8               java/lang/Enum\n-  #56 = Utf8               clone\n-  #57 = Utf8               ()Ljava/lang/Object;\n-  #58 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-  #59 = Utf8               (Ljava/lang/String;I)V\n+   #1 = Class              #2             // dev/langchain4j/model/openai/OpenAiImageModelName\n+   #2 = Utf8               dev/langchain4j/model/openai/OpenAiImageModelName\n+   #3 = Fieldref           #1.#4          // dev/langchain4j/model/openai/OpenAiImageModelName.DALL_E_2:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+   #4 = NameAndType        #5:#6          // DALL_E_2:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+   #5 = Utf8               DALL_E_2\n+   #6 = Utf8               Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+   #7 = Fieldref           #1.#8          // dev/langchain4j/model/openai/OpenAiImageModelName.DALL_E_3:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+   #8 = NameAndType        #9:#6          // DALL_E_3:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+   #9 = Utf8               DALL_E_3\n+  #10 = Fieldref           #1.#11         // dev/langchain4j/model/openai/OpenAiImageModelName.$VALUES:[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+  #11 = NameAndType        #12:#13        // $VALUES:[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+  #12 = Utf8               $VALUES\n+  #13 = Utf8               [Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+  #14 = Methodref          #15.#16        // \"[Ldev/langchain4j/model/openai/OpenAiImageModelName;\".clone:()Ljava/lang/Object;\n+  #15 = Class              #13            // \"[Ldev/langchain4j/model/openai/OpenAiImageModelName;\"\n+  #16 = NameAndType        #17:#18        // clone:()Ljava/lang/Object;\n+  #17 = Utf8               clone\n+  #18 = Utf8               ()Ljava/lang/Object;\n+  #19 = Methodref          #20.#21        // java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #20 = Class              #22            // java/lang/Enum\n+  #21 = NameAndType        #23:#24        // valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #22 = Utf8               java/lang/Enum\n+  #23 = Utf8               valueOf\n+  #24 = Utf8               (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+  #25 = Methodref          #20.#26        // java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+  #26 = NameAndType        #27:#28        // \"<init>\":(Ljava/lang/String;I)V\n+  #27 = Utf8               <init>\n+  #28 = Utf8               (Ljava/lang/String;I)V\n+  #29 = Fieldref           #1.#30         // dev/langchain4j/model/openai/OpenAiImageModelName.stringValue:Ljava/lang/String;\n+  #30 = NameAndType        #31:#32        // stringValue:Ljava/lang/String;\n+  #31 = Utf8               stringValue\n+  #32 = Utf8               Ljava/lang/String;\n+  #33 = String             #5             // DALL_E_2\n+  #34 = String             #35            // dall-e-2\n+  #35 = Utf8               dall-e-2\n+  #36 = Methodref          #1.#37         // dev/langchain4j/model/openai/OpenAiImageModelName.\"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+  #37 = NameAndType        #27:#38        // \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+  #38 = Utf8               (Ljava/lang/String;ILjava/lang/String;)V\n+  #39 = String             #9             // DALL_E_3\n+  #40 = String             #41            // dall-e-3\n+  #41 = Utf8               dall-e-3\n+  #42 = Methodref          #1.#43         // dev/langchain4j/model/openai/OpenAiImageModelName.$values:()[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+  #43 = NameAndType        #44:#45        // $values:()[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+  #44 = Utf8               $values\n+  #45 = Utf8               ()[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+  #46 = Utf8               values\n+  #47 = Utf8               Code\n+  #48 = Utf8               LineNumberTable\n+  #49 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+  #50 = Utf8               LocalVariableTable\n+  #51 = Utf8               name\n+  #52 = Utf8               this\n+  #53 = Utf8               Signature\n+  #54 = Utf8               (Ljava/lang/String;)V\n+  #55 = Utf8               toString\n+  #56 = Utf8               ()Ljava/lang/String;\n+  #57 = Utf8               <clinit>\n+  #58 = Utf8               ()V\n+  #59 = Utf8               Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiImageModelName;>;\n+  #60 = Utf8               SourceFile\n+  #61 = Utf8               OpenAiImageModelName.java\n {\n   public static final dev.langchain4j.model.openai.OpenAiImageModelName DALL_E_2;\n     descriptor: Ldev/langchain4j/model/openai/OpenAiImageModelName;\n     flags: (0x4019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_ENUM\n \n   public static final dev.langchain4j.model.openai.OpenAiImageModelName DALL_E_3;\n     descriptor: Ldev/langchain4j/model/openai/OpenAiImageModelName;\n@@ -85,30 +87,30 @@\n     flags: (0x101a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC\n \n   public static dev.langchain4j.model.openai.OpenAiImageModelName[] values();\n     descriptor: ()[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=1, locals=0, args_size=0\n-         0: getstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-         3: invokevirtual #2                  // Method \"[Ldev/langchain4j/model/openai/OpenAiImageModelName;\".clone:()Ljava/lang/Object;\n-         6: checkcast     #3                  // class \"[Ldev/langchain4j/model/openai/OpenAiImageModelName;\"\n+         0: getstatic     #10                 // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+         3: invokevirtual #14                 // Method \"[Ldev/langchain4j/model/openai/OpenAiImageModelName;\".clone:()Ljava/lang/Object;\n+         6: checkcast     #15                 // class \"[Ldev/langchain4j/model/openai/OpenAiImageModelName;\"\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n \n   public static dev.langchain4j.model.openai.OpenAiImageModelName valueOf(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ldev/langchain4j/model/openai/OpenAiImageModelName;\n     flags: (0x0009) ACC_PUBLIC, ACC_STATIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: ldc           #4                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n+         0: ldc           #1                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n          2: aload_0\n-         3: invokestatic  #5                  // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n-         6: checkcast     #4                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n+         3: invokestatic  #19                 // Method java/lang/Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;\n+         6: checkcast     #1                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n          9: areturn\n       LineNumberTable:\n         line 3: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      10     0  name   Ljava/lang/String;\n \n@@ -116,74 +118,84 @@\n     descriptor: (Ljava/lang/String;ILjava/lang/String;)V\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=3, locals=4, args_size=4\n          0: aload_0\n          1: aload_1\n          2: iload_2\n-         3: invokespecial #6                  // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n+         3: invokespecial #25                 // Method java/lang/Enum.\"<init>\":(Ljava/lang/String;I)V\n          6: aload_0\n          7: aload_3\n-         8: putfield      #7                  // Field stringValue:Ljava/lang/String;\n+         8: putfield      #29                 // Field stringValue:Ljava/lang/String;\n         11: return\n       LineNumberTable:\n         line 10: 0\n         line 11: 6\n         line 12: 11\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      12     0  this   Ldev/langchain4j/model/openai/OpenAiImageModelName;\n             0      12     3 stringValue   Ljava/lang/String;\n-    Signature: #35                          // (Ljava/lang/String;)V\n+    Signature: #54                          // (Ljava/lang/String;)V\n \n   public java.lang.String toString();\n     descriptor: ()Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #7                  // Field stringValue:Ljava/lang/String;\n+         1: getfield      #29                 // Field stringValue:Ljava/lang/String;\n          4: areturn\n       LineNumberTable:\n         line 16: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       5     0  this   Ldev/langchain4j/model/openai/OpenAiImageModelName;\n \n+  private static dev.langchain4j.model.openai.OpenAiImageModelName[] $values();\n+    descriptor: ()[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n+    Code:\n+      stack=4, locals=0, args_size=0\n+         0: iconst_2\n+         1: anewarray     #1                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n+         4: dup\n+         5: iconst_0\n+         6: getstatic     #3                  // Field DALL_E_2:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+         9: aastore\n+        10: dup\n+        11: iconst_1\n+        12: getstatic     #7                  // Field DALL_E_3:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+        15: aastore\n+        16: areturn\n+      LineNumberTable:\n+        line 3: 0\n+\n   static {};\n     descriptor: ()V\n     flags: (0x0008) ACC_STATIC\n     Code:\n       stack=5, locals=0, args_size=0\n-         0: new           #4                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n+         0: new           #1                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n          3: dup\n-         4: ldc           #8                  // String DALL_E_2\n+         4: ldc           #33                 // String DALL_E_2\n          6: iconst_0\n-         7: ldc           #9                  // String dall-e-2\n-         9: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        12: putstatic     #11                 // Field DALL_E_2:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-        15: new           #4                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n+         7: ldc           #34                 // String dall-e-2\n+         9: invokespecial #36                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        12: putstatic     #3                  // Field DALL_E_2:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+        15: new           #1                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n         18: dup\n-        19: ldc           #12                 // String DALL_E_3\n+        19: ldc           #39                 // String DALL_E_3\n         21: iconst_1\n-        22: ldc           #13                 // String dall-e-3\n-        24: invokespecial #10                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n-        27: putstatic     #14                 // Field DALL_E_3:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-        30: iconst_2\n-        31: anewarray     #4                  // class dev/langchain4j/model/openai/OpenAiImageModelName\n-        34: dup\n-        35: iconst_0\n-        36: getstatic     #11                 // Field DALL_E_2:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-        39: aastore\n-        40: dup\n-        41: iconst_1\n-        42: getstatic     #14                 // Field DALL_E_3:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-        45: aastore\n-        46: putstatic     #1                  // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n-        49: return\n+        22: ldc           #40                 // String dall-e-3\n+        24: invokespecial #36                 // Method \"<init>\":(Ljava/lang/String;ILjava/lang/String;)V\n+        27: putstatic     #7                  // Field DALL_E_3:Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+        30: invokestatic  #42                 // Method $values:()[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+        33: putstatic     #10                 // Field $VALUES:[Ldev/langchain4j/model/openai/OpenAiImageModelName;\n+        36: return\n       LineNumberTable:\n         line 5: 0\n         line 6: 15\n         line 3: 30\n }\n-Signature: #40                          // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiImageModelName;>;\n+Signature: #59                          // Ljava/lang/Enum<Ldev/langchain4j/model/openai/OpenAiImageModelName;>;\n SourceFile: \"OpenAiImageModelName.java\"\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.class", "source2": "dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,363 +1,354 @@\n-  SHA-256 checksum 0d1f7f3a5fc815d4aec174ef00bb166fcc42de9dc2197f20f5c0423f81b3410a\n+  SHA-256 checksum f6df4fa289a5744a1985d4f4bf28b6513f0e63e60051a8287f88d65961bddc17\n   Compiled from \"OpenAiStreamingResponseBuilder.java\"\n public class dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #72                         // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n-  super_class: #73                        // java/lang/Object\n+  this_class: #11                         // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+  super_class: #2                         // java/lang/Object\n   interfaces: 0, fields: 6, methods: 8, attributes: 3\n Constant pool:\n-    #1 = Methodref          #73.#157      // java/lang/Object.\"<init>\":()V\n-    #2 = Class              #158          // java/lang/StringBuffer\n-    #3 = Methodref          #2.#157       // java/lang/StringBuffer.\"<init>\":()V\n-    #4 = Fieldref           #72.#159      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.contentBuilder:Ljava/lang/StringBuffer;\n-    #5 = Fieldref           #72.#160      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.toolNameBuilder:Ljava/lang/StringBuffer;\n-    #6 = Fieldref           #72.#161      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.toolArgumentsBuilder:Ljava/lang/StringBuffer;\n-    #7 = Class              #162          // java/util/concurrent/ConcurrentHashMap\n-    #8 = Methodref          #7.#157       // java/util/concurrent/ConcurrentHashMap.\"<init>\":()V\n-    #9 = Fieldref           #72.#163      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.indexToToolExecutionRequestBuilder:Ljava/util/Map;\n-   #10 = Fieldref           #72.#164      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.inputTokenCount:Ljava/lang/Integer;\n-   #11 = Methodref          #165.#166     // dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n-   #12 = InterfaceMethodref #59.#167      // java/util/List.isEmpty:()Z\n-   #13 = InterfaceMethodref #59.#168      // java/util/List.get:(I)Ljava/lang/Object;\n-   #14 = Class              #169          // dev/ai4j/openai4j/chat/ChatCompletionChoice\n-   #15 = Methodref          #14.#170      // dev/ai4j/openai4j/chat/ChatCompletionChoice.finishReason:()Ljava/lang/String;\n-   #16 = Fieldref           #72.#171      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.finishReason:Ljava/lang/String;\n-   #17 = Methodref          #14.#172      // dev/ai4j/openai4j/chat/ChatCompletionChoice.delta:()Ldev/ai4j/openai4j/chat/Delta;\n-   #18 = Methodref          #173.#174     // dev/ai4j/openai4j/chat/Delta.content:()Ljava/lang/String;\n-   #19 = Methodref          #2.#175       // java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n-   #20 = Methodref          #173.#176     // dev/ai4j/openai4j/chat/Delta.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-   #21 = Methodref          #177.#178     // dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n-   #22 = Methodref          #177.#179     // dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n-   #23 = Methodref          #173.#180     // dev/ai4j/openai4j/chat/Delta.toolCalls:()Ljava/util/List;\n-   #24 = Class              #181          // dev/ai4j/openai4j/chat/ToolCall\n-   #25 = Methodref          #24.#182      // dev/ai4j/openai4j/chat/ToolCall.index:()Ljava/lang/Integer;\n-   #26 = InvokeDynamic      #0:#188       // #0:apply:()Ljava/util/function/Function;\n-   #27 = InterfaceMethodref #189.#190     // java/util/Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;\n-   #28 = Class              #191          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n-   #29 = Methodref          #24.#192      // dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n-   #30 = Methodref          #28.#193      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$000:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-   #31 = Methodref          #24.#194      // dev/ai4j/openai4j/chat/ToolCall.function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-   #32 = Methodref          #28.#195      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$100:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-   #33 = Methodref          #28.#196      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$200:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-   #34 = Methodref          #197.#166     // dev/ai4j/openai4j/completion/CompletionResponse.choices:()Ljava/util/List;\n-   #35 = Class              #198          // dev/ai4j/openai4j/completion/CompletionChoice\n-   #36 = Methodref          #35.#170      // dev/ai4j/openai4j/completion/CompletionChoice.finishReason:()Ljava/lang/String;\n-   #37 = Methodref          #35.#199      // dev/ai4j/openai4j/completion/CompletionChoice.text:()Ljava/lang/String;\n-   #38 = Methodref          #2.#200       // java/lang/StringBuffer.toString:()Ljava/lang/String;\n-   #39 = Methodref          #201.#167     // java/lang/String.isEmpty:()Z\n-   #40 = Methodref          #202.#203     // dev/langchain4j/data/message/AiMessage.from:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n-   #41 = Methodref          #72.#204      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.tokenUsage:(Ljava/lang/String;Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/output/TokenUsage;\n-   #42 = Methodref          #205.#206     // dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-   #43 = Methodref          #207.#208     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n-   #44 = Methodref          #48.#209      // dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-   #45 = Methodref          #210.#211     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-   #46 = Methodref          #210.#212     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-   #47 = Methodref          #210.#213     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-   #48 = Class              #214          // dev/langchain4j/agent/tool/ToolExecutionRequest\n-   #49 = Methodref          #202.#215     // dev/langchain4j/data/message/AiMessage.from:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n-   #50 = Methodref          #216.#217     // java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-   #51 = Methodref          #72.#218      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.tokenUsage:(Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n-   #52 = InterfaceMethodref #189.#167     // java/util/Map.isEmpty:()Z\n-   #53 = InterfaceMethodref #189.#219     // java/util/Map.values:()Ljava/util/Collection;\n-   #54 = InterfaceMethodref #220.#221     // java/util/Collection.stream:()Ljava/util/stream/Stream;\n-   #55 = InvokeDynamic      #1:#188       // #1:apply:()Ljava/util/function/Function;\n-   #56 = InterfaceMethodref #224.#225     // java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-   #57 = Methodref          #226.#227     // java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-   #58 = InterfaceMethodref #224.#228     // java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-   #59 = Class              #229          // java/util/List\n-   #60 = Methodref          #202.#230     // dev/langchain4j/data/message/AiMessage.from:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n-   #61 = InterfaceMethodref #231.#232     // dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n-   #62 = Class              #233          // dev/langchain4j/model/output/TokenUsage\n-   #63 = Methodref          #234.#235     // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-   #64 = Methodref          #62.#236      // dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;)V\n-   #65 = InterfaceMethodref #59.#237      // java/util/List.iterator:()Ljava/util/Iterator;\n-   #66 = InterfaceMethodref #238.#239     // java/util/Iterator.hasNext:()Z\n-   #67 = InterfaceMethodref #238.#240     // java/util/Iterator.next:()Ljava/lang/Object;\n-   #68 = InterfaceMethodref #231.#241     // dev/langchain4j/model/Tokenizer.estimateTokenCountInForcefulToolExecutionRequest:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n-   #69 = InterfaceMethodref #231.#242     // dev/langchain4j/model/Tokenizer.estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n-   #70 = Methodref          #210.#243     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-   #71 = Methodref          #28.#244      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.\"<init>\":(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n-   #72 = Class              #245          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n-   #73 = Class              #246          // java/lang/Object\n-   #74 = Class              #247          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n-   #75 = Utf8               InnerClasses\n-   #76 = Utf8               ToolExecutionRequestBuilder\n-   #77 = Utf8               contentBuilder\n-   #78 = Utf8               Ljava/lang/StringBuffer;\n-   #79 = Utf8               toolNameBuilder\n-   #80 = Utf8               toolArgumentsBuilder\n-   #81 = Utf8               indexToToolExecutionRequestBuilder\n-   #82 = Utf8               Ljava/util/Map;\n-   #83 = Utf8               Signature\n-   #84 = Utf8               Ljava/util/Map<Ljava/lang/Integer;Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;>;\n-   #85 = Utf8               finishReason\n-   #86 = Utf8               Ljava/lang/String;\n-   #87 = Utf8               inputTokenCount\n-   #88 = Utf8               Ljava/lang/Integer;\n-   #89 = Utf8               <init>\n-   #90 = Utf8               (Ljava/lang/Integer;)V\n-   #91 = Utf8               Code\n-   #92 = Utf8               LineNumberTable\n-   #93 = Utf8               LocalVariableTable\n-   #94 = Utf8               this\n-   #95 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder;\n-   #96 = Utf8               append\n-   #97 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)V\n-   #98 = Utf8               functionCall\n-   #99 = Utf8               Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #100 = Utf8               toolCall\n-  #101 = Utf8               Ldev/ai4j/openai4j/chat/ToolCall;\n-  #102 = Utf8               toolExecutionRequestBuilder\n-  #103 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n-  #104 = Utf8               partialResponse\n-  #105 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n-  #106 = Utf8               choices\n-  #107 = Utf8               Ljava/util/List;\n-  #108 = Utf8               chatCompletionChoice\n-  #109 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionChoice;\n-  #110 = Utf8               delta\n-  #111 = Utf8               Ldev/ai4j/openai4j/chat/Delta;\n-  #112 = Utf8               content\n-  #113 = Utf8               LocalVariableTypeTable\n-  #114 = Utf8               Ljava/util/List<Ldev/ai4j/openai4j/chat/ChatCompletionChoice;>;\n-  #115 = Utf8               StackMapTable\n-  #116 = Class              #229          // java/util/List\n-  #117 = Class              #169          // dev/ai4j/openai4j/chat/ChatCompletionChoice\n-  #118 = Class              #248          // java/lang/String\n-  #119 = Class              #249          // dev/ai4j/openai4j/chat/Delta\n-  #120 = Class              #250          // dev/ai4j/openai4j/chat/FunctionCall\n-  #121 = Class              #181          // dev/ai4j/openai4j/chat/ToolCall\n-  #122 = Class              #191          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n-  #123 = Utf8               (Ldev/ai4j/openai4j/completion/CompletionResponse;)V\n-  #124 = Utf8               Ldev/ai4j/openai4j/completion/CompletionResponse;\n-  #125 = Utf8               completionChoice\n-  #126 = Utf8               Ldev/ai4j/openai4j/completion/CompletionChoice;\n-  #127 = Utf8               token\n-  #128 = Utf8               Ljava/util/List<Ldev/ai4j/openai4j/completion/CompletionChoice;>;\n-  #129 = Class              #198          // dev/ai4j/openai4j/completion/CompletionChoice\n-  #130 = Utf8               build\n-  #131 = Utf8               (Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/Response;\n-  #132 = Utf8               toolExecutionRequest\n-  #133 = Utf8               Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #134 = Utf8               toolExecutionRequests\n-  #135 = Utf8               tokenizer\n-  #136 = Utf8               Ldev/langchain4j/model/Tokenizer;\n-  #137 = Utf8               forcefulToolExecution\n-  #138 = Utf8               Z\n-  #139 = Utf8               toolName\n-  #140 = Utf8               Ljava/util/List<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;\n-  #141 = Utf8               (Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n-  #142 = Utf8               tokenUsage\n-  #143 = Utf8               (Ljava/lang/String;Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/output/TokenUsage;\n-  #144 = Utf8               outputTokenCount\n-  #145 = Utf8               I\n-  #146 = Utf8               (Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n-  #147 = Class              #251          // java/util/Iterator\n-  #148 = Utf8               (Ljava/util/List<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n-  #149 = Utf8               lambda$build$1\n-  #150 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #151 = Utf8               it\n-  #152 = Utf8               lambda$append$0\n-  #153 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n-  #154 = Utf8               idx\n-  #155 = Utf8               SourceFile\n-  #156 = Utf8               OpenAiStreamingResponseBuilder.java\n-  #157 = NameAndType        #89:#252      // \"<init>\":()V\n-  #158 = Utf8               java/lang/StringBuffer\n-  #159 = NameAndType        #77:#78       // contentBuilder:Ljava/lang/StringBuffer;\n-  #160 = NameAndType        #79:#78       // toolNameBuilder:Ljava/lang/StringBuffer;\n-  #161 = NameAndType        #80:#78       // toolArgumentsBuilder:Ljava/lang/StringBuffer;\n-  #162 = Utf8               java/util/concurrent/ConcurrentHashMap\n-  #163 = NameAndType        #81:#82       // indexToToolExecutionRequestBuilder:Ljava/util/Map;\n-  #164 = NameAndType        #87:#88       // inputTokenCount:Ljava/lang/Integer;\n-  #165 = Class              #253          // dev/ai4j/openai4j/chat/ChatCompletionResponse\n-  #166 = NameAndType        #106:#254     // choices:()Ljava/util/List;\n-  #167 = NameAndType        #255:#256     // isEmpty:()Z\n-  #168 = NameAndType        #257:#258     // get:(I)Ljava/lang/Object;\n-  #169 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionChoice\n-  #170 = NameAndType        #85:#259      // finishReason:()Ljava/lang/String;\n-  #171 = NameAndType        #85:#86       // finishReason:Ljava/lang/String;\n-  #172 = NameAndType        #110:#260     // delta:()Ldev/ai4j/openai4j/chat/Delta;\n-  #173 = Class              #249          // dev/ai4j/openai4j/chat/Delta\n-  #174 = NameAndType        #112:#259     // content:()Ljava/lang/String;\n-  #175 = NameAndType        #96:#261      // append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n-  #176 = NameAndType        #98:#262      // functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #177 = Class              #250          // dev/ai4j/openai4j/chat/FunctionCall\n-  #178 = NameAndType        #263:#259     // name:()Ljava/lang/String;\n-  #179 = NameAndType        #264:#259     // arguments:()Ljava/lang/String;\n-  #180 = NameAndType        #265:#254     // toolCalls:()Ljava/util/List;\n-  #181 = Utf8               dev/ai4j/openai4j/chat/ToolCall\n-  #182 = NameAndType        #266:#267     // index:()Ljava/lang/Integer;\n-  #183 = Utf8               BootstrapMethods\n-  #184 = MethodHandle       6:#268        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #185 = MethodType         #269          //  (Ljava/lang/Object;)Ljava/lang/Object;\n-  #186 = MethodHandle       6:#270        // REF_invokeStatic dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$append$0:(Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n-  #187 = MethodType         #153          //  (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n-  #188 = NameAndType        #271:#272     // apply:()Ljava/util/function/Function;\n-  #189 = Class              #273          // java/util/Map\n-  #190 = NameAndType        #274:#275     // computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;\n-  #191 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n-  #192 = NameAndType        #276:#259     // id:()Ljava/lang/String;\n-  #193 = NameAndType        #277:#278     // access$000:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-  #194 = NameAndType        #279:#262     // function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #195 = NameAndType        #280:#278     // access$100:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-  #196 = NameAndType        #281:#278     // access$200:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-  #197 = Class              #282          // dev/ai4j/openai4j/completion/CompletionResponse\n-  #198 = Utf8               dev/ai4j/openai4j/completion/CompletionChoice\n-  #199 = NameAndType        #283:#259     // text:()Ljava/lang/String;\n-  #200 = NameAndType        #284:#259     // toString:()Ljava/lang/String;\n-  #201 = Class              #248          // java/lang/String\n-  #202 = Class              #285          // dev/langchain4j/data/message/AiMessage\n-  #203 = NameAndType        #286:#287     // from:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n-  #204 = NameAndType        #142:#143     // tokenUsage:(Ljava/lang/String;Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/output/TokenUsage;\n-  #205 = Class              #288          // dev/langchain4j/model/openai/InternalOpenAiHelper\n-  #206 = NameAndType        #289:#290     // finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-  #207 = Class              #291          // dev/langchain4j/model/output/Response\n-  #208 = NameAndType        #286:#292     // from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n-  #209 = NameAndType        #293:#295     // builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #210 = Class              #296          // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder\n-  #211 = NameAndType        #263:#297     // name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #212 = NameAndType        #264:#297     // arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #213 = NameAndType        #130:#298     // build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #214 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest\n-  #215 = NameAndType        #286:#299     // from:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n-  #216 = Class              #300          // java/util/Collections\n-  #217 = NameAndType        #301:#302     // singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-  #218 = NameAndType        #142:#146     // tokenUsage:(Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n-  #219 = NameAndType        #303:#304     // values:()Ljava/util/Collection;\n-  #220 = Class              #305          // java/util/Collection\n-  #221 = NameAndType        #306:#307     // stream:()Ljava/util/stream/Stream;\n-  #222 = MethodHandle       6:#308        // REF_invokeStatic dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$build$1:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #223 = MethodType         #150          //  (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #224 = Class              #309          // java/util/stream/Stream\n-  #225 = NameAndType        #310:#311     // map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-  #226 = Class              #312          // java/util/stream/Collectors\n-  #227 = NameAndType        #313:#314     // toList:()Ljava/util/stream/Collector;\n-  #228 = NameAndType        #315:#316     // collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-  #229 = Utf8               java/util/List\n-  #230 = NameAndType        #286:#317     // from:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n-  #231 = Class              #318          // dev/langchain4j/model/Tokenizer\n-  #232 = NameAndType        #319:#320     // estimateTokenCountInText:(Ljava/lang/String;)I\n-  #233 = Utf8               dev/langchain4j/model/output/TokenUsage\n-  #234 = Class              #321          // java/lang/Integer\n-  #235 = NameAndType        #322:#323     // valueOf:(I)Ljava/lang/Integer;\n-  #236 = NameAndType        #89:#324      // \"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;)V\n-  #237 = NameAndType        #325:#326     // iterator:()Ljava/util/Iterator;\n-  #238 = Class              #251          // java/util/Iterator\n-  #239 = NameAndType        #327:#256     // hasNext:()Z\n-  #240 = NameAndType        #328:#329     // next:()Ljava/lang/Object;\n-  #241 = NameAndType        #330:#331     // estimateTokenCountInForcefulToolExecutionRequest:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n-  #242 = NameAndType        #332:#333     // estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n-  #243 = NameAndType        #276:#297     // id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #244 = NameAndType        #89:#334      // \"<init>\":(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n-  #245 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n-  #246 = Utf8               java/lang/Object\n-  #247 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n-  #248 = Utf8               java/lang/String\n-  #249 = Utf8               dev/ai4j/openai4j/chat/Delta\n-  #250 = Utf8               dev/ai4j/openai4j/chat/FunctionCall\n-  #251 = Utf8               java/util/Iterator\n-  #252 = Utf8               ()V\n-  #253 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionResponse\n-  #254 = Utf8               ()Ljava/util/List;\n-  #255 = Utf8               isEmpty\n-  #256 = Utf8               ()Z\n-  #257 = Utf8               get\n-  #258 = Utf8               (I)Ljava/lang/Object;\n-  #259 = Utf8               ()Ljava/lang/String;\n-  #260 = Utf8               ()Ldev/ai4j/openai4j/chat/Delta;\n-  #261 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuffer;\n-  #262 = Utf8               ()Ldev/ai4j/openai4j/chat/FunctionCall;\n-  #263 = Utf8               name\n-  #264 = Utf8               arguments\n-  #265 = Utf8               toolCalls\n-  #266 = Utf8               index\n-  #267 = Utf8               ()Ljava/lang/Integer;\n-  #268 = Methodref          #335.#336     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #269 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n-  #270 = Methodref          #72.#337      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$append$0:(Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n-  #271 = Utf8               apply\n-  #272 = Utf8               ()Ljava/util/function/Function;\n-  #273 = Utf8               java/util/Map\n-  #274 = Utf8               computeIfAbsent\n-  #275 = Utf8               (Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;\n-  #276 = Utf8               id\n-  #277 = Utf8               access$000\n-  #278 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-  #279 = Utf8               function\n-  #280 = Utf8               access$100\n-  #281 = Utf8               access$200\n-  #282 = Utf8               dev/ai4j/openai4j/completion/CompletionResponse\n-  #283 = Utf8               text\n-  #284 = Utf8               toString\n-  #285 = Utf8               dev/langchain4j/data/message/AiMessage\n-  #286 = Utf8               from\n-  #287 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n-  #288 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n-  #289 = Utf8               finishReasonFrom\n-  #290 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-  #291 = Utf8               dev/langchain4j/model/output/Response\n-  #292 = Utf8               (Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n-  #293 = Utf8               builder\n-  #294 = Utf8               Builder\n-  #295 = Utf8               ()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #296 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest$Builder\n-  #297 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-  #298 = Utf8               ()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #299 = Utf8               ([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n-  #300 = Utf8               java/util/Collections\n-  #301 = Utf8               singletonList\n-  #302 = Utf8               (Ljava/lang/Object;)Ljava/util/List;\n-  #303 = Utf8               values\n-  #304 = Utf8               ()Ljava/util/Collection;\n-  #305 = Utf8               java/util/Collection\n-  #306 = Utf8               stream\n-  #307 = Utf8               ()Ljava/util/stream/Stream;\n-  #308 = Methodref          #72.#338      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$build$1:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #309 = Utf8               java/util/stream/Stream\n-  #310 = Utf8               map\n-  #311 = Utf8               (Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-  #312 = Utf8               java/util/stream/Collectors\n-  #313 = Utf8               toList\n-  #314 = Utf8               ()Ljava/util/stream/Collector;\n-  #315 = Utf8               collect\n-  #316 = Utf8               (Ljava/util/stream/Collector;)Ljava/lang/Object;\n-  #317 = Utf8               (Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n-  #318 = Utf8               dev/langchain4j/model/Tokenizer\n-  #319 = Utf8               estimateTokenCountInText\n-  #320 = Utf8               (Ljava/lang/String;)I\n-  #321 = Utf8               java/lang/Integer\n-  #322 = Utf8               valueOf\n-  #323 = Utf8               (I)Ljava/lang/Integer;\n-  #324 = Utf8               (Ljava/lang/Integer;Ljava/lang/Integer;)V\n-  #325 = Utf8               iterator\n-  #326 = Utf8               ()Ljava/util/Iterator;\n-  #327 = Utf8               hasNext\n-  #328 = Utf8               next\n-  #329 = Utf8               ()Ljava/lang/Object;\n-  #330 = Utf8               estimateTokenCountInForcefulToolExecutionRequest\n-  #331 = Utf8               (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n-  #332 = Utf8               estimateTokenCountInToolExecutionRequests\n-  #333 = Utf8               (Ljava/lang/Iterable;)I\n-  #334 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n-  #335 = Class              #339          // java/lang/invoke/LambdaMetafactory\n-  #336 = NameAndType        #340:#343     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #337 = NameAndType        #152:#153     // lambda$append$0:(Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n-  #338 = NameAndType        #149:#150     // lambda$build$1:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #339 = Utf8               java/lang/invoke/LambdaMetafactory\n-  #340 = Utf8               metafactory\n-  #341 = Class              #345          // java/lang/invoke/MethodHandles$Lookup\n-  #342 = Utf8               Lookup\n-  #343 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #344 = Class              #346          // java/lang/invoke/MethodHandles\n-  #345 = Utf8               java/lang/invoke/MethodHandles$Lookup\n-  #346 = Utf8               java/lang/invoke/MethodHandles\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = Class              #8            // java/lang/StringBuffer\n+    #8 = Utf8               java/lang/StringBuffer\n+    #9 = Methodref          #7.#3         // java/lang/StringBuffer.\"<init>\":()V\n+   #10 = Fieldref           #11.#12       // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.contentBuilder:Ljava/lang/StringBuffer;\n+   #11 = Class              #13           // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+   #12 = NameAndType        #14:#15       // contentBuilder:Ljava/lang/StringBuffer;\n+   #13 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+   #14 = Utf8               contentBuilder\n+   #15 = Utf8               Ljava/lang/StringBuffer;\n+   #16 = Fieldref           #11.#17       // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.toolNameBuilder:Ljava/lang/StringBuffer;\n+   #17 = NameAndType        #18:#15       // toolNameBuilder:Ljava/lang/StringBuffer;\n+   #18 = Utf8               toolNameBuilder\n+   #19 = Fieldref           #11.#20       // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.toolArgumentsBuilder:Ljava/lang/StringBuffer;\n+   #20 = NameAndType        #21:#15       // toolArgumentsBuilder:Ljava/lang/StringBuffer;\n+   #21 = Utf8               toolArgumentsBuilder\n+   #22 = Class              #23           // java/util/concurrent/ConcurrentHashMap\n+   #23 = Utf8               java/util/concurrent/ConcurrentHashMap\n+   #24 = Methodref          #22.#3        // java/util/concurrent/ConcurrentHashMap.\"<init>\":()V\n+   #25 = Fieldref           #11.#26       // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.indexToToolExecutionRequestBuilder:Ljava/util/Map;\n+   #26 = NameAndType        #27:#28       // indexToToolExecutionRequestBuilder:Ljava/util/Map;\n+   #27 = Utf8               indexToToolExecutionRequestBuilder\n+   #28 = Utf8               Ljava/util/Map;\n+   #29 = Fieldref           #11.#30       // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.inputTokenCount:Ljava/lang/Integer;\n+   #30 = NameAndType        #31:#32       // inputTokenCount:Ljava/lang/Integer;\n+   #31 = Utf8               inputTokenCount\n+   #32 = Utf8               Ljava/lang/Integer;\n+   #33 = Methodref          #34.#35       // dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n+   #34 = Class              #36           // dev/ai4j/openai4j/chat/ChatCompletionResponse\n+   #35 = NameAndType        #37:#38       // choices:()Ljava/util/List;\n+   #36 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionResponse\n+   #37 = Utf8               choices\n+   #38 = Utf8               ()Ljava/util/List;\n+   #39 = InterfaceMethodref #40.#41       // java/util/List.isEmpty:()Z\n+   #40 = Class              #42           // java/util/List\n+   #41 = NameAndType        #43:#44       // isEmpty:()Z\n+   #42 = Utf8               java/util/List\n+   #43 = Utf8               isEmpty\n+   #44 = Utf8               ()Z\n+   #45 = InterfaceMethodref #40.#46       // java/util/List.get:(I)Ljava/lang/Object;\n+   #46 = NameAndType        #47:#48       // get:(I)Ljava/lang/Object;\n+   #47 = Utf8               get\n+   #48 = Utf8               (I)Ljava/lang/Object;\n+   #49 = Class              #50           // dev/ai4j/openai4j/chat/ChatCompletionChoice\n+   #50 = Utf8               dev/ai4j/openai4j/chat/ChatCompletionChoice\n+   #51 = Methodref          #49.#52       // dev/ai4j/openai4j/chat/ChatCompletionChoice.finishReason:()Ljava/lang/String;\n+   #52 = NameAndType        #53:#54       // finishReason:()Ljava/lang/String;\n+   #53 = Utf8               finishReason\n+   #54 = Utf8               ()Ljava/lang/String;\n+   #55 = Fieldref           #11.#56       // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.finishReason:Ljava/lang/String;\n+   #56 = NameAndType        #53:#57       // finishReason:Ljava/lang/String;\n+   #57 = Utf8               Ljava/lang/String;\n+   #58 = Methodref          #49.#59       // dev/ai4j/openai4j/chat/ChatCompletionChoice.delta:()Ldev/ai4j/openai4j/chat/Delta;\n+   #59 = NameAndType        #60:#61       // delta:()Ldev/ai4j/openai4j/chat/Delta;\n+   #60 = Utf8               delta\n+   #61 = Utf8               ()Ldev/ai4j/openai4j/chat/Delta;\n+   #62 = Methodref          #63.#64       // dev/ai4j/openai4j/chat/Delta.content:()Ljava/lang/String;\n+   #63 = Class              #65           // dev/ai4j/openai4j/chat/Delta\n+   #64 = NameAndType        #66:#54       // content:()Ljava/lang/String;\n+   #65 = Utf8               dev/ai4j/openai4j/chat/Delta\n+   #66 = Utf8               content\n+   #67 = Methodref          #7.#68        // java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n+   #68 = NameAndType        #69:#70       // append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n+   #69 = Utf8               append\n+   #70 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuffer;\n+   #71 = Methodref          #63.#72       // dev/ai4j/openai4j/chat/Delta.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+   #72 = NameAndType        #73:#74       // functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+   #73 = Utf8               functionCall\n+   #74 = Utf8               ()Ldev/ai4j/openai4j/chat/FunctionCall;\n+   #75 = Methodref          #76.#77       // dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n+   #76 = Class              #78           // dev/ai4j/openai4j/chat/FunctionCall\n+   #77 = NameAndType        #79:#54       // name:()Ljava/lang/String;\n+   #78 = Utf8               dev/ai4j/openai4j/chat/FunctionCall\n+   #79 = Utf8               name\n+   #80 = Methodref          #76.#81       // dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n+   #81 = NameAndType        #82:#54       // arguments:()Ljava/lang/String;\n+   #82 = Utf8               arguments\n+   #83 = Methodref          #63.#84       // dev/ai4j/openai4j/chat/Delta.toolCalls:()Ljava/util/List;\n+   #84 = NameAndType        #85:#38       // toolCalls:()Ljava/util/List;\n+   #85 = Utf8               toolCalls\n+   #86 = Class              #87           // dev/ai4j/openai4j/chat/ToolCall\n+   #87 = Utf8               dev/ai4j/openai4j/chat/ToolCall\n+   #88 = Methodref          #86.#89       // dev/ai4j/openai4j/chat/ToolCall.index:()Ljava/lang/Integer;\n+   #89 = NameAndType        #90:#91       // index:()Ljava/lang/Integer;\n+   #90 = Utf8               index\n+   #91 = Utf8               ()Ljava/lang/Integer;\n+   #92 = InvokeDynamic      #0:#93        // #0:apply:()Ljava/util/function/Function;\n+   #93 = NameAndType        #94:#95       // apply:()Ljava/util/function/Function;\n+   #94 = Utf8               apply\n+   #95 = Utf8               ()Ljava/util/function/Function;\n+   #96 = InterfaceMethodref #97.#98       // java/util/Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;\n+   #97 = Class              #99           // java/util/Map\n+   #98 = NameAndType        #100:#101     // computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;\n+   #99 = Utf8               java/util/Map\n+  #100 = Utf8               computeIfAbsent\n+  #101 = Utf8               (Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;\n+  #102 = Class              #103          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n+  #103 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n+  #104 = Methodref          #86.#105      // dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n+  #105 = NameAndType        #106:#54      // id:()Ljava/lang/String;\n+  #106 = Utf8               id\n+  #107 = Methodref          #102.#108     // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$000:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+  #108 = NameAndType        #109:#110     // access$000:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+  #109 = Utf8               access$000\n+  #110 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+  #111 = Methodref          #86.#112      // dev/ai4j/openai4j/chat/ToolCall.function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #112 = NameAndType        #113:#74      // function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #113 = Utf8               function\n+  #114 = Methodref          #102.#115     // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$100:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+  #115 = NameAndType        #116:#110     // access$100:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+  #116 = Utf8               access$100\n+  #117 = Methodref          #102.#118     // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$200:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+  #118 = NameAndType        #119:#110     // access$200:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+  #119 = Utf8               access$200\n+  #120 = Methodref          #121.#35      // dev/ai4j/openai4j/completion/CompletionResponse.choices:()Ljava/util/List;\n+  #121 = Class              #122          // dev/ai4j/openai4j/completion/CompletionResponse\n+  #122 = Utf8               dev/ai4j/openai4j/completion/CompletionResponse\n+  #123 = Class              #124          // dev/ai4j/openai4j/completion/CompletionChoice\n+  #124 = Utf8               dev/ai4j/openai4j/completion/CompletionChoice\n+  #125 = Methodref          #123.#52      // dev/ai4j/openai4j/completion/CompletionChoice.finishReason:()Ljava/lang/String;\n+  #126 = Methodref          #123.#127     // dev/ai4j/openai4j/completion/CompletionChoice.text:()Ljava/lang/String;\n+  #127 = NameAndType        #128:#54      // text:()Ljava/lang/String;\n+  #128 = Utf8               text\n+  #129 = Methodref          #7.#130       // java/lang/StringBuffer.toString:()Ljava/lang/String;\n+  #130 = NameAndType        #131:#54      // toString:()Ljava/lang/String;\n+  #131 = Utf8               toString\n+  #132 = Methodref          #133.#41      // java/lang/String.isEmpty:()Z\n+  #133 = Class              #134          // java/lang/String\n+  #134 = Utf8               java/lang/String\n+  #135 = Methodref          #136.#137     // dev/langchain4j/data/message/AiMessage.from:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n+  #136 = Class              #138          // dev/langchain4j/data/message/AiMessage\n+  #137 = NameAndType        #139:#140     // from:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n+  #138 = Utf8               dev/langchain4j/data/message/AiMessage\n+  #139 = Utf8               from\n+  #140 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n+  #141 = Methodref          #11.#142      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.tokenUsage:(Ljava/lang/String;Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/output/TokenUsage;\n+  #142 = NameAndType        #143:#144     // tokenUsage:(Ljava/lang/String;Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/output/TokenUsage;\n+  #143 = Utf8               tokenUsage\n+  #144 = Utf8               (Ljava/lang/String;Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/output/TokenUsage;\n+  #145 = Methodref          #146.#147     // dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #146 = Class              #148          // dev/langchain4j/model/openai/InternalOpenAiHelper\n+  #147 = NameAndType        #149:#150     // finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #148 = Utf8               dev/langchain4j/model/openai/InternalOpenAiHelper\n+  #149 = Utf8               finishReasonFrom\n+  #150 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+  #151 = Methodref          #152.#153     // dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+  #152 = Class              #154          // dev/langchain4j/model/output/Response\n+  #153 = NameAndType        #139:#155     // from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+  #154 = Utf8               dev/langchain4j/model/output/Response\n+  #155 = Utf8               (Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+  #156 = Methodref          #157.#158     // dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #157 = Class              #159          // dev/langchain4j/agent/tool/ToolExecutionRequest\n+  #158 = NameAndType        #160:#161     // builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #159 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest\n+  #160 = Utf8               builder\n+  #161 = Utf8               ()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #162 = Methodref          #163.#164     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #163 = Class              #165          // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder\n+  #164 = NameAndType        #79:#166      // name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #165 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest$Builder\n+  #166 = Utf8               (Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #167 = Methodref          #163.#168     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #168 = NameAndType        #82:#166      // arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #169 = Methodref          #163.#170     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #170 = NameAndType        #171:#172     // build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #171 = Utf8               build\n+  #172 = Utf8               ()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #173 = Methodref          #136.#174     // dev/langchain4j/data/message/AiMessage.from:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n+  #174 = NameAndType        #139:#175     // from:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n+  #175 = Utf8               ([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n+  #176 = Methodref          #177.#178     // java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+  #177 = Class              #179          // java/util/Collections\n+  #178 = NameAndType        #180:#181     // singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+  #179 = Utf8               java/util/Collections\n+  #180 = Utf8               singletonList\n+  #181 = Utf8               (Ljava/lang/Object;)Ljava/util/List;\n+  #182 = Methodref          #11.#183      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.tokenUsage:(Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n+  #183 = NameAndType        #143:#184     // tokenUsage:(Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n+  #184 = Utf8               (Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n+  #185 = InterfaceMethodref #97.#41       // java/util/Map.isEmpty:()Z\n+  #186 = InterfaceMethodref #97.#187      // java/util/Map.values:()Ljava/util/Collection;\n+  #187 = NameAndType        #188:#189     // values:()Ljava/util/Collection;\n+  #188 = Utf8               values\n+  #189 = Utf8               ()Ljava/util/Collection;\n+  #190 = InterfaceMethodref #191.#192     // java/util/Collection.stream:()Ljava/util/stream/Stream;\n+  #191 = Class              #193          // java/util/Collection\n+  #192 = NameAndType        #194:#195     // stream:()Ljava/util/stream/Stream;\n+  #193 = Utf8               java/util/Collection\n+  #194 = Utf8               stream\n+  #195 = Utf8               ()Ljava/util/stream/Stream;\n+  #196 = InvokeDynamic      #1:#93        // #1:apply:()Ljava/util/function/Function;\n+  #197 = InterfaceMethodref #198.#199     // java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+  #198 = Class              #200          // java/util/stream/Stream\n+  #199 = NameAndType        #201:#202     // map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+  #200 = Utf8               java/util/stream/Stream\n+  #201 = Utf8               map\n+  #202 = Utf8               (Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+  #203 = Methodref          #204.#205     // java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+  #204 = Class              #206          // java/util/stream/Collectors\n+  #205 = NameAndType        #207:#208     // toList:()Ljava/util/stream/Collector;\n+  #206 = Utf8               java/util/stream/Collectors\n+  #207 = Utf8               toList\n+  #208 = Utf8               ()Ljava/util/stream/Collector;\n+  #209 = InterfaceMethodref #198.#210     // java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+  #210 = NameAndType        #211:#212     // collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+  #211 = Utf8               collect\n+  #212 = Utf8               (Ljava/util/stream/Collector;)Ljava/lang/Object;\n+  #213 = Methodref          #136.#214     // dev/langchain4j/data/message/AiMessage.from:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n+  #214 = NameAndType        #139:#215     // from:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n+  #215 = Utf8               (Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n+  #216 = InterfaceMethodref #217.#218     // dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n+  #217 = Class              #219          // dev/langchain4j/model/Tokenizer\n+  #218 = NameAndType        #220:#221     // estimateTokenCountInText:(Ljava/lang/String;)I\n+  #219 = Utf8               dev/langchain4j/model/Tokenizer\n+  #220 = Utf8               estimateTokenCountInText\n+  #221 = Utf8               (Ljava/lang/String;)I\n+  #222 = Class              #223          // dev/langchain4j/model/output/TokenUsage\n+  #223 = Utf8               dev/langchain4j/model/output/TokenUsage\n+  #224 = Methodref          #225.#226     // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+  #225 = Class              #227          // java/lang/Integer\n+  #226 = NameAndType        #228:#229     // valueOf:(I)Ljava/lang/Integer;\n+  #227 = Utf8               java/lang/Integer\n+  #228 = Utf8               valueOf\n+  #229 = Utf8               (I)Ljava/lang/Integer;\n+  #230 = Methodref          #222.#231     // dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;)V\n+  #231 = NameAndType        #5:#232       // \"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;)V\n+  #232 = Utf8               (Ljava/lang/Integer;Ljava/lang/Integer;)V\n+  #233 = InterfaceMethodref #40.#234      // java/util/List.iterator:()Ljava/util/Iterator;\n+  #234 = NameAndType        #235:#236     // iterator:()Ljava/util/Iterator;\n+  #235 = Utf8               iterator\n+  #236 = Utf8               ()Ljava/util/Iterator;\n+  #237 = InterfaceMethodref #238.#239     // java/util/Iterator.hasNext:()Z\n+  #238 = Class              #240          // java/util/Iterator\n+  #239 = NameAndType        #241:#44      // hasNext:()Z\n+  #240 = Utf8               java/util/Iterator\n+  #241 = Utf8               hasNext\n+  #242 = InterfaceMethodref #238.#243     // java/util/Iterator.next:()Ljava/lang/Object;\n+  #243 = NameAndType        #244:#245     // next:()Ljava/lang/Object;\n+  #244 = Utf8               next\n+  #245 = Utf8               ()Ljava/lang/Object;\n+  #246 = InterfaceMethodref #217.#247     // dev/langchain4j/model/Tokenizer.estimateTokenCountInForcefulToolExecutionRequest:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n+  #247 = NameAndType        #248:#249     // estimateTokenCountInForcefulToolExecutionRequest:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n+  #248 = Utf8               estimateTokenCountInForcefulToolExecutionRequest\n+  #249 = Utf8               (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n+  #250 = InterfaceMethodref #217.#251     // dev/langchain4j/model/Tokenizer.estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n+  #251 = NameAndType        #252:#253     // estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n+  #252 = Utf8               estimateTokenCountInToolExecutionRequests\n+  #253 = Utf8               (Ljava/lang/Iterable;)I\n+  #254 = Methodref          #163.#255     // dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #255 = NameAndType        #106:#166     // id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+  #256 = Methodref          #102.#257     // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.\"<init>\":(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n+  #257 = NameAndType        #5:#258       // \"<init>\":(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n+  #258 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n+  #259 = Utf8               Signature\n+  #260 = Utf8               Ljava/util/Map<Ljava/lang/Integer;Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;>;\n+  #261 = Utf8               (Ljava/lang/Integer;)V\n+  #262 = Utf8               Code\n+  #263 = Utf8               LineNumberTable\n+  #264 = Utf8               LocalVariableTable\n+  #265 = Utf8               this\n+  #266 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder;\n+  #267 = Utf8               (Ldev/ai4j/openai4j/chat/ChatCompletionResponse;)V\n+  #268 = Utf8               Ldev/ai4j/openai4j/chat/FunctionCall;\n+  #269 = Utf8               toolCall\n+  #270 = Utf8               Ldev/ai4j/openai4j/chat/ToolCall;\n+  #271 = Utf8               toolExecutionRequestBuilder\n+  #272 = Utf8               Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n+  #273 = Utf8               partialResponse\n+  #274 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionResponse;\n+  #275 = Utf8               Ljava/util/List;\n+  #276 = Utf8               chatCompletionChoice\n+  #277 = Utf8               Ldev/ai4j/openai4j/chat/ChatCompletionChoice;\n+  #278 = Utf8               Ldev/ai4j/openai4j/chat/Delta;\n+  #279 = Utf8               LocalVariableTypeTable\n+  #280 = Utf8               Ljava/util/List<Ldev/ai4j/openai4j/chat/ChatCompletionChoice;>;\n+  #281 = Utf8               StackMapTable\n+  #282 = Utf8               (Ldev/ai4j/openai4j/completion/CompletionResponse;)V\n+  #283 = Utf8               Ldev/ai4j/openai4j/completion/CompletionResponse;\n+  #284 = Utf8               completionChoice\n+  #285 = Utf8               Ldev/ai4j/openai4j/completion/CompletionChoice;\n+  #286 = Utf8               token\n+  #287 = Utf8               Ljava/util/List<Ldev/ai4j/openai4j/completion/CompletionChoice;>;\n+  #288 = Utf8               (Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/Response;\n+  #289 = Utf8               toolExecutionRequest\n+  #290 = Utf8               Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #291 = Utf8               toolExecutionRequests\n+  #292 = Utf8               tokenizer\n+  #293 = Utf8               Ldev/langchain4j/model/Tokenizer;\n+  #294 = Utf8               forcefulToolExecution\n+  #295 = Utf8               Z\n+  #296 = Utf8               toolName\n+  #297 = Utf8               Ljava/util/List<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;\n+  #298 = Utf8               (Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+  #299 = Utf8               outputTokenCount\n+  #300 = Utf8               I\n+  #301 = Utf8               (Ljava/util/List<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n+  #302 = Utf8               lambda$build$1\n+  #303 = Utf8               (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #304 = Utf8               it\n+  #305 = Utf8               lambda$append$0\n+  #306 = Utf8               (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n+  #307 = Utf8               idx\n+  #308 = Utf8               SourceFile\n+  #309 = Utf8               OpenAiStreamingResponseBuilder.java\n+  #310 = Utf8               BootstrapMethods\n+  #311 = MethodHandle       6:#312        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #312 = Methodref          #313.#314     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #313 = Class              #315          // java/lang/invoke/LambdaMetafactory\n+  #314 = NameAndType        #316:#317     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #315 = Utf8               java/lang/invoke/LambdaMetafactory\n+  #316 = Utf8               metafactory\n+  #317 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #318 = MethodType         #319          //  (Ljava/lang/Object;)Ljava/lang/Object;\n+  #319 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n+  #320 = MethodHandle       6:#321        // REF_invokeStatic dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$append$0:(Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n+  #321 = Methodref          #11.#322      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$append$0:(Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n+  #322 = NameAndType        #305:#306     // lambda$append$0:(Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n+  #323 = MethodType         #306          //  (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n+  #324 = MethodHandle       6:#325        // REF_invokeStatic dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$build$1:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #325 = Methodref          #11.#326      // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$build$1:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #326 = NameAndType        #302:#303     // lambda$build$1:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #327 = MethodType         #303          //  (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #328 = Utf8               InnerClasses\n+  #329 = Utf8               ToolExecutionRequestBuilder\n+  #330 = Utf8               Builder\n+  #331 = Class              #332          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n+  #332 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n+  #333 = Class              #334          // java/lang/invoke/MethodHandles$Lookup\n+  #334 = Utf8               java/lang/invoke/MethodHandles$Lookup\n+  #335 = Class              #336          // java/lang/invoke/MethodHandles\n+  #336 = Utf8               java/lang/invoke/MethodHandles\n+  #337 = Utf8               Lookup\n {\n   private final java.lang.StringBuffer contentBuilder;\n     descriptor: Ljava/lang/StringBuffer;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.lang.StringBuffer toolNameBuilder;\n     descriptor: Ljava/lang/StringBuffer;\n@@ -366,15 +357,15 @@\n   private final java.lang.StringBuffer toolArgumentsBuilder;\n     descriptor: Ljava/lang/StringBuffer;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.util.Map<java.lang.Integer, dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder> indexToToolExecutionRequestBuilder;\n     descriptor: Ljava/util/Map;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n-    Signature: #84                          // Ljava/util/Map<Ljava/lang/Integer;Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;>;\n+    Signature: #260                         // Ljava/util/Map<Ljava/lang/Integer;Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;>;\n \n   private volatile java.lang.String finishReason;\n     descriptor: Ljava/lang/String;\n     flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE\n \n   private final java.lang.Integer inputTokenCount;\n     descriptor: Ljava/lang/Integer;\n@@ -384,36 +375,36 @@\n     descriptor: (Ljava/lang/Integer;)V\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=2, args_size=2\n          0: aload_0\n          1: invokespecial #1                  // Method java/lang/Object.\"<init>\":()V\n          4: aload_0\n-         5: new           #2                  // class java/lang/StringBuffer\n+         5: new           #7                  // class java/lang/StringBuffer\n          8: dup\n-         9: invokespecial #3                  // Method java/lang/StringBuffer.\"<init>\":()V\n-        12: putfield      #4                  // Field contentBuilder:Ljava/lang/StringBuffer;\n+         9: invokespecial #9                  // Method java/lang/StringBuffer.\"<init>\":()V\n+        12: putfield      #10                 // Field contentBuilder:Ljava/lang/StringBuffer;\n         15: aload_0\n-        16: new           #2                  // class java/lang/StringBuffer\n+        16: new           #7                  // class java/lang/StringBuffer\n         19: dup\n-        20: invokespecial #3                  // Method java/lang/StringBuffer.\"<init>\":()V\n-        23: putfield      #5                  // Field toolNameBuilder:Ljava/lang/StringBuffer;\n+        20: invokespecial #9                  // Method java/lang/StringBuffer.\"<init>\":()V\n+        23: putfield      #16                 // Field toolNameBuilder:Ljava/lang/StringBuffer;\n         26: aload_0\n-        27: new           #2                  // class java/lang/StringBuffer\n+        27: new           #7                  // class java/lang/StringBuffer\n         30: dup\n-        31: invokespecial #3                  // Method java/lang/StringBuffer.\"<init>\":()V\n-        34: putfield      #6                  // Field toolArgumentsBuilder:Ljava/lang/StringBuffer;\n+        31: invokespecial #9                  // Method java/lang/StringBuffer.\"<init>\":()V\n+        34: putfield      #19                 // Field toolArgumentsBuilder:Ljava/lang/StringBuffer;\n         37: aload_0\n-        38: new           #7                  // class java/util/concurrent/ConcurrentHashMap\n+        38: new           #22                 // class java/util/concurrent/ConcurrentHashMap\n         41: dup\n-        42: invokespecial #8                  // Method java/util/concurrent/ConcurrentHashMap.\"<init>\":()V\n-        45: putfield      #9                  // Field indexToToolExecutionRequestBuilder:Ljava/util/Map;\n+        42: invokespecial #24                 // Method java/util/concurrent/ConcurrentHashMap.\"<init>\":()V\n+        45: putfield      #25                 // Field indexToToolExecutionRequestBuilder:Ljava/util/Map;\n         48: aload_0\n         49: aload_1\n-        50: putfield      #10                 // Field inputTokenCount:Ljava/lang/Integer;\n+        50: putfield      #29                 // Field inputTokenCount:Ljava/lang/Integer;\n         53: return\n       LineNumberTable:\n         line 38: 0\n         line 27: 4\n         line 29: 15\n         line 30: 26\n         line 32: 37\n@@ -429,129 +420,129 @@\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=10, args_size=2\n          0: aload_1\n          1: ifnonnull     5\n          4: return\n          5: aload_1\n-         6: invokevirtual #11                 // Method dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n+         6: invokevirtual #33                 // Method dev/ai4j/openai4j/chat/ChatCompletionResponse.choices:()Ljava/util/List;\n          9: astore_2\n         10: aload_2\n         11: ifnull        23\n         14: aload_2\n-        15: invokeinterface #12,  1           // InterfaceMethod java/util/List.isEmpty:()Z\n+        15: invokeinterface #39,  1           // InterfaceMethod java/util/List.isEmpty:()Z\n         20: ifeq          24\n         23: return\n         24: aload_2\n         25: iconst_0\n-        26: invokeinterface #13,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n-        31: checkcast     #14                 // class dev/ai4j/openai4j/chat/ChatCompletionChoice\n+        26: invokeinterface #45,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n+        31: checkcast     #49                 // class dev/ai4j/openai4j/chat/ChatCompletionChoice\n         34: astore_3\n         35: aload_3\n         36: ifnonnull     40\n         39: return\n         40: aload_3\n-        41: invokevirtual #15                 // Method dev/ai4j/openai4j/chat/ChatCompletionChoice.finishReason:()Ljava/lang/String;\n+        41: invokevirtual #51                 // Method dev/ai4j/openai4j/chat/ChatCompletionChoice.finishReason:()Ljava/lang/String;\n         44: astore        4\n         46: aload         4\n         48: ifnull        57\n         51: aload_0\n         52: aload         4\n-        54: putfield      #16                 // Field finishReason:Ljava/lang/String;\n+        54: putfield      #55                 // Field finishReason:Ljava/lang/String;\n         57: aload_3\n-        58: invokevirtual #17                 // Method dev/ai4j/openai4j/chat/ChatCompletionChoice.delta:()Ldev/ai4j/openai4j/chat/Delta;\n+        58: invokevirtual #58                 // Method dev/ai4j/openai4j/chat/ChatCompletionChoice.delta:()Ldev/ai4j/openai4j/chat/Delta;\n         61: astore        5\n         63: aload         5\n         65: ifnonnull     69\n         68: return\n         69: aload         5\n-        71: invokevirtual #18                 // Method dev/ai4j/openai4j/chat/Delta.content:()Ljava/lang/String;\n+        71: invokevirtual #62                 // Method dev/ai4j/openai4j/chat/Delta.content:()Ljava/lang/String;\n         74: astore        6\n         76: aload         6\n         78: ifnull        92\n         81: aload_0\n-        82: getfield      #4                  // Field contentBuilder:Ljava/lang/StringBuffer;\n+        82: getfield      #10                 // Field contentBuilder:Ljava/lang/StringBuffer;\n         85: aload         6\n-        87: invokevirtual #19                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n+        87: invokevirtual #67                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n         90: pop\n         91: return\n         92: aload         5\n-        94: invokevirtual #20                 // Method dev/ai4j/openai4j/chat/Delta.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+        94: invokevirtual #71                 // Method dev/ai4j/openai4j/chat/Delta.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n         97: ifnull        149\n        100: aload         5\n-       102: invokevirtual #20                 // Method dev/ai4j/openai4j/chat/Delta.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+       102: invokevirtual #71                 // Method dev/ai4j/openai4j/chat/Delta.functionCall:()Ldev/ai4j/openai4j/chat/FunctionCall;\n        105: astore        7\n        107: aload         7\n-       109: invokevirtual #21                 // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n+       109: invokevirtual #75                 // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n        112: ifnull        128\n        115: aload_0\n-       116: getfield      #5                  // Field toolNameBuilder:Ljava/lang/StringBuffer;\n+       116: getfield      #16                 // Field toolNameBuilder:Ljava/lang/StringBuffer;\n        119: aload         7\n-       121: invokevirtual #21                 // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n-       124: invokevirtual #19                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n+       121: invokevirtual #75                 // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n+       124: invokevirtual #67                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n        127: pop\n        128: aload         7\n-       130: invokevirtual #22                 // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n+       130: invokevirtual #80                 // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n        133: ifnull        149\n        136: aload_0\n-       137: getfield      #6                  // Field toolArgumentsBuilder:Ljava/lang/StringBuffer;\n+       137: getfield      #19                 // Field toolArgumentsBuilder:Ljava/lang/StringBuffer;\n        140: aload         7\n-       142: invokevirtual #22                 // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n-       145: invokevirtual #19                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n+       142: invokevirtual #80                 // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n+       145: invokevirtual #67                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n        148: pop\n        149: aload         5\n-       151: invokevirtual #23                 // Method dev/ai4j/openai4j/chat/Delta.toolCalls:()Ljava/util/List;\n+       151: invokevirtual #83                 // Method dev/ai4j/openai4j/chat/Delta.toolCalls:()Ljava/util/List;\n        154: ifnull        283\n        157: aload         5\n-       159: invokevirtual #23                 // Method dev/ai4j/openai4j/chat/Delta.toolCalls:()Ljava/util/List;\n-       162: invokeinterface #12,  1           // InterfaceMethod java/util/List.isEmpty:()Z\n+       159: invokevirtual #83                 // Method dev/ai4j/openai4j/chat/Delta.toolCalls:()Ljava/util/List;\n+       162: invokeinterface #39,  1           // InterfaceMethod java/util/List.isEmpty:()Z\n        167: ifne          283\n        170: aload         5\n-       172: invokevirtual #23                 // Method dev/ai4j/openai4j/chat/Delta.toolCalls:()Ljava/util/List;\n+       172: invokevirtual #83                 // Method dev/ai4j/openai4j/chat/Delta.toolCalls:()Ljava/util/List;\n        175: iconst_0\n-       176: invokeinterface #13,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n-       181: checkcast     #24                 // class dev/ai4j/openai4j/chat/ToolCall\n+       176: invokeinterface #45,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n+       181: checkcast     #86                 // class dev/ai4j/openai4j/chat/ToolCall\n        184: astore        7\n        186: aload_0\n-       187: getfield      #9                  // Field indexToToolExecutionRequestBuilder:Ljava/util/Map;\n+       187: getfield      #25                 // Field indexToToolExecutionRequestBuilder:Ljava/util/Map;\n        190: aload         7\n-       192: invokevirtual #25                 // Method dev/ai4j/openai4j/chat/ToolCall.index:()Ljava/lang/Integer;\n-       195: invokedynamic #26,  0             // InvokeDynamic #0:apply:()Ljava/util/function/Function;\n-       200: invokeinterface #27,  3           // InterfaceMethod java/util/Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;\n-       205: checkcast     #28                 // class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n+       192: invokevirtual #88                 // Method dev/ai4j/openai4j/chat/ToolCall.index:()Ljava/lang/Integer;\n+       195: invokedynamic #92,  0             // InvokeDynamic #0:apply:()Ljava/util/function/Function;\n+       200: invokeinterface #96,  3           // InterfaceMethod java/util/Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;\n+       205: checkcast     #102                // class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n        208: astore        8\n        210: aload         7\n-       212: invokevirtual #29                 // Method dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n+       212: invokevirtual #104                // Method dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n        215: ifnull        232\n        218: aload         8\n-       220: invokestatic  #30                 // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$000:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+       220: invokestatic  #107                // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$000:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n        223: aload         7\n-       225: invokevirtual #29                 // Method dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n-       228: invokevirtual #19                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n+       225: invokevirtual #104                // Method dev/ai4j/openai4j/chat/ToolCall.id:()Ljava/lang/String;\n+       228: invokevirtual #67                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n        231: pop\n        232: aload         7\n-       234: invokevirtual #31                 // Method dev/ai4j/openai4j/chat/ToolCall.function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n+       234: invokevirtual #111                // Method dev/ai4j/openai4j/chat/ToolCall.function:()Ldev/ai4j/openai4j/chat/FunctionCall;\n        237: astore        9\n        239: aload         9\n-       241: invokevirtual #21                 // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n+       241: invokevirtual #75                 // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n        244: ifnull        261\n        247: aload         8\n-       249: invokestatic  #32                 // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$100:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+       249: invokestatic  #114                // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$100:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n        252: aload         9\n-       254: invokevirtual #21                 // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n-       257: invokevirtual #19                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n+       254: invokevirtual #75                 // Method dev/ai4j/openai4j/chat/FunctionCall.name:()Ljava/lang/String;\n+       257: invokevirtual #67                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n        260: pop\n        261: aload         9\n-       263: invokevirtual #22                 // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n+       263: invokevirtual #80                 // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n        266: ifnull        283\n        269: aload         8\n-       271: invokestatic  #33                 // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$200:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+       271: invokestatic  #117                // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$200:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n        274: aload         9\n-       276: invokevirtual #22                 // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n-       279: invokevirtual #19                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n+       276: invokevirtual #80                 // Method dev/ai4j/openai4j/chat/FunctionCall.arguments:()Ljava/lang/String;\n+       279: invokevirtual #67                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n        282: pop\n        283: return\n       LineNumberTable:\n         line 43: 0\n         line 44: 4\n         line 47: 5\n         line 48: 10\n@@ -640,47 +631,47 @@\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=6, args_size=2\n          0: aload_1\n          1: ifnonnull     5\n          4: return\n          5: aload_1\n-         6: invokevirtual #34                 // Method dev/ai4j/openai4j/completion/CompletionResponse.choices:()Ljava/util/List;\n+         6: invokevirtual #120                // Method dev/ai4j/openai4j/completion/CompletionResponse.choices:()Ljava/util/List;\n          9: astore_2\n         10: aload_2\n         11: ifnull        23\n         14: aload_2\n-        15: invokeinterface #12,  1           // InterfaceMethod java/util/List.isEmpty:()Z\n+        15: invokeinterface #39,  1           // InterfaceMethod java/util/List.isEmpty:()Z\n         20: ifeq          24\n         23: return\n         24: aload_2\n         25: iconst_0\n-        26: invokeinterface #13,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n-        31: checkcast     #35                 // class dev/ai4j/openai4j/completion/CompletionChoice\n+        26: invokeinterface #45,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n+        31: checkcast     #123                // class dev/ai4j/openai4j/completion/CompletionChoice\n         34: astore_3\n         35: aload_3\n         36: ifnonnull     40\n         39: return\n         40: aload_3\n-        41: invokevirtual #36                 // Method dev/ai4j/openai4j/completion/CompletionChoice.finishReason:()Ljava/lang/String;\n+        41: invokevirtual #125                // Method dev/ai4j/openai4j/completion/CompletionChoice.finishReason:()Ljava/lang/String;\n         44: astore        4\n         46: aload         4\n         48: ifnull        57\n         51: aload_0\n         52: aload         4\n-        54: putfield      #16                 // Field finishReason:Ljava/lang/String;\n+        54: putfield      #55                 // Field finishReason:Ljava/lang/String;\n         57: aload_3\n-        58: invokevirtual #37                 // Method dev/ai4j/openai4j/completion/CompletionChoice.text:()Ljava/lang/String;\n+        58: invokevirtual #126                // Method dev/ai4j/openai4j/completion/CompletionChoice.text:()Ljava/lang/String;\n         61: astore        5\n         63: aload         5\n         65: ifnull        78\n         68: aload_0\n-        69: getfield      #4                  // Field contentBuilder:Ljava/lang/StringBuffer;\n+        69: getfield      #10                 // Field contentBuilder:Ljava/lang/StringBuffer;\n         72: aload         5\n-        74: invokevirtual #19                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n+        74: invokevirtual #67                 // Method java/lang/StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;\n         77: pop\n         78: return\n       LineNumberTable:\n         line 108: 0\n         line 109: 4\n         line 112: 5\n         line 113: 10\n@@ -724,90 +715,90 @@\n \n   public dev.langchain4j.model.output.Response<dev.langchain4j.data.message.AiMessage> build(dev.langchain4j.model.Tokenizer, boolean);\n     descriptor: (Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/Response;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=5, locals=6, args_size=3\n          0: aload_0\n-         1: getfield      #4                  // Field contentBuilder:Ljava/lang/StringBuffer;\n-         4: invokevirtual #38                 // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n+         1: getfield      #10                 // Field contentBuilder:Ljava/lang/StringBuffer;\n+         4: invokevirtual #129                // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n          7: astore_3\n          8: aload_3\n-         9: invokevirtual #39                 // Method java/lang/String.isEmpty:()Z\n+         9: invokevirtual #132                // Method java/lang/String.isEmpty:()Z\n         12: ifne          36\n         15: aload_3\n-        16: invokestatic  #40                 // Method dev/langchain4j/data/message/AiMessage.from:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n+        16: invokestatic  #135                // Method dev/langchain4j/data/message/AiMessage.from:(Ljava/lang/String;)Ldev/langchain4j/data/message/AiMessage;\n         19: aload_0\n         20: aload_3\n         21: aload_1\n-        22: invokespecial #41                 // Method tokenUsage:(Ljava/lang/String;Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/output/TokenUsage;\n+        22: invokespecial #141                // Method tokenUsage:(Ljava/lang/String;Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/output/TokenUsage;\n         25: aload_0\n-        26: getfield      #16                 // Field finishReason:Ljava/lang/String;\n-        29: invokestatic  #42                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-        32: invokestatic  #43                 // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+        26: getfield      #55                 // Field finishReason:Ljava/lang/String;\n+        29: invokestatic  #145                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+        32: invokestatic  #151                // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n         35: areturn\n         36: aload_0\n-        37: getfield      #5                  // Field toolNameBuilder:Ljava/lang/StringBuffer;\n-        40: invokevirtual #38                 // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n+        37: getfield      #16                 // Field toolNameBuilder:Ljava/lang/StringBuffer;\n+        40: invokevirtual #129                // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n         43: astore        4\n         45: aload         4\n-        47: invokevirtual #39                 // Method java/lang/String.isEmpty:()Z\n+        47: invokevirtual #132                // Method java/lang/String.isEmpty:()Z\n         50: ifne          110\n-        53: invokestatic  #44                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        53: invokestatic  #156                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n         56: aload         4\n-        58: invokevirtual #45                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        58: invokevirtual #162                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n         61: aload_0\n-        62: getfield      #6                  // Field toolArgumentsBuilder:Ljava/lang/StringBuffer;\n-        65: invokevirtual #38                 // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n-        68: invokevirtual #46                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-        71: invokevirtual #47                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+        62: getfield      #19                 // Field toolArgumentsBuilder:Ljava/lang/StringBuffer;\n+        65: invokevirtual #129                // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n+        68: invokevirtual #167                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        71: invokevirtual #169                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n         74: astore        5\n         76: iconst_1\n-        77: anewarray     #48                 // class dev/langchain4j/agent/tool/ToolExecutionRequest\n+        77: anewarray     #157                // class dev/langchain4j/agent/tool/ToolExecutionRequest\n         80: dup\n         81: iconst_0\n         82: aload         5\n         84: aastore\n-        85: invokestatic  #49                 // Method dev/langchain4j/data/message/AiMessage.from:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n+        85: invokestatic  #173                // Method dev/langchain4j/data/message/AiMessage.from:([Ldev/langchain4j/agent/tool/ToolExecutionRequest;)Ldev/langchain4j/data/message/AiMessage;\n         88: aload_0\n         89: aload         5\n-        91: invokestatic  #50                 // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+        91: invokestatic  #176                // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n         94: aload_1\n         95: iload_2\n-        96: invokespecial #51                 // Method tokenUsage:(Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n+        96: invokespecial #182                // Method tokenUsage:(Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n         99: aload_0\n-       100: getfield      #16                 // Field finishReason:Ljava/lang/String;\n-       103: invokestatic  #42                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-       106: invokestatic  #43                 // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+       100: getfield      #55                 // Field finishReason:Ljava/lang/String;\n+       103: invokestatic  #145                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+       106: invokestatic  #151                // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n        109: areturn\n        110: aload_0\n-       111: getfield      #9                  // Field indexToToolExecutionRequestBuilder:Ljava/util/Map;\n-       114: invokeinterface #52,  1           // InterfaceMethod java/util/Map.isEmpty:()Z\n+       111: getfield      #25                 // Field indexToToolExecutionRequestBuilder:Ljava/util/Map;\n+       114: invokeinterface #185,  1          // InterfaceMethod java/util/Map.isEmpty:()Z\n        119: ifne          183\n        122: aload_0\n-       123: getfield      #9                  // Field indexToToolExecutionRequestBuilder:Ljava/util/Map;\n-       126: invokeinterface #53,  1           // InterfaceMethod java/util/Map.values:()Ljava/util/Collection;\n-       131: invokeinterface #54,  1           // InterfaceMethod java/util/Collection.stream:()Ljava/util/stream/Stream;\n-       136: invokedynamic #55,  0             // InvokeDynamic #1:apply:()Ljava/util/function/Function;\n-       141: invokeinterface #56,  2           // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n-       146: invokestatic  #57                 // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n-       149: invokeinterface #58,  2           // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n-       154: checkcast     #59                 // class java/util/List\n+       123: getfield      #25                 // Field indexToToolExecutionRequestBuilder:Ljava/util/Map;\n+       126: invokeinterface #186,  1          // InterfaceMethod java/util/Map.values:()Ljava/util/Collection;\n+       131: invokeinterface #190,  1          // InterfaceMethod java/util/Collection.stream:()Ljava/util/stream/Stream;\n+       136: invokedynamic #196,  0            // InvokeDynamic #1:apply:()Ljava/util/function/Function;\n+       141: invokeinterface #197,  2          // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;\n+       146: invokestatic  #203                // Method java/util/stream/Collectors.toList:()Ljava/util/stream/Collector;\n+       149: invokeinterface #209,  2          // InterfaceMethod java/util/stream/Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;\n+       154: checkcast     #40                 // class java/util/List\n        157: astore        5\n        159: aload         5\n-       161: invokestatic  #60                 // Method dev/langchain4j/data/message/AiMessage.from:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n+       161: invokestatic  #213                // Method dev/langchain4j/data/message/AiMessage.from:(Ljava/util/List;)Ldev/langchain4j/data/message/AiMessage;\n        164: aload_0\n        165: aload         5\n        167: aload_1\n        168: iload_2\n-       169: invokespecial #51                 // Method tokenUsage:(Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n+       169: invokespecial #182                // Method tokenUsage:(Ljava/util/List;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n        172: aload_0\n-       173: getfield      #16                 // Field finishReason:Ljava/lang/String;\n-       176: invokestatic  #42                 // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n-       179: invokestatic  #43                 // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n+       173: getfield      #55                 // Field finishReason:Ljava/lang/String;\n+       176: invokestatic  #145                // Method dev/langchain4j/model/openai/InternalOpenAiHelper.finishReasonFrom:(Ljava/lang/String;)Ldev/langchain4j/model/output/FinishReason;\n+       179: invokestatic  #151                // Method dev/langchain4j/model/output/Response.from:(Ljava/lang/Object;Ldev/langchain4j/model/output/TokenUsage;Ldev/langchain4j/model/output/FinishReason;)Ldev/langchain4j/model/output/Response;\n        182: areturn\n        183: aconst_null\n        184: areturn\n       LineNumberTable:\n         line 135: 0\n         line 136: 8\n         line 137: 15\n@@ -853,36 +844,36 @@\n           offset_delta = 36\n           locals = [ class java/lang/String ]\n         frame_type = 252 /* append */\n           offset_delta = 73\n           locals = [ class java/lang/String ]\n         frame_type = 251 /* same_frame_extended */\n           offset_delta = 72\n-    Signature: #141                         // (Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n+    Signature: #298                         // (Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>;\n \n   private dev.langchain4j.model.output.TokenUsage tokenUsage(java.lang.String, dev.langchain4j.model.Tokenizer);\n     descriptor: (Ljava/lang/String;Ldev/langchain4j/model/Tokenizer;)Ldev/langchain4j/model/output/TokenUsage;\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=4, locals=4, args_size=3\n          0: aload_2\n          1: ifnonnull     6\n          4: aconst_null\n          5: areturn\n          6: aload_2\n          7: aload_1\n-         8: invokeinterface #61,  2           // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n+         8: invokeinterface #216,  2          // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n         13: istore_3\n-        14: new           #62                 // class dev/langchain4j/model/output/TokenUsage\n+        14: new           #222                // class dev/langchain4j/model/output/TokenUsage\n         17: dup\n         18: aload_0\n-        19: getfield      #10                 // Field inputTokenCount:Ljava/lang/Integer;\n+        19: getfield      #29                 // Field inputTokenCount:Ljava/lang/Integer;\n         22: iload_3\n-        23: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-        26: invokespecial #64                 // Method dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;)V\n+        23: invokestatic  #224                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+        26: invokespecial #230                // Method dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;)V\n         29: areturn\n       LineNumberTable:\n         line 176: 0\n         line 177: 4\n         line 179: 6\n         line 180: 14\n       LocalVariableTable:\n@@ -904,42 +895,42 @@\n          4: aconst_null\n          5: areturn\n          6: iconst_0\n          7: istore        4\n          9: iload_3\n         10: ifeq          62\n         13: aload_1\n-        14: invokeinterface #65,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;\n+        14: invokeinterface #233,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;\n         19: astore        5\n         21: aload         5\n-        23: invokeinterface #66,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n+        23: invokeinterface #237,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n         28: ifeq          59\n         31: aload         5\n-        33: invokeinterface #67,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-        38: checkcast     #48                 // class dev/langchain4j/agent/tool/ToolExecutionRequest\n+        33: invokeinterface #242,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+        38: checkcast     #157                // class dev/langchain4j/agent/tool/ToolExecutionRequest\n         41: astore        6\n         43: iload         4\n         45: aload_2\n         46: aload         6\n-        48: invokeinterface #68,  2           // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInForcefulToolExecutionRequest:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n+        48: invokeinterface #246,  2          // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInForcefulToolExecutionRequest:(Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n         53: iadd\n         54: istore        4\n         56: goto          21\n         59: goto          71\n         62: aload_2\n         63: aload_1\n-        64: invokeinterface #69,  2           // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n+        64: invokeinterface #250,  2          // InterfaceMethod dev/langchain4j/model/Tokenizer.estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n         69: istore        4\n-        71: new           #62                 // class dev/langchain4j/model/output/TokenUsage\n+        71: new           #222                // class dev/langchain4j/model/output/TokenUsage\n         74: dup\n         75: aload_0\n-        76: getfield      #10                 // Field inputTokenCount:Ljava/lang/Integer;\n+        76: getfield      #29                 // Field inputTokenCount:Ljava/lang/Integer;\n         79: iload         4\n-        81: invokestatic  #63                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n-        84: invokespecial #64                 // Method dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;)V\n+        81: invokestatic  #224                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;\n+        84: invokespecial #230                // Method dev/langchain4j/model/output/TokenUsage.\"<init>\":(Ljava/lang/Integer;Ljava/lang/Integer;)V\n         87: areturn\n       LineNumberTable:\n         line 184: 0\n         line 185: 4\n         line 188: 6\n         line 189: 9\n         line 191: 13\n@@ -963,35 +954,35 @@\n         frame_type = 253 /* append */\n           offset_delta = 14\n           locals = [ int, class java/util/Iterator ]\n         frame_type = 250 /* chop */\n           offset_delta = 37\n         frame_type = 2 /* same */\n         frame_type = 8 /* same */\n-    Signature: #148                         // (Ljava/util/List<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n+    Signature: #301                         // (Ljava/util/List<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;Ldev/langchain4j/model/Tokenizer;Z)Ldev/langchain4j/model/output/TokenUsage;\n \n   private static dev.langchain4j.agent.tool.ToolExecutionRequest lambda$build$1(dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder);\n     descriptor: (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n     flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n     Code:\n       stack=2, locals=1, args_size=1\n-         0: invokestatic  #44                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+         0: invokestatic  #156                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.builder:()Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n          3: aload_0\n-         4: invokestatic  #30                 // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$000:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-         7: invokevirtual #38                 // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n-        10: invokevirtual #70                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+         4: invokestatic  #107                // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$000:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+         7: invokevirtual #129                // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n+        10: invokevirtual #254                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.id:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n         13: aload_0\n-        14: invokestatic  #32                 // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$100:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-        17: invokevirtual #38                 // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n-        20: invokevirtual #45                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        14: invokestatic  #114                // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$100:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+        17: invokevirtual #129                // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n+        20: invokevirtual #162                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.name:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n         23: aload_0\n-        24: invokestatic  #33                 // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$200:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n-        27: invokevirtual #38                 // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n-        30: invokevirtual #46                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n-        33: invokevirtual #47                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+        24: invokestatic  #117                // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.access$200:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ljava/lang/StringBuffer;\n+        27: invokevirtual #129                // Method java/lang/StringBuffer.toString:()Ljava/lang/String;\n+        30: invokevirtual #167                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.arguments:(Ljava/lang/String;)Ldev/langchain4j/agent/tool/ToolExecutionRequest$Builder;\n+        33: invokevirtual #169                // Method dev/langchain4j/agent/tool/ToolExecutionRequest$Builder.build:()Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n         36: areturn\n       LineNumberTable:\n         line 159: 0\n         line 160: 4\n         line 161: 14\n         line 162: 24\n         line 163: 33\n@@ -1001,35 +992,35 @@\n             0      37     0    it   Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n \n   private static dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder lambda$append$0(java.lang.Integer);\n     descriptor: (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n     flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC\n     Code:\n       stack=3, locals=1, args_size=1\n-         0: new           #28                 // class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n+         0: new           #102                // class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder\n          3: dup\n          4: aconst_null\n-         5: invokespecial #71                 // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.\"<init>\":(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n+         5: invokespecial #256                // Method dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder.\"<init>\":(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1;)V\n          8: areturn\n       LineNumberTable:\n         line 89: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       9     0   idx   Ljava/lang/Integer;\n }\n SourceFile: \"OpenAiStreamingResponseBuilder.java\"\n-InnerClasses:\n-  static #74;                             // class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n-  private static #76= #28 of #72;         // ToolExecutionRequestBuilder=class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder of class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n-  public static final #294= #210 of #48;  // Builder=class dev/langchain4j/agent/tool/ToolExecutionRequest$Builder of class dev/langchain4j/agent/tool/ToolExecutionRequest\n-  public static final #342= #341 of #344; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n BootstrapMethods:\n-  0: #184 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  0: #311 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #185 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #186 REF_invokeStatic dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$append$0:(Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n-      #187 (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n-  1: #184 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+      #318 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #320 REF_invokeStatic dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$append$0:(Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n+      #323 (Ljava/lang/Integer;)Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;\n+  1: #311 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #185 (Ljava/lang/Object;)Ljava/lang/Object;\n-      #222 REF_invokeStatic dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$build$1:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-      #223 (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+      #318 (Ljava/lang/Object;)Ljava/lang/Object;\n+      #324 REF_invokeStatic dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder.lambda$build$1:(Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+      #327 (Ldev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder;)Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+InnerClasses:\n+  private static #329= #102 of #11;       // ToolExecutionRequestBuilder=class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$ToolExecutionRequestBuilder of class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+  public static final #330= #163 of #157; // Builder=class dev/langchain4j/agent/tool/ToolExecutionRequest$Builder of class dev/langchain4j/agent/tool/ToolExecutionRequest\n+  static #331;                            // class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n+  public static final #337= #333 of #335; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1.class", "source2": "dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,26 +1,26 @@\n-  SHA-256 checksum 8c7541b308260e18e8f09609a549d6cd0afb637948c1346052d275a7fe73c20b\n+  SHA-256 checksum ed9a5ec80d633f046666561a51936faeafc4859c1c94a1e1948d7ebf6af14e1f\n   Compiled from \"OpenAiStreamingResponseBuilder.java\"\n class dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder$1\n   minor version: 0\n   major version: 52\n   flags: (0x1020) ACC_SUPER, ACC_SYNTHETIC\n   this_class: #1                          // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n-  super_class: #2                         // java/lang/Object\n+  super_class: #3                         // java/lang/Object\n   interfaces: 0, fields: 0, methods: 0, attributes: 3\n Constant pool:\n-   #1 = Class              #7             // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n-   #2 = Class              #9             // java/lang/Object\n-   #3 = Utf8               SourceFile\n-   #4 = Utf8               OpenAiStreamingResponseBuilder.java\n-   #5 = Utf8               EnclosingMethod\n-   #6 = Class              #10            // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n-   #7 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n-   #8 = Utf8               InnerClasses\n-   #9 = Utf8               java/lang/Object\n-  #10 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+   #1 = Class              #2             // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n+   #2 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n+   #3 = Class              #4             // java/lang/Object\n+   #4 = Utf8               java/lang/Object\n+   #5 = Utf8               SourceFile\n+   #6 = Utf8               OpenAiStreamingResponseBuilder.java\n+   #7 = Utf8               EnclosingMethod\n+   #8 = Class              #9             // dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+   #9 = Utf8               dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder\n+  #10 = Utf8               InnerClasses\n {\n }\n SourceFile: \"OpenAiStreamingResponseBuilder.java\"\n-EnclosingMethod: #6.#0                  // dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder\n+EnclosingMethod: #8.#0                  // dev.langchain4j.model.openai.OpenAiStreamingResponseBuilder\n InnerClasses:\n   static #1;                              // class dev/langchain4j/model/openai/OpenAiStreamingResponseBuilder$1\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.class", "source2": "dev/langchain4j/model/openai/OpenAiStreamingLanguageModel.class", "unified_diff": null, "details": [{"source1": "procyon -ec {}", "source2": "procyon -ec {}", "unified_diff": "@@ -1,15 +1,17 @@\n \n package dev.langchain4j.model.openai;\n \n import dev.ai4j.openai4j.completion.CompletionResponse;\n import java.util.function.Supplier;\n import dev.langchain4j.spi.ServiceHelper;\n import dev.langchain4j.model.openai.spi.OpenAiStreamingLanguageModelBuilderFactory;\n+import dev.ai4j.openai4j.StreamingCompletionHandling;\n import java.util.function.Consumer;\n+import java.util.Objects;\n import dev.langchain4j.model.output.Response;\n import dev.langchain4j.data.message.AiMessage;\n import dev.ai4j.openai4j.completion.CompletionRequest;\n import dev.langchain4j.model.StreamingResponseHandler;\n import dev.langchain4j.internal.Utils;\n import java.net.Proxy;\n import java.time.Duration;\n@@ -33,24 +35,28 @@\n         this.tokenizer = (Tokenizer)Utils.getOrDefault((Object)tokenizer, () -> new OpenAiTokenizer(this.modelName));\n     }\n     \n     public void generate(final String prompt, final StreamingResponseHandler<String> handler) {\n         final CompletionRequest request = CompletionRequest.builder().model(this.modelName).prompt(prompt).temperature(this.temperature).build();\n         final int inputTokenCount = this.tokenizer.estimateTokenCountInText(prompt);\n         final OpenAiStreamingResponseBuilder responseBuilder = new OpenAiStreamingResponseBuilder(Integer.valueOf(inputTokenCount));\n-        this.client.completion(request).onPartialResponse(partialResponse -> {\n+        final StreamingCompletionHandling onComplete = this.client.completion(request).onPartialResponse(partialResponse -> {\n             responseBuilder.append(partialResponse);\n             final String token = partialResponse.text();\n             if (token != null) {\n                 handler.onNext(token);\n             }\n+            return;\n         }).onComplete(() -> {\n-            final Response<AiMessage> response = (Response<AiMessage>)responseBuilder.build(this.tokenizer, false);\n+            final Response<AiMessage> response = (Response<AiMessage>)responseBuilder.build(this.tokenizer, (boolean)(0 != 0));\n             handler.onComplete(Response.from((Object)((AiMessage)response.content()).text(), response.tokenUsage(), response.finishReason()));\n-        }).onError((Consumer)handler::onError).execute();\n+            return;\n+        });\n+        Objects.requireNonNull(handler);\n+        onComplete.onError((Consumer)handler::onError).execute();\n     }\n     \n     public int estimateTokenCount(final String prompt) {\n         return this.tokenizer.estimateTokenCountInText(prompt);\n     }\n     \n     public static OpenAiStreamingLanguageModel withApiKey(final String apiKey) {\n"}]}, {"source1": "dev/langchain4j/model/openai/OpenAiTokenizer.class", "source2": "dev/langchain4j/model/openai/OpenAiTokenizer.class", "unified_diff": null, "details": [{"source1": "javap -verbose -constants -s -l -private {}", "source2": "javap -verbose -constants -s -l -private {}", "unified_diff": "@@ -1,469 +1,459 @@\n-  SHA-256 checksum 1f6e7283517d1e22365829e899a900369a8883901ab2558ffe43a5976736a6a7\n+  SHA-256 checksum a4eaef526b454bae17ea0a2b685fda0752fd7365a9b5f5ba119ceaf1ff53caee\n   Compiled from \"OpenAiTokenizer.java\"\n public class dev.langchain4j.model.openai.OpenAiTokenizer implements dev.langchain4j.model.Tokenizer\n   minor version: 0\n   major version: 52\n   flags: (0x0021) ACC_PUBLIC, ACC_SUPER\n-  this_class: #103                        // dev/langchain4j/model/openai/OpenAiTokenizer\n-  super_class: #40                        // java/lang/Object\n+  this_class: #16                         // dev/langchain4j/model/openai/OpenAiTokenizer\n+  super_class: #2                         // java/lang/Object\n   interfaces: 1, fields: 2, methods: 24, attributes: 3\n Constant pool:\n-    #1 = Methodref          #40.#229      // java/lang/Object.\"<init>\":()V\n-    #2 = String             #105          // modelName\n-    #3 = Methodref          #230.#231     // dev/langchain4j/internal/ValidationUtils.ensureNotBlank:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;\n-    #4 = Fieldref           #103.#232     // dev/langchain4j/model/openai/OpenAiTokenizer.modelName:Ljava/lang/String;\n-    #5 = Methodref          #233.#234     // com/knuddels/jtokkit/Encodings.newLazyEncodingRegistry:()Lcom/knuddels/jtokkit/api/EncodingRegistry;\n-    #6 = InterfaceMethodref #235.#236     // com/knuddels/jtokkit/api/EncodingRegistry.getEncodingForModel:(Ljava/lang/String;)Ljava/util/Optional;\n-    #7 = Fieldref           #103.#237     // dev/langchain4j/model/openai/OpenAiTokenizer.encoding:Ljava/util/Optional;\n-    #8 = Methodref          #103.#238     // dev/langchain4j/model/openai/OpenAiTokenizer.unknownModelException:()Ljava/util/function/Supplier;\n-    #9 = Methodref          #239.#240     // java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n-   #10 = Class              #241          // com/knuddels/jtokkit/api/Encoding\n-   #11 = InterfaceMethodref #10.#242      // com/knuddels/jtokkit/api/Encoding.countTokensOrdinary:(Ljava/lang/String;)I\n-   #12 = Methodref          #103.#243     // dev/langchain4j/model/openai/OpenAiTokenizer.extraTokensPerMessage:()I\n-   #13 = Class              #244          // dev/langchain4j/data/message/SystemMessage\n-   #14 = Methodref          #103.#245     // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountIn:(Ldev/langchain4j/data/message/SystemMessage;)I\n-   #15 = Class              #246          // dev/langchain4j/data/message/UserMessage\n-   #16 = Methodref          #103.#247     // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountIn:(Ldev/langchain4j/data/message/UserMessage;)I\n-   #17 = Class              #248          // dev/langchain4j/data/message/AiMessage\n-   #18 = Methodref          #103.#249     // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountIn:(Ldev/langchain4j/data/message/AiMessage;)I\n-   #19 = Class              #250          // dev/langchain4j/data/message/ToolExecutionResultMessage\n-   #20 = Methodref          #103.#251     // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountIn:(Ldev/langchain4j/data/message/ToolExecutionResultMessage;)I\n-   #21 = Class              #252          // java/lang/IllegalArgumentException\n-   #22 = Class              #253          // java/lang/StringBuilder\n-   #23 = Methodref          #22.#229      // java/lang/StringBuilder.\"<init>\":()V\n-   #24 = String             #254          // Unknown message type:\n-   #25 = Methodref          #22.#255      // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-   #26 = Methodref          #22.#256      // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-   #27 = Methodref          #22.#257      // java/lang/StringBuilder.toString:()Ljava/lang/String;\n-   #28 = Methodref          #21.#258      // java/lang/IllegalArgumentException.\"<init>\":(Ljava/lang/String;)V\n-   #29 = Methodref          #13.#259      // dev/langchain4j/data/message/SystemMessage.text:()Ljava/lang/String;\n-   #30 = Methodref          #103.#260     // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n-   #31 = Methodref          #15.#261      // dev/langchain4j/data/message/UserMessage.contents:()Ljava/util/List;\n-   #32 = InterfaceMethodref #262.#263     // java/util/List.iterator:()Ljava/util/Iterator;\n-   #33 = InterfaceMethodref #264.#265     // java/util/Iterator.hasNext:()Z\n-   #34 = InterfaceMethodref #264.#266     // java/util/Iterator.next:()Ljava/lang/Object;\n-   #35 = Class              #267          // dev/langchain4j/data/message/Content\n-   #36 = Class              #268          // dev/langchain4j/data/message/TextContent\n-   #37 = Methodref          #36.#259      // dev/langchain4j/data/message/TextContent.text:()Ljava/lang/String;\n-   #38 = Class              #269          // dev/langchain4j/data/message/ImageContent\n-   #39 = String             #270          // Unknown content type:\n-   #40 = Class              #271          // java/lang/Object\n-   #41 = Methodref          #272.#273     // dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n-   #42 = Methodref          #15.#274      // dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n-   #43 = Fieldref           #275.#276     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #44 = Methodref          #75.#277      // java/lang/String.equals:(Ljava/lang/Object;)Z\n-   #45 = Methodref          #103.#278     // dev/langchain4j/model/openai/OpenAiTokenizer.extraTokensPerName:()I\n-   #46 = Methodref          #17.#259      // dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n-   #47 = Methodref          #17.#279      // dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n-   #48 = Methodref          #103.#280     // dev/langchain4j/model/openai/OpenAiTokenizer.isOneOfLatestModels:()Z\n-   #49 = InterfaceMethodref #262.#281     // java/util/List.size:()I\n-   #50 = InterfaceMethodref #262.#282     // java/util/List.get:(I)Ljava/lang/Object;\n-   #51 = Class              #283          // dev/langchain4j/agent/tool/ToolExecutionRequest\n-   #52 = Methodref          #51.#274      // dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n-   #53 = Methodref          #51.#284      // dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-   #54 = Class              #285          // java/util/Map\n-   #55 = Methodref          #286.#287     // dev/langchain4j/internal/Json.fromJson:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n-   #56 = InterfaceMethodref #54.#288      // java/util/Map.entrySet:()Ljava/util/Set;\n-   #57 = InterfaceMethodref #289.#263     // java/util/Set.iterator:()Ljava/util/Iterator;\n-   #58 = Class              #290          // java/util/Map$Entry\n-   #59 = InterfaceMethodref #58.#291      // java/util/Map$Entry.getKey:()Ljava/lang/Object;\n-   #60 = Methodref          #40.#257      // java/lang/Object.toString:()Ljava/lang/String;\n-   #61 = InterfaceMethodref #58.#292      // java/util/Map$Entry.getValue:()Ljava/lang/Object;\n-   #62 = Methodref          #19.#259      // dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n-   #63 = String             #293          // gpt-3.5-turbo-0301\n-   #64 = InterfaceMethodref #294.#263     // java/lang/Iterable.iterator:()Ljava/util/Iterator;\n-   #65 = Class              #295          // dev/langchain4j/data/message/ChatMessage\n-   #66 = Methodref          #103.#296     // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInMessage:(Ldev/langchain4j/data/message/ChatMessage;)I\n-   #67 = Class              #297          // dev/langchain4j/agent/tool/ToolSpecification\n-   #68 = Methodref          #67.#274      // dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n-   #69 = Methodref          #67.#298      // dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n-   #70 = Methodref          #67.#299      // dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n-   #71 = Methodref          #103.#300     // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInToolParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)I\n-   #72 = Methodref          #301.#302     // dev/langchain4j/agent/tool/ToolParameters.properties:()Ljava/util/Map;\n-   #73 = InterfaceMethodref #54.#281      // java/util/Map.size:()I\n-   #74 = InterfaceMethodref #54.#303      // java/util/Map.keySet:()Ljava/util/Set;\n-   #75 = Class              #304          // java/lang/String\n-   #76 = InterfaceMethodref #54.#305      // java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;\n-   #77 = String             #306          // type\n-   #78 = String             #307          // array\n-   #79 = String             #308          // description\n-   #80 = Methodref          #301.#309     // dev/langchain4j/agent/tool/ToolParameters.required:()Ljava/util/List;\n-   #81 = InterfaceMethodref #262.#310     // java/util/List.contains:(Ljava/lang/Object;)Z\n-   #82 = String             #311          // enum\n-   #83 = Class              #312          // \"[Ljava/lang/Object;\"\n-   #84 = Methodref          #313.#314     // java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-   #85 = Methodref          #103.#315     // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInToolSpecifications:(Ljava/lang/Iterable;)I\n-   #86 = InterfaceMethodref #10.#316      // com/knuddels/jtokkit/api/Encoding.encodeOrdinary:(Ljava/lang/String;)Ljava/util/List;\n-   #87 = InterfaceMethodref #10.#317      // com/knuddels/jtokkit/api/Encoding.encodeOrdinary:(Ljava/lang/String;I)Lcom/knuddels/jtokkit/api/EncodingResult;\n-   #88 = Methodref          #318.#319     // com/knuddels/jtokkit/api/EncodingResult.getTokens:()Ljava/util/List;\n-   #89 = InterfaceMethodref #10.#320      // com/knuddels/jtokkit/api/Encoding.decode:(Ljava/util/List;)Ljava/lang/String;\n-   #90 = InvokeDynamic      #0:#326       // #0:get:(Ldev/langchain4j/model/openai/OpenAiTokenizer;)Ljava/util/function/Supplier;\n-   #91 = Methodref          #103.#327     // dev/langchain4j/model/openai/OpenAiTokenizer.countArguments:(Ljava/lang/String;)I\n-   #92 = Fieldref           #275.#328     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #93 = Methodref          #275.#257     // dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-   #94 = Methodref          #103.#329     // dev/langchain4j/model/openai/OpenAiTokenizer.isOneOfLatestGpt4Models:()Z\n-   #95 = Fieldref           #275.#330     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-   #96 = Methodref          #103.#331     // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n-   #97 = Methodref          #332.#333     // dev/langchain4j/internal/Utils.isNullOrBlank:(Ljava/lang/String;)Z\n-   #98 = Methodref          #103.#334     // dev/langchain4j/model/openai/OpenAiTokenizer.isOneOfLatestGpt3Models:()Z\n-   #99 = Fieldref           #275.#335     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #100 = Fieldref           #275.#336     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #101 = Fieldref           #275.#337     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #102 = String             #338          // Model \\'%s\\' is unknown to jtokkit\n-  #103 = Class              #339          // dev/langchain4j/model/openai/OpenAiTokenizer\n-  #104 = Class              #340          // dev/langchain4j/model/Tokenizer\n-  #105 = Utf8               modelName\n-  #106 = Utf8               Ljava/lang/String;\n-  #107 = Utf8               encoding\n-  #108 = Utf8               Ljava/util/Optional;\n-  #109 = Utf8               Signature\n-  #110 = Utf8               Ljava/util/Optional<Lcom/knuddels/jtokkit/api/Encoding;>;\n-  #111 = Utf8               <init>\n-  #112 = Utf8               (Ljava/lang/String;)V\n-  #113 = Utf8               Code\n-  #114 = Utf8               LineNumberTable\n-  #115 = Utf8               LocalVariableTable\n-  #116 = Utf8               this\n-  #117 = Utf8               Ldev/langchain4j/model/openai/OpenAiTokenizer;\n-  #118 = Utf8               estimateTokenCountInText\n-  #119 = Utf8               (Ljava/lang/String;)I\n-  #120 = Utf8               text\n-  #121 = Utf8               estimateTokenCountInMessage\n-  #122 = Utf8               (Ldev/langchain4j/data/message/ChatMessage;)I\n-  #123 = Utf8               message\n-  #124 = Utf8               Ldev/langchain4j/data/message/ChatMessage;\n-  #125 = Utf8               tokenCount\n-  #126 = Utf8               I\n-  #127 = Utf8               StackMapTable\n-  #128 = Utf8               estimateTokenCountIn\n-  #129 = Utf8               (Ldev/langchain4j/data/message/SystemMessage;)I\n-  #130 = Utf8               systemMessage\n-  #131 = Utf8               Ldev/langchain4j/data/message/SystemMessage;\n-  #132 = Utf8               (Ldev/langchain4j/data/message/UserMessage;)I\n-  #133 = Utf8               content\n-  #134 = Utf8               Ldev/langchain4j/data/message/Content;\n-  #135 = Utf8               userMessage\n-  #136 = Utf8               Ldev/langchain4j/data/message/UserMessage;\n-  #137 = Class              #341          // java/util/Iterator\n-  #138 = Class              #267          // dev/langchain4j/data/message/Content\n-  #139 = Utf8               (Ldev/langchain4j/data/message/AiMessage;)I\n-  #140 = Utf8               toolExecutionRequest\n-  #141 = Utf8               Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n-  #142 = Utf8               argument\n-  #143 = Utf8               Entry\n-  #144 = Utf8               InnerClasses\n-  #145 = Utf8               Ljava/util/Map$Entry;\n-  #146 = Utf8               arguments\n-  #147 = Utf8               Ljava/util/Map;\n-  #148 = Utf8               aiMessage\n-  #149 = Utf8               Ldev/langchain4j/data/message/AiMessage;\n-  #150 = Utf8               LocalVariableTypeTable\n-  #151 = Utf8               Ljava/util/Map$Entry<**>;\n-  #152 = Utf8               Ljava/util/Map<**>;\n-  #153 = Class              #283          // dev/langchain4j/agent/tool/ToolExecutionRequest\n-  #154 = Class              #285          // java/util/Map\n-  #155 = Utf8               (Ldev/langchain4j/data/message/ToolExecutionResultMessage;)I\n-  #156 = Utf8               toolExecutionResultMessage\n-  #157 = Utf8               Ldev/langchain4j/data/message/ToolExecutionResultMessage;\n-  #158 = Utf8               extraTokensPerMessage\n-  #159 = Utf8               ()I\n-  #160 = Utf8               extraTokensPerName\n-  #161 = Utf8               estimateTokenCountInMessages\n-  #162 = Utf8               (Ljava/lang/Iterable;)I\n-  #163 = Utf8               messages\n-  #164 = Utf8               Ljava/lang/Iterable;\n-  #165 = Utf8               Ljava/lang/Iterable<Ldev/langchain4j/data/message/ChatMessage;>;\n-  #166 = Utf8               (Ljava/lang/Iterable<Ldev/langchain4j/data/message/ChatMessage;>;)I\n-  #167 = Utf8               estimateTokenCountInToolSpecifications\n-  #168 = Utf8               toolSpecification\n-  #169 = Utf8               Ldev/langchain4j/agent/tool/ToolSpecification;\n-  #170 = Utf8               toolSpecifications\n-  #171 = Utf8               Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n-  #172 = Class              #297          // dev/langchain4j/agent/tool/ToolSpecification\n-  #173 = Utf8               (Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolSpecification;>;)I\n-  #174 = Utf8               estimateTokenCountInToolParameters\n-  #175 = Utf8               (Ldev/langchain4j/agent/tool/ToolParameters;)I\n-  #176 = Utf8               enumValue\n-  #177 = Utf8               Ljava/lang/Object;\n-  #178 = Utf8               entry\n-  #179 = Utf8               property\n-  #180 = Utf8               parameters\n-  #181 = Utf8               Ldev/langchain4j/agent/tool/ToolParameters;\n-  #182 = Utf8               properties\n-  #183 = Utf8               Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;\n-  #184 = Utf8               Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;\n-  #185 = Class              #304          // java/lang/String\n-  #186 = Class              #290          // java/util/Map$Entry\n-  #187 = Class              #339          // dev/langchain4j/model/openai/OpenAiTokenizer\n-  #188 = Class              #342          // dev/langchain4j/agent/tool/ToolParameters\n-  #189 = Utf8               estimateTokenCountInForcefulToolSpecification\n-  #190 = Utf8               (Ldev/langchain4j/agent/tool/ToolSpecification;)I\n-  #191 = Utf8               encode\n-  #192 = Utf8               (Ljava/lang/String;)Ljava/util/List;\n-  #193 = Utf8               (Ljava/lang/String;)Ljava/util/List<Ljava/lang/Integer;>;\n-  #194 = Utf8               (Ljava/lang/String;I)Ljava/util/List;\n-  #195 = Utf8               maxTokensToEncode\n-  #196 = Utf8               (Ljava/lang/String;I)Ljava/util/List<Ljava/lang/Integer;>;\n-  #197 = Utf8               decode\n-  #198 = Utf8               (Ljava/util/List;)Ljava/lang/String;\n-  #199 = Utf8               tokens\n-  #200 = Utf8               Ljava/util/List;\n-  #201 = Utf8               Ljava/util/List<Ljava/lang/Integer;>;\n-  #202 = Utf8               (Ljava/util/List<Ljava/lang/Integer;>;)Ljava/lang/String;\n-  #203 = Utf8               unknownModelException\n-  #204 = Utf8               ()Ljava/util/function/Supplier;\n-  #205 = Utf8               ()Ljava/util/function/Supplier<Ljava/lang/IllegalArgumentException;>;\n-  #206 = Utf8               estimateTokenCountInToolExecutionRequests\n-  #207 = Utf8               argumentCount\n-  #208 = Utf8               toolExecutionRequests\n-  #209 = Utf8               toolsCount\n-  #210 = Utf8               toolsWithArgumentsCount\n-  #211 = Utf8               toolsWithoutArgumentsCount\n-  #212 = Utf8               totalArgumentsCount\n-  #213 = Utf8               Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;\n-  #214 = Class              #343          // java/lang/Iterable\n-  #215 = Utf8               (Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;)I\n-  #216 = Utf8               estimateTokenCountInForcefulToolExecutionRequest\n-  #217 = Utf8               (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n-  #218 = Utf8               argumentsCount\n-  #219 = Utf8               countArguments\n-  #220 = Utf8               argumentsMap\n-  #221 = Utf8               isOneOfLatestModels\n-  #222 = Utf8               ()Z\n-  #223 = Utf8               isOneOfLatestGpt3Models\n-  #224 = Utf8               isOneOfLatestGpt4Models\n-  #225 = Utf8               lambda$unknownModelException$0\n-  #226 = Utf8               ()Ljava/lang/IllegalArgumentException;\n-  #227 = Utf8               SourceFile\n-  #228 = Utf8               OpenAiTokenizer.java\n-  #229 = NameAndType        #111:#344     // \"<init>\":()V\n-  #230 = Class              #345          // dev/langchain4j/internal/ValidationUtils\n-  #231 = NameAndType        #346:#347     // ensureNotBlank:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;\n-  #232 = NameAndType        #105:#106     // modelName:Ljava/lang/String;\n-  #233 = Class              #348          // com/knuddels/jtokkit/Encodings\n-  #234 = NameAndType        #349:#350     // newLazyEncodingRegistry:()Lcom/knuddels/jtokkit/api/EncodingRegistry;\n-  #235 = Class              #351          // com/knuddels/jtokkit/api/EncodingRegistry\n-  #236 = NameAndType        #352:#353     // getEncodingForModel:(Ljava/lang/String;)Ljava/util/Optional;\n-  #237 = NameAndType        #107:#108     // encoding:Ljava/util/Optional;\n-  #238 = NameAndType        #203:#204     // unknownModelException:()Ljava/util/function/Supplier;\n-  #239 = Class              #354          // java/util/Optional\n-  #240 = NameAndType        #355:#356     // orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #241 = Utf8               com/knuddels/jtokkit/api/Encoding\n-  #242 = NameAndType        #357:#119     // countTokensOrdinary:(Ljava/lang/String;)I\n-  #243 = NameAndType        #158:#159     // extraTokensPerMessage:()I\n-  #244 = Utf8               dev/langchain4j/data/message/SystemMessage\n-  #245 = NameAndType        #128:#129     // estimateTokenCountIn:(Ldev/langchain4j/data/message/SystemMessage;)I\n-  #246 = Utf8               dev/langchain4j/data/message/UserMessage\n-  #247 = NameAndType        #128:#132     // estimateTokenCountIn:(Ldev/langchain4j/data/message/UserMessage;)I\n-  #248 = Utf8               dev/langchain4j/data/message/AiMessage\n-  #249 = NameAndType        #128:#139     // estimateTokenCountIn:(Ldev/langchain4j/data/message/AiMessage;)I\n-  #250 = Utf8               dev/langchain4j/data/message/ToolExecutionResultMessage\n-  #251 = NameAndType        #128:#155     // estimateTokenCountIn:(Ldev/langchain4j/data/message/ToolExecutionResultMessage;)I\n-  #252 = Utf8               java/lang/IllegalArgumentException\n-  #253 = Utf8               java/lang/StringBuilder\n-  #254 = Utf8               Unknown message type:\n-  #255 = NameAndType        #358:#359     // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #256 = NameAndType        #358:#360     // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-  #257 = NameAndType        #361:#362     // toString:()Ljava/lang/String;\n-  #258 = NameAndType        #111:#112     // \"<init>\":(Ljava/lang/String;)V\n-  #259 = NameAndType        #120:#362     // text:()Ljava/lang/String;\n-  #260 = NameAndType        #118:#119     // estimateTokenCountInText:(Ljava/lang/String;)I\n-  #261 = NameAndType        #363:#364     // contents:()Ljava/util/List;\n-  #262 = Class              #365          // java/util/List\n-  #263 = NameAndType        #366:#367     // iterator:()Ljava/util/Iterator;\n-  #264 = Class              #341          // java/util/Iterator\n-  #265 = NameAndType        #368:#222     // hasNext:()Z\n-  #266 = NameAndType        #369:#370     // next:()Ljava/lang/Object;\n-  #267 = Utf8               dev/langchain4j/data/message/Content\n-  #268 = Utf8               dev/langchain4j/data/message/TextContent\n-  #269 = Utf8               dev/langchain4j/data/message/ImageContent\n-  #270 = Utf8               Unknown content type:\n-  #271 = Utf8               java/lang/Object\n-  #272 = Class              #371          // dev/langchain4j/internal/Exceptions\n-  #273 = NameAndType        #372:#373     // illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n-  #274 = NameAndType        #374:#362     // name:()Ljava/lang/String;\n-  #275 = Class              #375          // dev/langchain4j/model/openai/OpenAiChatModelName\n-  #276 = NameAndType        #376:#377     // GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #277 = NameAndType        #378:#379     // equals:(Ljava/lang/Object;)Z\n-  #278 = NameAndType        #160:#159     // extraTokensPerName:()I\n-  #279 = NameAndType        #208:#364     // toolExecutionRequests:()Ljava/util/List;\n-  #280 = NameAndType        #221:#222     // isOneOfLatestModels:()Z\n-  #281 = NameAndType        #380:#159     // size:()I\n-  #282 = NameAndType        #381:#382     // get:(I)Ljava/lang/Object;\n-  #283 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest\n-  #284 = NameAndType        #146:#362     // arguments:()Ljava/lang/String;\n-  #285 = Utf8               java/util/Map\n-  #286 = Class              #383          // dev/langchain4j/internal/Json\n-  #287 = NameAndType        #384:#385     // fromJson:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n-  #288 = NameAndType        #386:#387     // entrySet:()Ljava/util/Set;\n-  #289 = Class              #388          // java/util/Set\n-  #290 = Utf8               java/util/Map$Entry\n-  #291 = NameAndType        #389:#370     // getKey:()Ljava/lang/Object;\n-  #292 = NameAndType        #390:#370     // getValue:()Ljava/lang/Object;\n-  #293 = Utf8               gpt-3.5-turbo-0301\n-  #294 = Class              #343          // java/lang/Iterable\n-  #295 = Utf8               dev/langchain4j/data/message/ChatMessage\n-  #296 = NameAndType        #121:#122     // estimateTokenCountInMessage:(Ldev/langchain4j/data/message/ChatMessage;)I\n-  #297 = Utf8               dev/langchain4j/agent/tool/ToolSpecification\n-  #298 = NameAndType        #308:#362     // description:()Ljava/lang/String;\n-  #299 = NameAndType        #180:#391     // parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n-  #300 = NameAndType        #174:#175     // estimateTokenCountInToolParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)I\n-  #301 = Class              #342          // dev/langchain4j/agent/tool/ToolParameters\n-  #302 = NameAndType        #182:#392     // properties:()Ljava/util/Map;\n-  #303 = NameAndType        #393:#387     // keySet:()Ljava/util/Set;\n-  #304 = Utf8               java/lang/String\n-  #305 = NameAndType        #381:#394     // get:(Ljava/lang/Object;)Ljava/lang/Object;\n-  #306 = Utf8               type\n-  #307 = Utf8               array\n-  #308 = Utf8               description\n-  #309 = NameAndType        #395:#364     // required:()Ljava/util/List;\n-  #310 = NameAndType        #396:#379     // contains:(Ljava/lang/Object;)Z\n-  #311 = Utf8               enum\n-  #312 = Utf8               [Ljava/lang/Object;\n-  #313 = Class              #397          // java/util/Collections\n-  #314 = NameAndType        #398:#399     // singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-  #315 = NameAndType        #167:#162     // estimateTokenCountInToolSpecifications:(Ljava/lang/Iterable;)I\n-  #316 = NameAndType        #400:#192     // encodeOrdinary:(Ljava/lang/String;)Ljava/util/List;\n-  #317 = NameAndType        #400:#401     // encodeOrdinary:(Ljava/lang/String;I)Lcom/knuddels/jtokkit/api/EncodingResult;\n-  #318 = Class              #402          // com/knuddels/jtokkit/api/EncodingResult\n-  #319 = NameAndType        #403:#364     // getTokens:()Ljava/util/List;\n-  #320 = NameAndType        #197:#198     // decode:(Ljava/util/List;)Ljava/lang/String;\n-  #321 = Utf8               BootstrapMethods\n-  #322 = MethodHandle       6:#404        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #323 = MethodType         #370          //  ()Ljava/lang/Object;\n-  #324 = MethodHandle       7:#405        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiTokenizer.lambda$unknownModelException$0:()Ljava/lang/IllegalArgumentException;\n-  #325 = MethodType         #226          //  ()Ljava/lang/IllegalArgumentException;\n-  #326 = NameAndType        #381:#406     // get:(Ldev/langchain4j/model/openai/OpenAiTokenizer;)Ljava/util/function/Supplier;\n-  #327 = NameAndType        #219:#119     // countArguments:(Ljava/lang/String;)I\n-  #328 = NameAndType        #407:#377     // GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #329 = NameAndType        #224:#222     // isOneOfLatestGpt4Models:()Z\n-  #330 = NameAndType        #408:#377     // GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #331 = NameAndType        #206:#162     // estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n-  #332 = Class              #409          // dev/langchain4j/internal/Utils\n-  #333 = NameAndType        #410:#411     // isNullOrBlank:(Ljava/lang/String;)Z\n-  #334 = NameAndType        #223:#222     // isOneOfLatestGpt3Models:()Z\n-  #335 = NameAndType        #412:#377     // GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #336 = NameAndType        #413:#377     // GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #337 = NameAndType        #414:#377     // GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #338 = Utf8               Model \\'%s\\' is unknown to jtokkit\n-  #339 = Utf8               dev/langchain4j/model/openai/OpenAiTokenizer\n-  #340 = Utf8               dev/langchain4j/model/Tokenizer\n-  #341 = Utf8               java/util/Iterator\n-  #342 = Utf8               dev/langchain4j/agent/tool/ToolParameters\n-  #343 = Utf8               java/lang/Iterable\n-  #344 = Utf8               ()V\n-  #345 = Utf8               dev/langchain4j/internal/ValidationUtils\n-  #346 = Utf8               ensureNotBlank\n-  #347 = Utf8               (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;\n-  #348 = Utf8               com/knuddels/jtokkit/Encodings\n-  #349 = Utf8               newLazyEncodingRegistry\n-  #350 = Utf8               ()Lcom/knuddels/jtokkit/api/EncodingRegistry;\n-  #351 = Utf8               com/knuddels/jtokkit/api/EncodingRegistry\n-  #352 = Utf8               getEncodingForModel\n-  #353 = Utf8               (Ljava/lang/String;)Ljava/util/Optional;\n-  #354 = Utf8               java/util/Optional\n-  #355 = Utf8               orElseThrow\n-  #356 = Utf8               (Ljava/util/function/Supplier;)Ljava/lang/Object;\n-  #357 = Utf8               countTokensOrdinary\n-  #358 = Utf8               append\n-  #359 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n-  #360 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-  #361 = Utf8               toString\n-  #362 = Utf8               ()Ljava/lang/String;\n-  #363 = Utf8               contents\n-  #364 = Utf8               ()Ljava/util/List;\n-  #365 = Utf8               java/util/List\n-  #366 = Utf8               iterator\n-  #367 = Utf8               ()Ljava/util/Iterator;\n-  #368 = Utf8               hasNext\n-  #369 = Utf8               next\n-  #370 = Utf8               ()Ljava/lang/Object;\n-  #371 = Utf8               dev/langchain4j/internal/Exceptions\n-  #372 = Utf8               illegalArgument\n-  #373 = Utf8               (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n-  #374 = Utf8               name\n-  #375 = Utf8               dev/langchain4j/model/openai/OpenAiChatModelName\n-  #376 = Utf8               GPT_4_VISION_PREVIEW\n-  #377 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-  #378 = Utf8               equals\n-  #379 = Utf8               (Ljava/lang/Object;)Z\n-  #380 = Utf8               size\n-  #381 = Utf8               get\n-  #382 = Utf8               (I)Ljava/lang/Object;\n-  #383 = Utf8               dev/langchain4j/internal/Json\n-  #384 = Utf8               fromJson\n-  #385 = Utf8               (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n-  #386 = Utf8               entrySet\n-  #387 = Utf8               ()Ljava/util/Set;\n-  #388 = Utf8               java/util/Set\n-  #389 = Utf8               getKey\n-  #390 = Utf8               getValue\n-  #391 = Utf8               ()Ldev/langchain4j/agent/tool/ToolParameters;\n-  #392 = Utf8               ()Ljava/util/Map;\n-  #393 = Utf8               keySet\n-  #394 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n-  #395 = Utf8               required\n-  #396 = Utf8               contains\n-  #397 = Utf8               java/util/Collections\n-  #398 = Utf8               singletonList\n-  #399 = Utf8               (Ljava/lang/Object;)Ljava/util/List;\n-  #400 = Utf8               encodeOrdinary\n-  #401 = Utf8               (Ljava/lang/String;I)Lcom/knuddels/jtokkit/api/EncodingResult;\n-  #402 = Utf8               com/knuddels/jtokkit/api/EncodingResult\n-  #403 = Utf8               getTokens\n-  #404 = Methodref          #415.#416     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #405 = Methodref          #103.#417     // dev/langchain4j/model/openai/OpenAiTokenizer.lambda$unknownModelException$0:()Ljava/lang/IllegalArgumentException;\n-  #406 = Utf8               (Ldev/langchain4j/model/openai/OpenAiTokenizer;)Ljava/util/function/Supplier;\n-  #407 = Utf8               GPT_3_5_TURBO_1106\n-  #408 = Utf8               GPT_4_1106_PREVIEW\n-  #409 = Utf8               dev/langchain4j/internal/Utils\n-  #410 = Utf8               isNullOrBlank\n-  #411 = Utf8               (Ljava/lang/String;)Z\n-  #412 = Utf8               GPT_3_5_TURBO_0125\n-  #413 = Utf8               GPT_4_TURBO_PREVIEW\n-  #414 = Utf8               GPT_4_0125_PREVIEW\n-  #415 = Class              #418          // java/lang/invoke/LambdaMetafactory\n-  #416 = NameAndType        #419:#422     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #417 = NameAndType        #225:#226     // lambda$unknownModelException$0:()Ljava/lang/IllegalArgumentException;\n-  #418 = Utf8               java/lang/invoke/LambdaMetafactory\n-  #419 = Utf8               metafactory\n-  #420 = Class              #424          // java/lang/invoke/MethodHandles$Lookup\n-  #421 = Utf8               Lookup\n-  #422 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n-  #423 = Class              #425          // java/lang/invoke/MethodHandles\n-  #424 = Utf8               java/lang/invoke/MethodHandles$Lookup\n-  #425 = Utf8               java/lang/invoke/MethodHandles\n+    #1 = Methodref          #2.#3         // java/lang/Object.\"<init>\":()V\n+    #2 = Class              #4            // java/lang/Object\n+    #3 = NameAndType        #5:#6         // \"<init>\":()V\n+    #4 = Utf8               java/lang/Object\n+    #5 = Utf8               <init>\n+    #6 = Utf8               ()V\n+    #7 = String             #8            // modelName\n+    #8 = Utf8               modelName\n+    #9 = Methodref          #10.#11       // dev/langchain4j/internal/ValidationUtils.ensureNotBlank:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;\n+   #10 = Class              #12           // dev/langchain4j/internal/ValidationUtils\n+   #11 = NameAndType        #13:#14       // ensureNotBlank:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;\n+   #12 = Utf8               dev/langchain4j/internal/ValidationUtils\n+   #13 = Utf8               ensureNotBlank\n+   #14 = Utf8               (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;\n+   #15 = Fieldref           #16.#17       // dev/langchain4j/model/openai/OpenAiTokenizer.modelName:Ljava/lang/String;\n+   #16 = Class              #18           // dev/langchain4j/model/openai/OpenAiTokenizer\n+   #17 = NameAndType        #8:#19        // modelName:Ljava/lang/String;\n+   #18 = Utf8               dev/langchain4j/model/openai/OpenAiTokenizer\n+   #19 = Utf8               Ljava/lang/String;\n+   #20 = Methodref          #21.#22       // com/knuddels/jtokkit/Encodings.newLazyEncodingRegistry:()Lcom/knuddels/jtokkit/api/EncodingRegistry;\n+   #21 = Class              #23           // com/knuddels/jtokkit/Encodings\n+   #22 = NameAndType        #24:#25       // newLazyEncodingRegistry:()Lcom/knuddels/jtokkit/api/EncodingRegistry;\n+   #23 = Utf8               com/knuddels/jtokkit/Encodings\n+   #24 = Utf8               newLazyEncodingRegistry\n+   #25 = Utf8               ()Lcom/knuddels/jtokkit/api/EncodingRegistry;\n+   #26 = InterfaceMethodref #27.#28       // com/knuddels/jtokkit/api/EncodingRegistry.getEncodingForModel:(Ljava/lang/String;)Ljava/util/Optional;\n+   #27 = Class              #29           // com/knuddels/jtokkit/api/EncodingRegistry\n+   #28 = NameAndType        #30:#31       // getEncodingForModel:(Ljava/lang/String;)Ljava/util/Optional;\n+   #29 = Utf8               com/knuddels/jtokkit/api/EncodingRegistry\n+   #30 = Utf8               getEncodingForModel\n+   #31 = Utf8               (Ljava/lang/String;)Ljava/util/Optional;\n+   #32 = Fieldref           #16.#33       // dev/langchain4j/model/openai/OpenAiTokenizer.encoding:Ljava/util/Optional;\n+   #33 = NameAndType        #34:#35       // encoding:Ljava/util/Optional;\n+   #34 = Utf8               encoding\n+   #35 = Utf8               Ljava/util/Optional;\n+   #36 = Methodref          #16.#37       // dev/langchain4j/model/openai/OpenAiTokenizer.unknownModelException:()Ljava/util/function/Supplier;\n+   #37 = NameAndType        #38:#39       // unknownModelException:()Ljava/util/function/Supplier;\n+   #38 = Utf8               unknownModelException\n+   #39 = Utf8               ()Ljava/util/function/Supplier;\n+   #40 = Methodref          #41.#42       // java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n+   #41 = Class              #43           // java/util/Optional\n+   #42 = NameAndType        #44:#45       // orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n+   #43 = Utf8               java/util/Optional\n+   #44 = Utf8               orElseThrow\n+   #45 = Utf8               (Ljava/util/function/Supplier;)Ljava/lang/Object;\n+   #46 = Class              #47           // com/knuddels/jtokkit/api/Encoding\n+   #47 = Utf8               com/knuddels/jtokkit/api/Encoding\n+   #48 = InterfaceMethodref #46.#49       // com/knuddels/jtokkit/api/Encoding.countTokensOrdinary:(Ljava/lang/String;)I\n+   #49 = NameAndType        #50:#51       // countTokensOrdinary:(Ljava/lang/String;)I\n+   #50 = Utf8               countTokensOrdinary\n+   #51 = Utf8               (Ljava/lang/String;)I\n+   #52 = Methodref          #16.#53       // dev/langchain4j/model/openai/OpenAiTokenizer.extraTokensPerMessage:()I\n+   #53 = NameAndType        #54:#55       // extraTokensPerMessage:()I\n+   #54 = Utf8               extraTokensPerMessage\n+   #55 = Utf8               ()I\n+   #56 = Class              #57           // dev/langchain4j/data/message/SystemMessage\n+   #57 = Utf8               dev/langchain4j/data/message/SystemMessage\n+   #58 = Methodref          #16.#59       // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountIn:(Ldev/langchain4j/data/message/SystemMessage;)I\n+   #59 = NameAndType        #60:#61       // estimateTokenCountIn:(Ldev/langchain4j/data/message/SystemMessage;)I\n+   #60 = Utf8               estimateTokenCountIn\n+   #61 = Utf8               (Ldev/langchain4j/data/message/SystemMessage;)I\n+   #62 = Class              #63           // dev/langchain4j/data/message/UserMessage\n+   #63 = Utf8               dev/langchain4j/data/message/UserMessage\n+   #64 = Methodref          #16.#65       // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountIn:(Ldev/langchain4j/data/message/UserMessage;)I\n+   #65 = NameAndType        #60:#66       // estimateTokenCountIn:(Ldev/langchain4j/data/message/UserMessage;)I\n+   #66 = Utf8               (Ldev/langchain4j/data/message/UserMessage;)I\n+   #67 = Class              #68           // dev/langchain4j/data/message/AiMessage\n+   #68 = Utf8               dev/langchain4j/data/message/AiMessage\n+   #69 = Methodref          #16.#70       // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountIn:(Ldev/langchain4j/data/message/AiMessage;)I\n+   #70 = NameAndType        #60:#71       // estimateTokenCountIn:(Ldev/langchain4j/data/message/AiMessage;)I\n+   #71 = Utf8               (Ldev/langchain4j/data/message/AiMessage;)I\n+   #72 = Class              #73           // dev/langchain4j/data/message/ToolExecutionResultMessage\n+   #73 = Utf8               dev/langchain4j/data/message/ToolExecutionResultMessage\n+   #74 = Methodref          #16.#75       // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountIn:(Ldev/langchain4j/data/message/ToolExecutionResultMessage;)I\n+   #75 = NameAndType        #60:#76       // estimateTokenCountIn:(Ldev/langchain4j/data/message/ToolExecutionResultMessage;)I\n+   #76 = Utf8               (Ldev/langchain4j/data/message/ToolExecutionResultMessage;)I\n+   #77 = Class              #78           // java/lang/IllegalArgumentException\n+   #78 = Utf8               java/lang/IllegalArgumentException\n+   #79 = Class              #80           // java/lang/StringBuilder\n+   #80 = Utf8               java/lang/StringBuilder\n+   #81 = Methodref          #79.#3        // java/lang/StringBuilder.\"<init>\":()V\n+   #82 = String             #83           // Unknown message type:\n+   #83 = Utf8               Unknown message type:\n+   #84 = Methodref          #79.#85       // java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #85 = NameAndType        #86:#87       // append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #86 = Utf8               append\n+   #87 = Utf8               (Ljava/lang/String;)Ljava/lang/StringBuilder;\n+   #88 = Methodref          #79.#89       // java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #89 = NameAndType        #86:#90       // append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #90 = Utf8               (Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+   #91 = Methodref          #79.#92       // java/lang/StringBuilder.toString:()Ljava/lang/String;\n+   #92 = NameAndType        #93:#94       // toString:()Ljava/lang/String;\n+   #93 = Utf8               toString\n+   #94 = Utf8               ()Ljava/lang/String;\n+   #95 = Methodref          #77.#96       // java/lang/IllegalArgumentException.\"<init>\":(Ljava/lang/String;)V\n+   #96 = NameAndType        #5:#97        // \"<init>\":(Ljava/lang/String;)V\n+   #97 = Utf8               (Ljava/lang/String;)V\n+   #98 = Methodref          #56.#99       // dev/langchain4j/data/message/SystemMessage.text:()Ljava/lang/String;\n+   #99 = NameAndType        #100:#94      // text:()Ljava/lang/String;\n+  #100 = Utf8               text\n+  #101 = Methodref          #16.#102      // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInText:(Ljava/lang/String;)I\n+  #102 = NameAndType        #103:#51      // estimateTokenCountInText:(Ljava/lang/String;)I\n+  #103 = Utf8               estimateTokenCountInText\n+  #104 = Methodref          #62.#105      // dev/langchain4j/data/message/UserMessage.contents:()Ljava/util/List;\n+  #105 = NameAndType        #106:#107     // contents:()Ljava/util/List;\n+  #106 = Utf8               contents\n+  #107 = Utf8               ()Ljava/util/List;\n+  #108 = InterfaceMethodref #109.#110     // java/util/List.iterator:()Ljava/util/Iterator;\n+  #109 = Class              #111          // java/util/List\n+  #110 = NameAndType        #112:#113     // iterator:()Ljava/util/Iterator;\n+  #111 = Utf8               java/util/List\n+  #112 = Utf8               iterator\n+  #113 = Utf8               ()Ljava/util/Iterator;\n+  #114 = InterfaceMethodref #115.#116     // java/util/Iterator.hasNext:()Z\n+  #115 = Class              #117          // java/util/Iterator\n+  #116 = NameAndType        #118:#119     // hasNext:()Z\n+  #117 = Utf8               java/util/Iterator\n+  #118 = Utf8               hasNext\n+  #119 = Utf8               ()Z\n+  #120 = InterfaceMethodref #115.#121     // java/util/Iterator.next:()Ljava/lang/Object;\n+  #121 = NameAndType        #122:#123     // next:()Ljava/lang/Object;\n+  #122 = Utf8               next\n+  #123 = Utf8               ()Ljava/lang/Object;\n+  #124 = Class              #125          // dev/langchain4j/data/message/Content\n+  #125 = Utf8               dev/langchain4j/data/message/Content\n+  #126 = Class              #127          // dev/langchain4j/data/message/TextContent\n+  #127 = Utf8               dev/langchain4j/data/message/TextContent\n+  #128 = Methodref          #126.#99      // dev/langchain4j/data/message/TextContent.text:()Ljava/lang/String;\n+  #129 = Class              #130          // dev/langchain4j/data/message/ImageContent\n+  #130 = Utf8               dev/langchain4j/data/message/ImageContent\n+  #131 = String             #132          // Unknown content type:\n+  #132 = Utf8               Unknown content type:\n+  #133 = Methodref          #134.#135     // dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+  #134 = Class              #136          // dev/langchain4j/internal/Exceptions\n+  #135 = NameAndType        #137:#138     // illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+  #136 = Utf8               dev/langchain4j/internal/Exceptions\n+  #137 = Utf8               illegalArgument\n+  #138 = Utf8               (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+  #139 = Methodref          #62.#140      // dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n+  #140 = NameAndType        #141:#94      // name:()Ljava/lang/String;\n+  #141 = Utf8               name\n+  #142 = Fieldref           #143.#144     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #143 = Class              #145          // dev/langchain4j/model/openai/OpenAiChatModelName\n+  #144 = NameAndType        #146:#147     // GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #145 = Utf8               dev/langchain4j/model/openai/OpenAiChatModelName\n+  #146 = Utf8               GPT_4_VISION_PREVIEW\n+  #147 = Utf8               Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #148 = Methodref          #149.#150     // java/lang/String.equals:(Ljava/lang/Object;)Z\n+  #149 = Class              #151          // java/lang/String\n+  #150 = NameAndType        #152:#153     // equals:(Ljava/lang/Object;)Z\n+  #151 = Utf8               java/lang/String\n+  #152 = Utf8               equals\n+  #153 = Utf8               (Ljava/lang/Object;)Z\n+  #154 = Methodref          #16.#155      // dev/langchain4j/model/openai/OpenAiTokenizer.extraTokensPerName:()I\n+  #155 = NameAndType        #156:#55      // extraTokensPerName:()I\n+  #156 = Utf8               extraTokensPerName\n+  #157 = Methodref          #67.#99       // dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n+  #158 = Methodref          #67.#159      // dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n+  #159 = NameAndType        #160:#107     // toolExecutionRequests:()Ljava/util/List;\n+  #160 = Utf8               toolExecutionRequests\n+  #161 = Methodref          #16.#162      // dev/langchain4j/model/openai/OpenAiTokenizer.isOneOfLatestModels:()Z\n+  #162 = NameAndType        #163:#119     // isOneOfLatestModels:()Z\n+  #163 = Utf8               isOneOfLatestModels\n+  #164 = InterfaceMethodref #109.#165     // java/util/List.size:()I\n+  #165 = NameAndType        #166:#55      // size:()I\n+  #166 = Utf8               size\n+  #167 = InterfaceMethodref #109.#168     // java/util/List.get:(I)Ljava/lang/Object;\n+  #168 = NameAndType        #169:#170     // get:(I)Ljava/lang/Object;\n+  #169 = Utf8               get\n+  #170 = Utf8               (I)Ljava/lang/Object;\n+  #171 = Class              #172          // dev/langchain4j/agent/tool/ToolExecutionRequest\n+  #172 = Utf8               dev/langchain4j/agent/tool/ToolExecutionRequest\n+  #173 = Methodref          #171.#140     // dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n+  #174 = Methodref          #171.#175     // dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+  #175 = NameAndType        #176:#94      // arguments:()Ljava/lang/String;\n+  #176 = Utf8               arguments\n+  #177 = Class              #178          // java/util/Map\n+  #178 = Utf8               java/util/Map\n+  #179 = Methodref          #180.#181     // dev/langchain4j/internal/Json.fromJson:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n+  #180 = Class              #182          // dev/langchain4j/internal/Json\n+  #181 = NameAndType        #183:#184     // fromJson:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n+  #182 = Utf8               dev/langchain4j/internal/Json\n+  #183 = Utf8               fromJson\n+  #184 = Utf8               (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n+  #185 = InterfaceMethodref #177.#186     // java/util/Map.entrySet:()Ljava/util/Set;\n+  #186 = NameAndType        #187:#188     // entrySet:()Ljava/util/Set;\n+  #187 = Utf8               entrySet\n+  #188 = Utf8               ()Ljava/util/Set;\n+  #189 = InterfaceMethodref #190.#110     // java/util/Set.iterator:()Ljava/util/Iterator;\n+  #190 = Class              #191          // java/util/Set\n+  #191 = Utf8               java/util/Set\n+  #192 = Class              #193          // java/util/Map$Entry\n+  #193 = Utf8               java/util/Map$Entry\n+  #194 = InterfaceMethodref #192.#195     // java/util/Map$Entry.getKey:()Ljava/lang/Object;\n+  #195 = NameAndType        #196:#123     // getKey:()Ljava/lang/Object;\n+  #196 = Utf8               getKey\n+  #197 = Methodref          #2.#92        // java/lang/Object.toString:()Ljava/lang/String;\n+  #198 = InterfaceMethodref #192.#199     // java/util/Map$Entry.getValue:()Ljava/lang/Object;\n+  #199 = NameAndType        #200:#123     // getValue:()Ljava/lang/Object;\n+  #200 = Utf8               getValue\n+  #201 = Methodref          #72.#99       // dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n+  #202 = String             #203          // gpt-3.5-turbo-0301\n+  #203 = Utf8               gpt-3.5-turbo-0301\n+  #204 = InterfaceMethodref #205.#110     // java/lang/Iterable.iterator:()Ljava/util/Iterator;\n+  #205 = Class              #206          // java/lang/Iterable\n+  #206 = Utf8               java/lang/Iterable\n+  #207 = Class              #208          // dev/langchain4j/data/message/ChatMessage\n+  #208 = Utf8               dev/langchain4j/data/message/ChatMessage\n+  #209 = Methodref          #16.#210      // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInMessage:(Ldev/langchain4j/data/message/ChatMessage;)I\n+  #210 = NameAndType        #211:#212     // estimateTokenCountInMessage:(Ldev/langchain4j/data/message/ChatMessage;)I\n+  #211 = Utf8               estimateTokenCountInMessage\n+  #212 = Utf8               (Ldev/langchain4j/data/message/ChatMessage;)I\n+  #213 = Class              #214          // dev/langchain4j/agent/tool/ToolSpecification\n+  #214 = Utf8               dev/langchain4j/agent/tool/ToolSpecification\n+  #215 = Methodref          #213.#140     // dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n+  #216 = Methodref          #213.#217     // dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n+  #217 = NameAndType        #218:#94      // description:()Ljava/lang/String;\n+  #218 = Utf8               description\n+  #219 = Methodref          #213.#220     // dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n+  #220 = NameAndType        #221:#222     // parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n+  #221 = Utf8               parameters\n+  #222 = Utf8               ()Ldev/langchain4j/agent/tool/ToolParameters;\n+  #223 = Methodref          #16.#224      // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInToolParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)I\n+  #224 = NameAndType        #225:#226     // estimateTokenCountInToolParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)I\n+  #225 = Utf8               estimateTokenCountInToolParameters\n+  #226 = Utf8               (Ldev/langchain4j/agent/tool/ToolParameters;)I\n+  #227 = Methodref          #228.#229     // dev/langchain4j/agent/tool/ToolParameters.properties:()Ljava/util/Map;\n+  #228 = Class              #230          // dev/langchain4j/agent/tool/ToolParameters\n+  #229 = NameAndType        #231:#232     // properties:()Ljava/util/Map;\n+  #230 = Utf8               dev/langchain4j/agent/tool/ToolParameters\n+  #231 = Utf8               properties\n+  #232 = Utf8               ()Ljava/util/Map;\n+  #233 = InterfaceMethodref #177.#165     // java/util/Map.size:()I\n+  #234 = InterfaceMethodref #177.#235     // java/util/Map.keySet:()Ljava/util/Set;\n+  #235 = NameAndType        #236:#188     // keySet:()Ljava/util/Set;\n+  #236 = Utf8               keySet\n+  #237 = InterfaceMethodref #177.#238     // java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;\n+  #238 = NameAndType        #169:#239     // get:(Ljava/lang/Object;)Ljava/lang/Object;\n+  #239 = Utf8               (Ljava/lang/Object;)Ljava/lang/Object;\n+  #240 = String             #241          // type\n+  #241 = Utf8               type\n+  #242 = String             #243          // array\n+  #243 = Utf8               array\n+  #244 = String             #218          // description\n+  #245 = Methodref          #228.#246     // dev/langchain4j/agent/tool/ToolParameters.required:()Ljava/util/List;\n+  #246 = NameAndType        #247:#107     // required:()Ljava/util/List;\n+  #247 = Utf8               required\n+  #248 = InterfaceMethodref #109.#249     // java/util/List.contains:(Ljava/lang/Object;)Z\n+  #249 = NameAndType        #250:#153     // contains:(Ljava/lang/Object;)Z\n+  #250 = Utf8               contains\n+  #251 = String             #252          // enum\n+  #252 = Utf8               enum\n+  #253 = Class              #254          // \"[Ljava/lang/Object;\"\n+  #254 = Utf8               [Ljava/lang/Object;\n+  #255 = Methodref          #256.#257     // java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+  #256 = Class              #258          // java/util/Collections\n+  #257 = NameAndType        #259:#260     // singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+  #258 = Utf8               java/util/Collections\n+  #259 = Utf8               singletonList\n+  #260 = Utf8               (Ljava/lang/Object;)Ljava/util/List;\n+  #261 = Methodref          #16.#262      // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInToolSpecifications:(Ljava/lang/Iterable;)I\n+  #262 = NameAndType        #263:#264     // estimateTokenCountInToolSpecifications:(Ljava/lang/Iterable;)I\n+  #263 = Utf8               estimateTokenCountInToolSpecifications\n+  #264 = Utf8               (Ljava/lang/Iterable;)I\n+  #265 = InterfaceMethodref #46.#266      // com/knuddels/jtokkit/api/Encoding.encodeOrdinary:(Ljava/lang/String;)Ljava/util/List;\n+  #266 = NameAndType        #267:#268     // encodeOrdinary:(Ljava/lang/String;)Ljava/util/List;\n+  #267 = Utf8               encodeOrdinary\n+  #268 = Utf8               (Ljava/lang/String;)Ljava/util/List;\n+  #269 = InterfaceMethodref #46.#270      // com/knuddels/jtokkit/api/Encoding.encodeOrdinary:(Ljava/lang/String;I)Lcom/knuddels/jtokkit/api/EncodingResult;\n+  #270 = NameAndType        #267:#271     // encodeOrdinary:(Ljava/lang/String;I)Lcom/knuddels/jtokkit/api/EncodingResult;\n+  #271 = Utf8               (Ljava/lang/String;I)Lcom/knuddels/jtokkit/api/EncodingResult;\n+  #272 = Methodref          #273.#274     // com/knuddels/jtokkit/api/EncodingResult.getTokens:()Ljava/util/List;\n+  #273 = Class              #275          // com/knuddels/jtokkit/api/EncodingResult\n+  #274 = NameAndType        #276:#107     // getTokens:()Ljava/util/List;\n+  #275 = Utf8               com/knuddels/jtokkit/api/EncodingResult\n+  #276 = Utf8               getTokens\n+  #277 = InterfaceMethodref #46.#278      // com/knuddels/jtokkit/api/Encoding.decode:(Ljava/util/List;)Ljava/lang/String;\n+  #278 = NameAndType        #279:#280     // decode:(Ljava/util/List;)Ljava/lang/String;\n+  #279 = Utf8               decode\n+  #280 = Utf8               (Ljava/util/List;)Ljava/lang/String;\n+  #281 = InvokeDynamic      #0:#282       // #0:get:(Ldev/langchain4j/model/openai/OpenAiTokenizer;)Ljava/util/function/Supplier;\n+  #282 = NameAndType        #169:#283     // get:(Ldev/langchain4j/model/openai/OpenAiTokenizer;)Ljava/util/function/Supplier;\n+  #283 = Utf8               (Ldev/langchain4j/model/openai/OpenAiTokenizer;)Ljava/util/function/Supplier;\n+  #284 = Methodref          #16.#285      // dev/langchain4j/model/openai/OpenAiTokenizer.countArguments:(Ljava/lang/String;)I\n+  #285 = NameAndType        #286:#51      // countArguments:(Ljava/lang/String;)I\n+  #286 = Utf8               countArguments\n+  #287 = Fieldref           #143.#288     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #288 = NameAndType        #289:#147     // GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #289 = Utf8               GPT_3_5_TURBO_1106\n+  #290 = Methodref          #143.#92      // dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+  #291 = Methodref          #16.#292      // dev/langchain4j/model/openai/OpenAiTokenizer.isOneOfLatestGpt4Models:()Z\n+  #292 = NameAndType        #293:#119     // isOneOfLatestGpt4Models:()Z\n+  #293 = Utf8               isOneOfLatestGpt4Models\n+  #294 = Fieldref           #143.#295     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #295 = NameAndType        #296:#147     // GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #296 = Utf8               GPT_4_1106_PREVIEW\n+  #297 = Methodref          #16.#298      // dev/langchain4j/model/openai/OpenAiTokenizer.estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n+  #298 = NameAndType        #299:#264     // estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n+  #299 = Utf8               estimateTokenCountInToolExecutionRequests\n+  #300 = Methodref          #301.#302     // dev/langchain4j/internal/Utils.isNullOrBlank:(Ljava/lang/String;)Z\n+  #301 = Class              #303          // dev/langchain4j/internal/Utils\n+  #302 = NameAndType        #304:#305     // isNullOrBlank:(Ljava/lang/String;)Z\n+  #303 = Utf8               dev/langchain4j/internal/Utils\n+  #304 = Utf8               isNullOrBlank\n+  #305 = Utf8               (Ljava/lang/String;)Z\n+  #306 = Methodref          #16.#307      // dev/langchain4j/model/openai/OpenAiTokenizer.isOneOfLatestGpt3Models:()Z\n+  #307 = NameAndType        #308:#119     // isOneOfLatestGpt3Models:()Z\n+  #308 = Utf8               isOneOfLatestGpt3Models\n+  #309 = Fieldref           #143.#310     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #310 = NameAndType        #311:#147     // GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #311 = Utf8               GPT_3_5_TURBO_0125\n+  #312 = Fieldref           #143.#313     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #313 = NameAndType        #314:#147     // GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #314 = Utf8               GPT_4_TURBO_PREVIEW\n+  #315 = Fieldref           #143.#316     // dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #316 = NameAndType        #317:#147     // GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+  #317 = Utf8               GPT_4_0125_PREVIEW\n+  #318 = String             #319          // Model \\'%s\\' is unknown to jtokkit\n+  #319 = Utf8               Model \\'%s\\' is unknown to jtokkit\n+  #320 = Class              #321          // dev/langchain4j/model/Tokenizer\n+  #321 = Utf8               dev/langchain4j/model/Tokenizer\n+  #322 = Utf8               Signature\n+  #323 = Utf8               Ljava/util/Optional<Lcom/knuddels/jtokkit/api/Encoding;>;\n+  #324 = Utf8               Code\n+  #325 = Utf8               LineNumberTable\n+  #326 = Utf8               LocalVariableTable\n+  #327 = Utf8               this\n+  #328 = Utf8               Ldev/langchain4j/model/openai/OpenAiTokenizer;\n+  #329 = Utf8               message\n+  #330 = Utf8               Ldev/langchain4j/data/message/ChatMessage;\n+  #331 = Utf8               tokenCount\n+  #332 = Utf8               I\n+  #333 = Utf8               StackMapTable\n+  #334 = Utf8               systemMessage\n+  #335 = Utf8               Ldev/langchain4j/data/message/SystemMessage;\n+  #336 = Utf8               content\n+  #337 = Utf8               Ldev/langchain4j/data/message/Content;\n+  #338 = Utf8               userMessage\n+  #339 = Utf8               Ldev/langchain4j/data/message/UserMessage;\n+  #340 = Utf8               toolExecutionRequest\n+  #341 = Utf8               Ldev/langchain4j/agent/tool/ToolExecutionRequest;\n+  #342 = Utf8               argument\n+  #343 = Utf8               Ljava/util/Map$Entry;\n+  #344 = Utf8               Ljava/util/Map;\n+  #345 = Utf8               aiMessage\n+  #346 = Utf8               Ldev/langchain4j/data/message/AiMessage;\n+  #347 = Utf8               LocalVariableTypeTable\n+  #348 = Utf8               Ljava/util/Map$Entry<**>;\n+  #349 = Utf8               Ljava/util/Map<**>;\n+  #350 = Utf8               toolExecutionResultMessage\n+  #351 = Utf8               Ldev/langchain4j/data/message/ToolExecutionResultMessage;\n+  #352 = Utf8               estimateTokenCountInMessages\n+  #353 = Utf8               messages\n+  #354 = Utf8               Ljava/lang/Iterable;\n+  #355 = Utf8               Ljava/lang/Iterable<Ldev/langchain4j/data/message/ChatMessage;>;\n+  #356 = Utf8               (Ljava/lang/Iterable<Ldev/langchain4j/data/message/ChatMessage;>;)I\n+  #357 = Utf8               toolSpecification\n+  #358 = Utf8               Ldev/langchain4j/agent/tool/ToolSpecification;\n+  #359 = Utf8               toolSpecifications\n+  #360 = Utf8               Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolSpecification;>;\n+  #361 = Utf8               (Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolSpecification;>;)I\n+  #362 = Utf8               enumValue\n+  #363 = Utf8               Ljava/lang/Object;\n+  #364 = Utf8               entry\n+  #365 = Utf8               property\n+  #366 = Utf8               Ldev/langchain4j/agent/tool/ToolParameters;\n+  #367 = Utf8               Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;\n+  #368 = Utf8               Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;\n+  #369 = Utf8               estimateTokenCountInForcefulToolSpecification\n+  #370 = Utf8               (Ldev/langchain4j/agent/tool/ToolSpecification;)I\n+  #371 = Utf8               encode\n+  #372 = Utf8               (Ljava/lang/String;)Ljava/util/List<Ljava/lang/Integer;>;\n+  #373 = Utf8               (Ljava/lang/String;I)Ljava/util/List;\n+  #374 = Utf8               maxTokensToEncode\n+  #375 = Utf8               (Ljava/lang/String;I)Ljava/util/List<Ljava/lang/Integer;>;\n+  #376 = Utf8               tokens\n+  #377 = Utf8               Ljava/util/List;\n+  #378 = Utf8               Ljava/util/List<Ljava/lang/Integer;>;\n+  #379 = Utf8               (Ljava/util/List<Ljava/lang/Integer;>;)Ljava/lang/String;\n+  #380 = Utf8               ()Ljava/util/function/Supplier<Ljava/lang/IllegalArgumentException;>;\n+  #381 = Utf8               argumentCount\n+  #382 = Utf8               toolsCount\n+  #383 = Utf8               toolsWithArgumentsCount\n+  #384 = Utf8               toolsWithoutArgumentsCount\n+  #385 = Utf8               totalArgumentsCount\n+  #386 = Utf8               Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;\n+  #387 = Utf8               (Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;)I\n+  #388 = Utf8               estimateTokenCountInForcefulToolExecutionRequest\n+  #389 = Utf8               (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n+  #390 = Utf8               argumentsCount\n+  #391 = Utf8               argumentsMap\n+  #392 = Utf8               lambda$unknownModelException$0\n+  #393 = Utf8               ()Ljava/lang/IllegalArgumentException;\n+  #394 = Utf8               SourceFile\n+  #395 = Utf8               OpenAiTokenizer.java\n+  #396 = Utf8               BootstrapMethods\n+  #397 = MethodHandle       6:#398        // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #398 = Methodref          #399.#400     // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #399 = Class              #401          // java/lang/invoke/LambdaMetafactory\n+  #400 = NameAndType        #402:#403     // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #401 = Utf8               java/lang/invoke/LambdaMetafactory\n+  #402 = Utf8               metafactory\n+  #403 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  #404 = MethodType         #123          //  ()Ljava/lang/Object;\n+  #405 = MethodHandle       7:#406        // REF_invokeSpecial dev/langchain4j/model/openai/OpenAiTokenizer.lambda$unknownModelException$0:()Ljava/lang/IllegalArgumentException;\n+  #406 = Methodref          #16.#407      // dev/langchain4j/model/openai/OpenAiTokenizer.lambda$unknownModelException$0:()Ljava/lang/IllegalArgumentException;\n+  #407 = NameAndType        #392:#393     // lambda$unknownModelException$0:()Ljava/lang/IllegalArgumentException;\n+  #408 = MethodType         #393          //  ()Ljava/lang/IllegalArgumentException;\n+  #409 = Utf8               InnerClasses\n+  #410 = Utf8               Entry\n+  #411 = Class              #412          // java/lang/invoke/MethodHandles$Lookup\n+  #412 = Utf8               java/lang/invoke/MethodHandles$Lookup\n+  #413 = Class              #414          // java/lang/invoke/MethodHandles\n+  #414 = Utf8               java/lang/invoke/MethodHandles\n+  #415 = Utf8               Lookup\n {\n   private final java.lang.String modelName;\n     descriptor: Ljava/lang/String;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n \n   private final java.util.Optional<com.knuddels.jtokkit.api.Encoding> encoding;\n     descriptor: Ljava/util/Optional;\n     flags: (0x0012) ACC_PRIVATE, ACC_FINAL\n-    Signature: #110                         // Ljava/util/Optional<Lcom/knuddels/jtokkit/api/Encoding;>;\n+    Signature: #323                         // Ljava/util/Optional<Lcom/knuddels/jtokkit/api/Encoding;>;\n \n   public dev.langchain4j.model.openai.OpenAiTokenizer(java.lang.String);\n     descriptor: (Ljava/lang/String;)V\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=2, args_size=2\n          0: aload_0\n          1: invokespecial #1                  // Method java/lang/Object.\"<init>\":()V\n          4: aload_0\n          5: aload_1\n-         6: ldc           #2                  // String modelName\n-         8: invokestatic  #3                  // Method dev/langchain4j/internal/ValidationUtils.ensureNotBlank:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;\n-        11: putfield      #4                  // Field modelName:Ljava/lang/String;\n+         6: ldc           #7                  // String modelName\n+         8: invokestatic  #9                  // Method dev/langchain4j/internal/ValidationUtils.ensureNotBlank:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;\n+        11: putfield      #15                 // Field modelName:Ljava/lang/String;\n         14: aload_0\n-        15: invokestatic  #5                  // Method com/knuddels/jtokkit/Encodings.newLazyEncodingRegistry:()Lcom/knuddels/jtokkit/api/EncodingRegistry;\n+        15: invokestatic  #20                 // Method com/knuddels/jtokkit/Encodings.newLazyEncodingRegistry:()Lcom/knuddels/jtokkit/api/EncodingRegistry;\n         18: aload_1\n-        19: invokeinterface #6,  2            // InterfaceMethod com/knuddels/jtokkit/api/EncodingRegistry.getEncodingForModel:(Ljava/lang/String;)Ljava/util/Optional;\n-        24: putfield      #7                  // Field encoding:Ljava/util/Optional;\n+        19: invokeinterface #26,  2           // InterfaceMethod com/knuddels/jtokkit/api/EncodingRegistry.getEncodingForModel:(Ljava/lang/String;)Ljava/util/Optional;\n+        24: putfield      #32                 // Field encoding:Ljava/util/Optional;\n         27: return\n       LineNumberTable:\n         line 33: 0\n         line 34: 4\n         line 39: 14\n         line 40: 27\n       LocalVariableTable:\n@@ -473,21 +463,21 @@\n \n   public int estimateTokenCountInText(java.lang.String);\n     descriptor: (Ljava/lang/String;)I\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #7                  // Field encoding:Ljava/util/Optional;\n+         1: getfield      #32                 // Field encoding:Ljava/util/Optional;\n          4: aload_0\n-         5: invokespecial #8                  // Method unknownModelException:()Ljava/util/function/Supplier;\n-         8: invokevirtual #9                  // Method java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n-        11: checkcast     #10                 // class com/knuddels/jtokkit/api/Encoding\n+         5: invokespecial #36                 // Method unknownModelException:()Ljava/util/function/Supplier;\n+         8: invokevirtual #40                 // Method java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n+        11: checkcast     #46                 // class com/knuddels/jtokkit/api/Encoding\n         14: aload_1\n-        15: invokeinterface #11,  2           // InterfaceMethod com/knuddels/jtokkit/api/Encoding.countTokensOrdinary:(Ljava/lang/String;)I\n+        15: invokeinterface #48,  2           // InterfaceMethod com/knuddels/jtokkit/api/Encoding.countTokensOrdinary:(Ljava/lang/String;)I\n         20: ireturn\n       LineNumberTable:\n         line 43: 0\n         line 44: 15\n         line 43: 20\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n@@ -499,72 +489,72 @@\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=4, locals=3, args_size=2\n          0: iconst_1\n          1: istore_2\n          2: iload_2\n          3: aload_0\n-         4: invokespecial #12                 // Method extraTokensPerMessage:()I\n+         4: invokespecial #52                 // Method extraTokensPerMessage:()I\n          7: iadd\n          8: istore_2\n          9: aload_1\n-        10: instanceof    #13                 // class dev/langchain4j/data/message/SystemMessage\n+        10: instanceof    #56                 // class dev/langchain4j/data/message/SystemMessage\n         13: ifeq          30\n         16: iload_2\n         17: aload_0\n         18: aload_1\n-        19: checkcast     #13                 // class dev/langchain4j/data/message/SystemMessage\n-        22: invokespecial #14                 // Method estimateTokenCountIn:(Ldev/langchain4j/data/message/SystemMessage;)I\n+        19: checkcast     #56                 // class dev/langchain4j/data/message/SystemMessage\n+        22: invokespecial #58                 // Method estimateTokenCountIn:(Ldev/langchain4j/data/message/SystemMessage;)I\n         25: iadd\n         26: istore_2\n         27: goto          120\n         30: aload_1\n-        31: instanceof    #15                 // class dev/langchain4j/data/message/UserMessage\n+        31: instanceof    #62                 // class dev/langchain4j/data/message/UserMessage\n         34: ifeq          51\n         37: iload_2\n         38: aload_0\n         39: aload_1\n-        40: checkcast     #15                 // class dev/langchain4j/data/message/UserMessage\n-        43: invokespecial #16                 // Method estimateTokenCountIn:(Ldev/langchain4j/data/message/UserMessage;)I\n+        40: checkcast     #62                 // class dev/langchain4j/data/message/UserMessage\n+        43: invokespecial #64                 // Method estimateTokenCountIn:(Ldev/langchain4j/data/message/UserMessage;)I\n         46: iadd\n         47: istore_2\n         48: goto          120\n         51: aload_1\n-        52: instanceof    #17                 // class dev/langchain4j/data/message/AiMessage\n+        52: instanceof    #67                 // class dev/langchain4j/data/message/AiMessage\n         55: ifeq          72\n         58: iload_2\n         59: aload_0\n         60: aload_1\n-        61: checkcast     #17                 // class dev/langchain4j/data/message/AiMessage\n-        64: invokespecial #18                 // Method estimateTokenCountIn:(Ldev/langchain4j/data/message/AiMessage;)I\n+        61: checkcast     #67                 // class dev/langchain4j/data/message/AiMessage\n+        64: invokespecial #69                 // Method estimateTokenCountIn:(Ldev/langchain4j/data/message/AiMessage;)I\n         67: iadd\n         68: istore_2\n         69: goto          120\n         72: aload_1\n-        73: instanceof    #19                 // class dev/langchain4j/data/message/ToolExecutionResultMessage\n+        73: instanceof    #72                 // class dev/langchain4j/data/message/ToolExecutionResultMessage\n         76: ifeq          93\n         79: iload_2\n         80: aload_0\n         81: aload_1\n-        82: checkcast     #19                 // class dev/langchain4j/data/message/ToolExecutionResultMessage\n-        85: invokespecial #20                 // Method estimateTokenCountIn:(Ldev/langchain4j/data/message/ToolExecutionResultMessage;)I\n+        82: checkcast     #72                 // class dev/langchain4j/data/message/ToolExecutionResultMessage\n+        85: invokespecial #74                 // Method estimateTokenCountIn:(Ldev/langchain4j/data/message/ToolExecutionResultMessage;)I\n         88: iadd\n         89: istore_2\n         90: goto          120\n-        93: new           #21                 // class java/lang/IllegalArgumentException\n+        93: new           #77                 // class java/lang/IllegalArgumentException\n         96: dup\n-        97: new           #22                 // class java/lang/StringBuilder\n+        97: new           #79                 // class java/lang/StringBuilder\n        100: dup\n-       101: invokespecial #23                 // Method java/lang/StringBuilder.\"<init>\":()V\n-       104: ldc           #24                 // String Unknown message type:\n-       106: invokevirtual #25                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+       101: invokespecial #81                 // Method java/lang/StringBuilder.\"<init>\":()V\n+       104: ldc           #82                 // String Unknown message type:\n+       106: invokevirtual #84                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n        109: aload_1\n-       110: invokevirtual #26                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-       113: invokevirtual #27                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n-       116: invokespecial #28                 // Method java/lang/IllegalArgumentException.\"<init>\":(Ljava/lang/String;)V\n+       110: invokevirtual #88                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+       113: invokevirtual #91                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+       116: invokespecial #95                 // Method java/lang/IllegalArgumentException.\"<init>\":(Ljava/lang/String;)V\n        119: athrow\n        120: iload_2\n        121: ireturn\n       LineNumberTable:\n         line 49: 0\n         line 50: 2\n         line 52: 9\n@@ -594,16 +584,16 @@\n   private int estimateTokenCountIn(dev.langchain4j.data.message.SystemMessage);\n     descriptor: (Ldev/langchain4j/data/message/SystemMessage;)I\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokevirtual #29                 // Method dev/langchain4j/data/message/SystemMessage.text:()Ljava/lang/String;\n-         5: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+         2: invokevirtual #98                 // Method dev/langchain4j/data/message/SystemMessage.text:()Ljava/lang/String;\n+         5: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n          8: ireturn\n       LineNumberTable:\n         line 68: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       9     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n             0       9     1 systemMessage   Ldev/langchain4j/data/message/SystemMessage;\n@@ -612,72 +602,72 @@\n     descriptor: (Ldev/langchain4j/data/message/UserMessage;)I\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=3, locals=5, args_size=2\n          0: iconst_0\n          1: istore_2\n          2: aload_1\n-         3: invokevirtual #31                 // Method dev/langchain4j/data/message/UserMessage.contents:()Ljava/util/List;\n-         6: invokeinterface #32,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;\n+         3: invokevirtual #104                // Method dev/langchain4j/data/message/UserMessage.contents:()Ljava/util/List;\n+         6: invokeinterface #108,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;\n         11: astore_3\n         12: aload_3\n-        13: invokeinterface #33,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n+        13: invokeinterface #114,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n         18: ifeq          103\n         21: aload_3\n-        22: invokeinterface #34,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-        27: checkcast     #35                 // class dev/langchain4j/data/message/Content\n+        22: invokeinterface #120,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+        27: checkcast     #124                // class dev/langchain4j/data/message/Content\n         30: astore        4\n         32: aload         4\n-        34: instanceof    #36                 // class dev/langchain4j/data/message/TextContent\n+        34: instanceof    #126                // class dev/langchain4j/data/message/TextContent\n         37: ifeq          58\n         40: iload_2\n         41: aload_0\n         42: aload         4\n-        44: checkcast     #36                 // class dev/langchain4j/data/message/TextContent\n-        47: invokevirtual #37                 // Method dev/langchain4j/data/message/TextContent.text:()Ljava/lang/String;\n-        50: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        44: checkcast     #126                // class dev/langchain4j/data/message/TextContent\n+        47: invokevirtual #128                // Method dev/langchain4j/data/message/TextContent.text:()Ljava/lang/String;\n+        50: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         53: iadd\n         54: istore_2\n         55: goto          100\n         58: aload         4\n-        60: instanceof    #38                 // class dev/langchain4j/data/message/ImageContent\n+        60: instanceof    #129                // class dev/langchain4j/data/message/ImageContent\n         63: ifeq          72\n         66: iinc          2, 85\n         69: goto          100\n-        72: new           #22                 // class java/lang/StringBuilder\n+        72: new           #79                 // class java/lang/StringBuilder\n         75: dup\n-        76: invokespecial #23                 // Method java/lang/StringBuilder.\"<init>\":()V\n-        79: ldc           #39                 // String Unknown content type:\n-        81: invokevirtual #25                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n+        76: invokespecial #81                 // Method java/lang/StringBuilder.\"<init>\":()V\n+        79: ldc           #131                // String Unknown content type:\n+        81: invokevirtual #84                 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;\n         84: aload         4\n-        86: invokevirtual #26                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n-        89: invokevirtual #27                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n+        86: invokevirtual #88                 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;\n+        89: invokevirtual #91                 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;\n         92: iconst_0\n-        93: anewarray     #40                 // class java/lang/Object\n-        96: invokestatic  #41                 // Method dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+        93: anewarray     #2                  // class java/lang/Object\n+        96: invokestatic  #133                // Method dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n         99: athrow\n        100: goto          12\n        103: aload_1\n-       104: invokevirtual #42                 // Method dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n+       104: invokevirtual #139                // Method dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n        107: ifnull        141\n        110: aload_0\n-       111: getfield      #4                  // Field modelName:Ljava/lang/String;\n-       114: getstatic     #43                 // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       117: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       111: getfield      #15                 // Field modelName:Ljava/lang/String;\n+       114: getstatic     #142                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_VISION_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       117: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n        120: ifne          141\n        123: iload_2\n        124: aload_0\n-       125: invokespecial #45                 // Method extraTokensPerName:()I\n+       125: invokespecial #154                // Method extraTokensPerName:()I\n        128: iadd\n        129: istore_2\n        130: iload_2\n        131: aload_0\n        132: aload_1\n-       133: invokevirtual #42                 // Method dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n-       136: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+       133: invokevirtual #139                // Method dev/langchain4j/data/message/UserMessage.name:()Ljava/lang/String;\n+       136: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n        139: iadd\n        140: istore_2\n        141: iload_2\n        142: ireturn\n       LineNumberTable:\n         line 72: 0\n         line 74: 2\n@@ -715,113 +705,113 @@\n     descriptor: (Ldev/langchain4j/data/message/AiMessage;)I\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=3, locals=8, args_size=2\n          0: iconst_0\n          1: istore_2\n          2: aload_1\n-         3: invokevirtual #46                 // Method dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n+         3: invokevirtual #157                // Method dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n          6: ifnull        20\n          9: iload_2\n         10: aload_0\n         11: aload_1\n-        12: invokevirtual #46                 // Method dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n-        15: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        12: invokevirtual #157                // Method dev/langchain4j/data/message/AiMessage.text:()Ljava/lang/String;\n+        15: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         18: iadd\n         19: istore_2\n         20: aload_1\n-        21: invokevirtual #47                 // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n+        21: invokevirtual #158                // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n         24: ifnull        242\n         27: aload_0\n-        28: invokespecial #48                 // Method isOneOfLatestModels:()Z\n+        28: invokespecial #161                // Method isOneOfLatestModels:()Z\n         31: ifeq          40\n         34: iinc          2, 6\n         37: goto          43\n         40: iinc          2, 3\n         43: aload_1\n-        44: invokevirtual #47                 // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n-        47: invokeinterface #49,  1           // InterfaceMethod java/util/List.size:()I\n+        44: invokevirtual #158                // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n+        47: invokeinterface #164,  1          // InterfaceMethod java/util/List.size:()I\n         52: iconst_1\n         53: if_icmpne     100\n         56: iinc          2, -1\n         59: aload_1\n-        60: invokevirtual #47                 // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n+        60: invokevirtual #158                // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n         63: iconst_0\n-        64: invokeinterface #50,  2           // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n-        69: checkcast     #51                 // class dev/langchain4j/agent/tool/ToolExecutionRequest\n+        64: invokeinterface #167,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;\n+        69: checkcast     #171                // class dev/langchain4j/agent/tool/ToolExecutionRequest\n         72: astore_3\n         73: iload_2\n         74: aload_0\n         75: aload_3\n-        76: invokevirtual #52                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n-        79: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        76: invokevirtual #173                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n+        79: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         82: iconst_2\n         83: imul\n         84: iadd\n         85: istore_2\n         86: iload_2\n         87: aload_0\n         88: aload_3\n-        89: invokevirtual #53                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-        92: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        89: invokevirtual #174                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+        92: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         95: iadd\n         96: istore_2\n         97: goto          242\n        100: iinc          2, 15\n        103: aload_1\n-       104: invokevirtual #47                 // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n-       107: invokeinterface #32,  1           // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;\n+       104: invokevirtual #158                // Method dev/langchain4j/data/message/AiMessage.toolExecutionRequests:()Ljava/util/List;\n+       107: invokeinterface #108,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;\n        112: astore_3\n        113: aload_3\n-       114: invokeinterface #33,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n+       114: invokeinterface #114,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n        119: ifeq          242\n        122: aload_3\n-       123: invokeinterface #34,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-       128: checkcast     #51                 // class dev/langchain4j/agent/tool/ToolExecutionRequest\n+       123: invokeinterface #120,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+       128: checkcast     #171                // class dev/langchain4j/agent/tool/ToolExecutionRequest\n        131: astore        4\n        133: iinc          2, 7\n        136: iload_2\n        137: aload_0\n        138: aload         4\n-       140: invokevirtual #52                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n-       143: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+       140: invokevirtual #173                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n+       143: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n        146: iadd\n        147: istore_2\n        148: aload         4\n-       150: invokevirtual #53                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-       153: ldc           #54                 // class java/util/Map\n-       155: invokestatic  #55                 // Method dev/langchain4j/internal/Json.fromJson:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n-       158: checkcast     #54                 // class java/util/Map\n+       150: invokevirtual #174                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+       153: ldc           #177                // class java/util/Map\n+       155: invokestatic  #179                // Method dev/langchain4j/internal/Json.fromJson:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n+       158: checkcast     #177                // class java/util/Map\n        161: astore        5\n        163: aload         5\n-       165: invokeinterface #56,  1           // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;\n-       170: invokeinterface #57,  1           // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;\n+       165: invokeinterface #185,  1          // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;\n+       170: invokeinterface #189,  1          // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;\n        175: astore        6\n        177: aload         6\n-       179: invokeinterface #33,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n+       179: invokeinterface #114,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n        184: ifeq          239\n        187: aload         6\n-       189: invokeinterface #34,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-       194: checkcast     #58                 // class java/util/Map$Entry\n+       189: invokeinterface #120,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+       194: checkcast     #192                // class java/util/Map$Entry\n        197: astore        7\n        199: iinc          2, 2\n        202: iload_2\n        203: aload_0\n        204: aload         7\n-       206: invokeinterface #59,  1           // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;\n-       211: invokevirtual #60                 // Method java/lang/Object.toString:()Ljava/lang/String;\n-       214: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+       206: invokeinterface #194,  1          // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;\n+       211: invokevirtual #197                // Method java/lang/Object.toString:()Ljava/lang/String;\n+       214: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n        217: iadd\n        218: istore_2\n        219: iload_2\n        220: aload_0\n        221: aload         7\n-       223: invokeinterface #61,  1           // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;\n-       228: invokevirtual #60                 // Method java/lang/Object.toString:()Ljava/lang/String;\n-       231: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+       223: invokeinterface #198,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;\n+       228: invokevirtual #197                // Method java/lang/Object.toString:()Ljava/lang/String;\n+       231: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n        234: iadd\n        235: istore_2\n        236: goto          177\n        239: goto          113\n        242: iload_2\n        243: ireturn\n       LineNumberTable:\n@@ -884,33 +874,33 @@\n   private int estimateTokenCountIn(dev.langchain4j.data.message.ToolExecutionResultMessage);\n     descriptor: (Ldev/langchain4j/data/message/ToolExecutionResultMessage;)I\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokevirtual #62                 // Method dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n-         5: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+         2: invokevirtual #201                // Method dev/langchain4j/data/message/ToolExecutionResultMessage.text:()Ljava/lang/String;\n+         5: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n          8: ireturn\n       LineNumberTable:\n         line 130: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       9     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n             0       9     1 toolExecutionResultMessage   Ldev/langchain4j/data/message/ToolExecutionResultMessage;\n \n   private int extraTokensPerMessage();\n     descriptor: ()I\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #4                  // Field modelName:Ljava/lang/String;\n-         4: ldc           #63                 // String gpt-3.5-turbo-0301\n-         6: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+         1: getfield      #15                 // Field modelName:Ljava/lang/String;\n+         4: ldc           #202                // String gpt-3.5-turbo-0301\n+         6: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n          9: ifeq          14\n         12: iconst_4\n         13: ireturn\n         14: iconst_3\n         15: ireturn\n       LineNumberTable:\n         line 134: 0\n@@ -924,17 +914,17 @@\n \n   private int extraTokensPerName();\n     descriptor: ()I\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #4                  // Field modelName:Ljava/lang/String;\n-         4: ldc           #63                 // String gpt-3.5-turbo-0301\n-         6: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+         1: getfield      #15                 // Field modelName:Ljava/lang/String;\n+         4: ldc           #202                // String gpt-3.5-turbo-0301\n+         6: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n          9: ifeq          14\n         12: iconst_m1\n         13: ireturn\n         14: iconst_1\n         15: ireturn\n       LineNumberTable:\n         line 142: 0\n@@ -950,27 +940,27 @@\n     descriptor: (Ljava/lang/Iterable;)I\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=5, args_size=2\n          0: iconst_3\n          1: istore_2\n          2: aload_1\n-         3: invokeinterface #64,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;\n+         3: invokeinterface #204,  1          // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;\n          8: astore_3\n          9: aload_3\n-        10: invokeinterface #33,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n+        10: invokeinterface #114,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n         15: ifeq          41\n         18: aload_3\n-        19: invokeinterface #34,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-        24: checkcast     #65                 // class dev/langchain4j/data/message/ChatMessage\n+        19: invokeinterface #120,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+        24: checkcast     #207                // class dev/langchain4j/data/message/ChatMessage\n         27: astore        4\n         29: iload_2\n         30: aload_0\n         31: aload         4\n-        33: invokevirtual #66                 // Method estimateTokenCountInMessage:(Ldev/langchain4j/data/message/ChatMessage;)I\n+        33: invokevirtual #209                // Method estimateTokenCountInMessage:(Ldev/langchain4j/data/message/ChatMessage;)I\n         36: iadd\n         37: istore_2\n         38: goto          9\n         41: iload_2\n         42: ireturn\n       LineNumberTable:\n         line 153: 0\n@@ -989,57 +979,57 @@\n             0      43     1 messages   Ljava/lang/Iterable<Ldev/langchain4j/data/message/ChatMessage;>;\n       StackMapTable: number_of_entries = 2\n         frame_type = 253 /* append */\n           offset_delta = 9\n           locals = [ int, class java/util/Iterator ]\n         frame_type = 250 /* chop */\n           offset_delta = 31\n-    Signature: #166                         // (Ljava/lang/Iterable<Ldev/langchain4j/data/message/ChatMessage;>;)I\n+    Signature: #356                         // (Ljava/lang/Iterable<Ldev/langchain4j/data/message/ChatMessage;>;)I\n \n   public int estimateTokenCountInToolSpecifications(java.lang.Iterable<dev.langchain4j.agent.tool.ToolSpecification>);\n     descriptor: (Ljava/lang/Iterable;)I\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=5, args_size=2\n          0: bipush        16\n          2: istore_2\n          3: aload_1\n-         4: invokeinterface #64,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;\n+         4: invokeinterface #204,  1          // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;\n          9: astore_3\n         10: aload_3\n-        11: invokeinterface #33,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n+        11: invokeinterface #114,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n         16: ifeq          83\n         19: aload_3\n-        20: invokeinterface #34,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-        25: checkcast     #67                 // class dev/langchain4j/agent/tool/ToolSpecification\n+        20: invokeinterface #120,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+        25: checkcast     #213                // class dev/langchain4j/agent/tool/ToolSpecification\n         28: astore        4\n         30: iinc          2, 6\n         33: iload_2\n         34: aload_0\n         35: aload         4\n-        37: invokevirtual #68                 // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n-        40: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        37: invokevirtual #215                // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n+        40: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         43: iadd\n         44: istore_2\n         45: aload         4\n-        47: invokevirtual #69                 // Method dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n+        47: invokevirtual #216                // Method dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n         50: ifnull        68\n         53: iinc          2, 2\n         56: iload_2\n         57: aload_0\n         58: aload         4\n-        60: invokevirtual #69                 // Method dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n-        63: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        60: invokevirtual #216                // Method dev/langchain4j/agent/tool/ToolSpecification.description:()Ljava/lang/String;\n+        63: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         66: iadd\n         67: istore_2\n         68: iload_2\n         69: aload_0\n         70: aload         4\n-        72: invokevirtual #70                 // Method dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n-        75: invokespecial #71                 // Method estimateTokenCountInToolParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)I\n+        72: invokevirtual #219                // Method dev/langchain4j/agent/tool/ToolSpecification.parameters:()Ldev/langchain4j/agent/tool/ToolParameters;\n+        75: invokespecial #223                // Method estimateTokenCountInToolParameters:(Ldev/langchain4j/agent/tool/ToolParameters;)I\n         78: iadd\n         79: istore_2\n         80: goto          10\n         83: iload_2\n         84: ireturn\n       LineNumberTable:\n         line 162: 0\n@@ -1066,158 +1056,157 @@\n           offset_delta = 10\n           locals = [ int, class java/util/Iterator ]\n         frame_type = 252 /* append */\n           offset_delta = 57\n           locals = [ class dev/langchain4j/agent/tool/ToolSpecification ]\n         frame_type = 249 /* chop */\n           offset_delta = 14\n-    Signature: #173                         // (Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolSpecification;>;)I\n+    Signature: #361                         // (Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolSpecification;>;)I\n \n   private int estimateTokenCountInToolParameters(dev.langchain4j.agent.tool.ToolParameters);\n     descriptor: (Ldev/langchain4j/agent/tool/ToolParameters;)I\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=3, locals=12, args_size=2\n          0: aload_1\n          1: ifnonnull     6\n          4: iconst_0\n          5: ireturn\n          6: iconst_3\n          7: istore_2\n          8: aload_1\n-         9: invokevirtual #72                 // Method dev/langchain4j/agent/tool/ToolParameters.properties:()Ljava/util/Map;\n+         9: invokevirtual #227                // Method dev/langchain4j/agent/tool/ToolParameters.properties:()Ljava/util/Map;\n         12: astore_3\n         13: aload_0\n-        14: invokespecial #48                 // Method isOneOfLatestModels:()Z\n+        14: invokespecial #161                // Method isOneOfLatestModels:()Z\n         17: ifeq          31\n         20: iload_2\n         21: aload_3\n-        22: invokeinterface #73,  1           // InterfaceMethod java/util/Map.size:()I\n+        22: invokeinterface #233,  1          // InterfaceMethod java/util/Map.size:()I\n         27: iconst_1\n         28: isub\n         29: iadd\n         30: istore_2\n         31: aload_3\n-        32: invokeinterface #74,  1           // InterfaceMethod java/util/Map.keySet:()Ljava/util/Set;\n-        37: invokeinterface #57,  1           // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;\n+        32: invokeinterface #234,  1          // InterfaceMethod java/util/Map.keySet:()Ljava/util/Set;\n+        37: invokeinterface #189,  1          // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;\n         42: astore        4\n         44: aload         4\n-        46: invokeinterface #33,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n-        51: ifeq          336\n+        46: invokeinterface #114,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n+        51: ifeq          333\n         54: aload         4\n-        56: invokeinterface #34,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-        61: checkcast     #75                 // class java/lang/String\n+        56: invokeinterface #120,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+        61: checkcast     #149                // class java/lang/String\n         64: astore        5\n         66: aload_0\n-        67: invokespecial #48                 // Method isOneOfLatestModels:()Z\n+        67: invokespecial #161                // Method isOneOfLatestModels:()Z\n         70: ifeq          79\n         73: iinc          2, 2\n         76: goto          82\n         79: iinc          2, 3\n         82: iload_2\n         83: aload_0\n         84: aload         5\n-        86: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        86: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         89: iadd\n         90: istore_2\n         91: aload_3\n         92: aload         5\n-        94: invokeinterface #76,  2           // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;\n-        99: checkcast     #54                 // class java/util/Map\n-       102: invokeinterface #56,  1           // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;\n-       107: invokeinterface #57,  1           // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;\n+        94: invokeinterface #237,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;\n+        99: checkcast     #177                // class java/util/Map\n+       102: invokeinterface #185,  1          // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;\n+       107: invokeinterface #189,  1          // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;\n        112: astore        6\n        114: aload         6\n-       116: invokeinterface #33,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n-       121: ifeq          333\n+       116: invokeinterface #114,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n+       121: ifeq          330\n        124: aload         6\n-       126: invokeinterface #34,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-       131: checkcast     #58                 // class java/util/Map$Entry\n+       126: invokeinterface #120,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+       131: checkcast     #192                // class java/util/Map$Entry\n        134: astore        7\n-       136: ldc           #77                 // String type\n+       136: ldc           #240                // String type\n        138: aload         7\n-       140: invokeinterface #59,  1           // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;\n-       145: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       140: invokeinterface #194,  1          // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;\n+       145: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n        148: ifeq          179\n-       151: ldc           #78                 // String array\n+       151: ldc           #242                // String array\n        153: aload         7\n-       155: invokeinterface #61,  1           // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;\n-       160: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n-       163: ifeq          330\n+       155: invokeinterface #198,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;\n+       160: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       163: ifeq          327\n        166: aload_0\n-       167: invokespecial #48                 // Method isOneOfLatestModels:()Z\n-       170: ifeq          330\n+       167: invokespecial #161                // Method isOneOfLatestModels:()Z\n+       170: ifeq          327\n        173: iinc          2, 1\n-       176: goto          330\n-       179: ldc           #79                 // String description\n+       176: goto          327\n+       179: ldc           #244                // String description\n        181: aload         7\n-       183: invokeinterface #59,  1           // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;\n-       188: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       183: invokeinterface #194,  1          // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;\n+       188: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n        191: ifeq          241\n        194: iinc          2, 2\n        197: iload_2\n        198: aload_0\n        199: aload         7\n-       201: invokeinterface #61,  1           // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;\n-       206: invokevirtual #60                 // Method java/lang/Object.toString:()Ljava/lang/String;\n-       209: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+       201: invokeinterface #198,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;\n+       206: invokevirtual #197                // Method java/lang/Object.toString:()Ljava/lang/String;\n+       209: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n        212: iadd\n        213: istore_2\n        214: aload_0\n-       215: invokespecial #48                 // Method isOneOfLatestModels:()Z\n-       218: ifeq          330\n+       215: invokespecial #161                // Method isOneOfLatestModels:()Z\n+       218: ifeq          327\n        221: aload_1\n-       222: invokevirtual #80                 // Method dev/langchain4j/agent/tool/ToolParameters.required:()Ljava/util/List;\n+       222: invokevirtual #245                // Method dev/langchain4j/agent/tool/ToolParameters.required:()Ljava/util/List;\n        225: aload         5\n-       227: invokeinterface #81,  2           // InterfaceMethod java/util/List.contains:(Ljava/lang/Object;)Z\n-       232: ifeq          330\n+       227: invokeinterface #248,  2          // InterfaceMethod java/util/List.contains:(Ljava/lang/Object;)Z\n+       232: ifeq          327\n        235: iinc          2, 1\n-       238: goto          330\n-       241: ldc           #82                 // String enum\n+       238: goto          327\n+       241: ldc           #251                // String enum\n        243: aload         7\n-       245: invokeinterface #59,  1           // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;\n-       250: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n-       253: ifeq          330\n+       245: invokeinterface #194,  1          // InterfaceMethod java/util/Map$Entry.getKey:()Ljava/lang/Object;\n+       250: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       253: ifeq          327\n        256: aload_0\n-       257: invokespecial #48                 // Method isOneOfLatestModels:()Z\n+       257: invokespecial #161                // Method isOneOfLatestModels:()Z\n        260: ifeq          269\n        263: iinc          2, -2\n        266: goto          272\n        269: iinc          2, -3\n        272: aload         7\n-       274: invokeinterface #61,  1           // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;\n-       279: checkcast     #83                 // class \"[Ljava/lang/Object;\"\n-       282: checkcast     #83                 // class \"[Ljava/lang/Object;\"\n-       285: astore        8\n-       287: aload         8\n-       289: arraylength\n-       290: istore        9\n-       292: iconst_0\n-       293: istore        10\n-       295: iload         10\n-       297: iload         9\n-       299: if_icmpge     330\n-       302: aload         8\n-       304: iload         10\n-       306: aaload\n-       307: astore        11\n-       309: iinc          2, 3\n-       312: iload_2\n-       313: aload_0\n-       314: aload         11\n-       316: invokevirtual #60                 // Method java/lang/Object.toString:()Ljava/lang/String;\n-       319: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n-       322: iadd\n-       323: istore_2\n-       324: iinc          10, 1\n-       327: goto          295\n-       330: goto          114\n-       333: goto          44\n-       336: iload_2\n-       337: ireturn\n+       274: invokeinterface #198,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;\n+       279: checkcast     #253                // class \"[Ljava/lang/Object;\"\n+       282: astore        8\n+       284: aload         8\n+       286: arraylength\n+       287: istore        9\n+       289: iconst_0\n+       290: istore        10\n+       292: iload         10\n+       294: iload         9\n+       296: if_icmpge     327\n+       299: aload         8\n+       301: iload         10\n+       303: aaload\n+       304: astore        11\n+       306: iinc          2, 3\n+       309: iload_2\n+       310: aload_0\n+       311: aload         11\n+       313: invokevirtual #197                // Method java/lang/Object.toString:()Ljava/lang/String;\n+       316: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+       319: iadd\n+       320: istore_2\n+       321: iinc          10, 1\n+       324: goto          292\n+       327: goto          114\n+       330: goto          44\n+       333: iload_2\n+       334: ireturn\n       LineNumberTable:\n         line 176: 0\n         line 177: 4\n         line 180: 6\n         line 181: 8\n         line 182: 13\n         line 183: 20\n@@ -1236,33 +1225,33 @@\n         line 201: 214\n         line 202: 235\n         line 204: 241\n         line 205: 256\n         line 206: 263\n         line 208: 269\n         line 210: 272\n-        line 211: 309\n-        line 212: 312\n-        line 210: 324\n-        line 215: 330\n-        line 216: 333\n-        line 217: 336\n+        line 211: 306\n+        line 212: 309\n+        line 210: 321\n+        line 215: 327\n+        line 216: 330\n+        line 217: 333\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n-          309      15    11 enumValue   Ljava/lang/Object;\n-          136     194     7 entry   Ljava/util/Map$Entry;\n-           66     267     5 property   Ljava/lang/String;\n-            0     338     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n-            0     338     1 parameters   Ldev/langchain4j/agent/tool/ToolParameters;\n-            8     330     2 tokenCount   I\n-           13     325     3 properties   Ljava/util/Map;\n+          306      15    11 enumValue   Ljava/lang/Object;\n+          136     191     7 entry   Ljava/util/Map$Entry;\n+           66     264     5 property   Ljava/lang/String;\n+            0     335     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n+            0     335     1 parameters   Ldev/langchain4j/agent/tool/ToolParameters;\n+            8     327     2 tokenCount   I\n+           13     322     3 properties   Ljava/util/Map;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n-          136     194     7 entry   Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;\n-           13     325     3 properties   Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;\n+          136     191     7 entry   Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;\n+           13     322     3 properties   Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>;\n       StackMapTable: number_of_entries = 14\n         frame_type = 6 /* same */\n         frame_type = 253 /* append */\n           offset_delta = 24\n           locals = [ int, class java/util/Map ]\n         frame_type = 252 /* append */\n           offset_delta = 12\n@@ -1277,15 +1266,15 @@\n         frame_type = 252 /* append */\n           offset_delta = 64\n           locals = [ class java/util/Map$Entry ]\n         frame_type = 61 /* same */\n         frame_type = 27 /* same */\n         frame_type = 2 /* same */\n         frame_type = 254 /* append */\n-          offset_delta = 22\n+          offset_delta = 19\n           locals = [ class \"[Ljava/lang/Object;\", int, int ]\n         frame_type = 255 /* full_frame */\n           offset_delta = 34\n           locals = [ class dev/langchain4j/model/openai/OpenAiTokenizer, class dev/langchain4j/agent/tool/ToolParameters, int, class java/util/Map, class java/util/Iterator, class java/lang/String, class java/util/Iterator ]\n           stack = []\n         frame_type = 249 /* chop */\n           offset_delta = 2\n@@ -1295,27 +1284,27 @@\n   public int estimateTokenCountInForcefulToolSpecification(dev.langchain4j.agent.tool.ToolSpecification);\n     descriptor: (Ldev/langchain4j/agent/tool/ToolSpecification;)I\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=3, args_size=2\n          0: aload_0\n          1: aload_1\n-         2: invokestatic  #84                 // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-         5: invokevirtual #85                 // Method estimateTokenCountInToolSpecifications:(Ljava/lang/Iterable;)I\n+         2: invokestatic  #255                // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+         5: invokevirtual #261                // Method estimateTokenCountInToolSpecifications:(Ljava/lang/Iterable;)I\n          8: istore_2\n          9: iinc          2, 4\n         12: iload_2\n         13: aload_0\n         14: aload_1\n-        15: invokevirtual #68                 // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n-        18: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        15: invokevirtual #215                // Method dev/langchain4j/agent/tool/ToolSpecification.name:()Ljava/lang/String;\n+        18: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         21: iadd\n         22: istore_2\n         23: aload_0\n-        24: invokespecial #48                 // Method isOneOfLatestModels:()Z\n+        24: invokespecial #161                // Method isOneOfLatestModels:()Z\n         27: ifeq          33\n         30: iinc          2, 3\n         33: iload_2\n         34: ireturn\n       LineNumberTable:\n         line 222: 0\n         line 223: 9\n@@ -1335,100 +1324,100 @@\n \n   public java.util.List<java.lang.Integer> encode(java.lang.String);\n     descriptor: (Ljava/lang/String;)Ljava/util/List;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #7                  // Field encoding:Ljava/util/Optional;\n+         1: getfield      #32                 // Field encoding:Ljava/util/Optional;\n          4: aload_0\n-         5: invokespecial #8                  // Method unknownModelException:()Ljava/util/function/Supplier;\n-         8: invokevirtual #9                  // Method java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n-        11: checkcast     #10                 // class com/knuddels/jtokkit/api/Encoding\n+         5: invokespecial #36                 // Method unknownModelException:()Ljava/util/function/Supplier;\n+         8: invokevirtual #40                 // Method java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n+        11: checkcast     #46                 // class com/knuddels/jtokkit/api/Encoding\n         14: aload_1\n-        15: invokeinterface #86,  2           // InterfaceMethod com/knuddels/jtokkit/api/Encoding.encodeOrdinary:(Ljava/lang/String;)Ljava/util/List;\n+        15: invokeinterface #265,  2          // InterfaceMethod com/knuddels/jtokkit/api/Encoding.encodeOrdinary:(Ljava/lang/String;)Ljava/util/List;\n         20: areturn\n       LineNumberTable:\n         line 232: 0\n         line 233: 15\n         line 232: 20\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      21     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n             0      21     1  text   Ljava/lang/String;\n-    Signature: #193                         // (Ljava/lang/String;)Ljava/util/List<Ljava/lang/Integer;>;\n+    Signature: #372                         // (Ljava/lang/String;)Ljava/util/List<Ljava/lang/Integer;>;\n \n   public java.util.List<java.lang.Integer> encode(java.lang.String, int);\n     descriptor: (Ljava/lang/String;I)Ljava/util/List;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=3, args_size=3\n          0: aload_0\n-         1: getfield      #7                  // Field encoding:Ljava/util/Optional;\n+         1: getfield      #32                 // Field encoding:Ljava/util/Optional;\n          4: aload_0\n-         5: invokespecial #8                  // Method unknownModelException:()Ljava/util/function/Supplier;\n-         8: invokevirtual #9                  // Method java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n-        11: checkcast     #10                 // class com/knuddels/jtokkit/api/Encoding\n+         5: invokespecial #36                 // Method unknownModelException:()Ljava/util/function/Supplier;\n+         8: invokevirtual #40                 // Method java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n+        11: checkcast     #46                 // class com/knuddels/jtokkit/api/Encoding\n         14: aload_1\n         15: iload_2\n-        16: invokeinterface #87,  3           // InterfaceMethod com/knuddels/jtokkit/api/Encoding.encodeOrdinary:(Ljava/lang/String;I)Lcom/knuddels/jtokkit/api/EncodingResult;\n-        21: invokevirtual #88                 // Method com/knuddels/jtokkit/api/EncodingResult.getTokens:()Ljava/util/List;\n+        16: invokeinterface #269,  3          // InterfaceMethod com/knuddels/jtokkit/api/Encoding.encodeOrdinary:(Ljava/lang/String;I)Lcom/knuddels/jtokkit/api/EncodingResult;\n+        21: invokevirtual #272                // Method com/knuddels/jtokkit/api/EncodingResult.getTokens:()Ljava/util/List;\n         24: areturn\n       LineNumberTable:\n         line 237: 0\n         line 238: 16\n         line 237: 24\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      25     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n             0      25     1  text   Ljava/lang/String;\n             0      25     2 maxTokensToEncode   I\n-    Signature: #196                         // (Ljava/lang/String;I)Ljava/util/List<Ljava/lang/Integer;>;\n+    Signature: #375                         // (Ljava/lang/String;I)Ljava/util/List<Ljava/lang/Integer;>;\n \n   public java.lang.String decode(java.util.List<java.lang.Integer>);\n     descriptor: (Ljava/util/List;)Ljava/lang/String;\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=2, locals=2, args_size=2\n          0: aload_0\n-         1: getfield      #7                  // Field encoding:Ljava/util/Optional;\n+         1: getfield      #32                 // Field encoding:Ljava/util/Optional;\n          4: aload_0\n-         5: invokespecial #8                  // Method unknownModelException:()Ljava/util/function/Supplier;\n-         8: invokevirtual #9                  // Method java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n-        11: checkcast     #10                 // class com/knuddels/jtokkit/api/Encoding\n+         5: invokespecial #36                 // Method unknownModelException:()Ljava/util/function/Supplier;\n+         8: invokevirtual #40                 // Method java/util/Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;\n+        11: checkcast     #46                 // class com/knuddels/jtokkit/api/Encoding\n         14: aload_1\n-        15: invokeinterface #89,  2           // InterfaceMethod com/knuddels/jtokkit/api/Encoding.decode:(Ljava/util/List;)Ljava/lang/String;\n+        15: invokeinterface #277,  2          // InterfaceMethod com/knuddels/jtokkit/api/Encoding.decode:(Ljava/util/List;)Ljava/lang/String;\n         20: areturn\n       LineNumberTable:\n         line 242: 0\n         line 243: 15\n         line 242: 20\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0      21     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n             0      21     1 tokens   Ljava/util/List;\n       LocalVariableTypeTable:\n         Start  Length  Slot  Name   Signature\n             0      21     1 tokens   Ljava/util/List<Ljava/lang/Integer;>;\n-    Signature: #202                         // (Ljava/util/List<Ljava/lang/Integer;>;)Ljava/lang/String;\n+    Signature: #379                         // (Ljava/util/List<Ljava/lang/Integer;>;)Ljava/lang/String;\n \n   private java.util.function.Supplier<java.lang.IllegalArgumentException> unknownModelException();\n     descriptor: ()Ljava/util/function/Supplier;\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: invokedynamic #90,  0             // InvokeDynamic #0:get:(Ldev/langchain4j/model/openai/OpenAiTokenizer;)Ljava/util/function/Supplier;\n+         1: invokedynamic #281,  0            // InvokeDynamic #0:get:(Ldev/langchain4j/model/openai/OpenAiTokenizer;)Ljava/util/function/Supplier;\n          6: areturn\n       LineNumberTable:\n         line 247: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n             0       7     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n-    Signature: #205                         // ()Ljava/util/function/Supplier<Ljava/lang/IllegalArgumentException;>;\n+    Signature: #380                         // ()Ljava/util/function/Supplier<Ljava/lang/IllegalArgumentException;>;\n \n   public int estimateTokenCountInToolExecutionRequests(java.lang.Iterable<dev.langchain4j.agent.tool.ToolExecutionRequest>);\n     descriptor: (Ljava/lang/Iterable;)I\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=10, args_size=2\n          0: iconst_0\n@@ -1438,61 +1427,61 @@\n          4: iconst_0\n          5: istore        4\n          7: iconst_0\n          8: istore        5\n         10: iconst_0\n         11: istore        6\n         13: aload_1\n-        14: invokeinterface #64,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;\n+        14: invokeinterface #204,  1          // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;\n         19: astore        7\n         21: aload         7\n-        23: invokeinterface #33,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z\n+        23: invokeinterface #114,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z\n         28: ifeq          107\n         31: aload         7\n-        33: invokeinterface #34,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n-        38: checkcast     #51                 // class dev/langchain4j/agent/tool/ToolExecutionRequest\n+        33: invokeinterface #120,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;\n+        38: checkcast     #171                // class dev/langchain4j/agent/tool/ToolExecutionRequest\n         41: astore        8\n         43: iinc          2, 4\n         46: iload_2\n         47: aload_0\n         48: aload         8\n-        50: invokevirtual #52                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n-        53: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        50: invokevirtual #173                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n+        53: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         56: iadd\n         57: istore_2\n         58: iload_2\n         59: aload_0\n         60: aload         8\n-        62: invokevirtual #53                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-        65: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        62: invokevirtual #174                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+        65: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         68: iadd\n         69: istore_2\n         70: aload         8\n-        72: invokevirtual #53                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-        75: invokestatic  #91                 // Method countArguments:(Ljava/lang/String;)I\n+        72: invokevirtual #174                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+        75: invokestatic  #284                // Method countArguments:(Ljava/lang/String;)I\n         78: istore        9\n         80: iload         9\n         82: ifne          91\n         85: iinc          5, 1\n         88: goto          94\n         91: iinc          4, 1\n         94: iload         6\n         96: iload         9\n         98: iadd\n         99: istore        6\n        101: iinc          3, 1\n        104: goto          21\n        107: aload_0\n-       108: getfield      #4                  // Field modelName:Ljava/lang/String;\n-       111: getstatic     #92                 // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       114: invokevirtual #93                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-       117: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       108: getfield      #15                 // Field modelName:Ljava/lang/String;\n+       111: getstatic     #287                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       114: invokevirtual #290                // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+       117: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n        120: ifne          130\n        123: aload_0\n-       124: invokespecial #94                 // Method isOneOfLatestGpt4Models:()Z\n+       124: invokespecial #291                // Method isOneOfLatestGpt4Models:()Z\n        127: ifeq          170\n        130: iinc          2, 16\n        133: iload_2\n        134: iconst_3\n        135: iload         5\n        137: imul\n        138: iadd\n@@ -1517,18 +1506,18 @@\n        164: iadd\n        165: istore_2\n        166: iload_2\n        167: iload_3\n        168: iadd\n        169: istore_2\n        170: aload_0\n-       171: getfield      #4                  // Field modelName:Ljava/lang/String;\n-       174: getstatic     #95                 // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-       177: invokevirtual #93                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-       180: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+       171: getfield      #15                 // Field modelName:Ljava/lang/String;\n+       174: getstatic     #294                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+       177: invokevirtual #290                // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+       180: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n        183: ifeq          216\n        186: iinc          2, 3\n        189: iload_3\n        190: iconst_1\n        191: if_icmple     216\n        194: iinc          2, 18\n        197: iload_2\n@@ -1607,59 +1596,59 @@\n           locals = [ class dev/langchain4j/agent/tool/ToolExecutionRequest, int ]\n         frame_type = 2 /* same */\n         frame_type = 248 /* chop */\n           offset_delta = 12\n         frame_type = 22 /* same */\n         frame_type = 39 /* same */\n         frame_type = 45 /* same */\n-    Signature: #215                         // (Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;)I\n+    Signature: #387                         // (Ljava/lang/Iterable<Ldev/langchain4j/agent/tool/ToolExecutionRequest;>;)I\n \n   public int estimateTokenCountInForcefulToolExecutionRequest(dev.langchain4j.agent.tool.ToolExecutionRequest);\n     descriptor: (Ldev/langchain4j/agent/tool/ToolExecutionRequest;)I\n     flags: (0x0001) ACC_PUBLIC\n     Code:\n       stack=3, locals=4, args_size=2\n          0: aload_0\n-         1: invokespecial #94                 // Method isOneOfLatestGpt4Models:()Z\n+         1: invokespecial #291                // Method isOneOfLatestGpt4Models:()Z\n          4: ifeq          30\n          7: aload_1\n-         8: invokevirtual #53                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-        11: invokestatic  #91                 // Method countArguments:(Ljava/lang/String;)I\n+         8: invokevirtual #174                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+        11: invokestatic  #284                // Method countArguments:(Ljava/lang/String;)I\n         14: istore_2\n         15: iload_2\n         16: ifne          21\n         19: iconst_1\n         20: ireturn\n         21: aload_0\n         22: aload_1\n-        23: invokevirtual #53                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-        26: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        23: invokevirtual #174                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+        26: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         29: ireturn\n         30: aload_0\n         31: aload_1\n-        32: invokestatic  #84                 // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n-        35: invokevirtual #96                 // Method estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n+        32: invokestatic  #255                // Method java/util/Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;\n+        35: invokevirtual #297                // Method estimateTokenCountInToolExecutionRequests:(Ljava/lang/Iterable;)I\n         38: istore_2\n         39: iinc          2, -4\n         42: iload_2\n         43: aload_0\n         44: aload_1\n-        45: invokevirtual #52                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n-        48: invokevirtual #30                 // Method estimateTokenCountInText:(Ljava/lang/String;)I\n+        45: invokevirtual #173                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.name:()Ljava/lang/String;\n+        48: invokevirtual #101                // Method estimateTokenCountInText:(Ljava/lang/String;)I\n         51: isub\n         52: istore_2\n         53: aload_0\n-        54: getfield      #4                  // Field modelName:Ljava/lang/String;\n-        57: getstatic     #92                 // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        60: invokevirtual #93                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-        63: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+        54: getfield      #15                 // Field modelName:Ljava/lang/String;\n+        57: getstatic     #287                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        60: invokevirtual #290                // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+        63: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n         66: ifeq          92\n         69: aload_1\n-        70: invokevirtual #53                 // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n-        73: invokestatic  #91                 // Method countArguments:(Ljava/lang/String;)I\n+        70: invokevirtual #174                // Method dev/langchain4j/agent/tool/ToolExecutionRequest.arguments:()Ljava/lang/String;\n+        73: invokestatic  #284                // Method countArguments:(Ljava/lang/String;)I\n         76: istore_3\n         77: iload_3\n         78: ifne          83\n         81: iconst_1\n         82: ireturn\n         83: iinc          2, -19\n         86: iload_2\n@@ -1707,25 +1696,25 @@\n \n   static int countArguments(java.lang.String);\n     descriptor: (Ljava/lang/String;)I\n     flags: (0x0008) ACC_STATIC\n     Code:\n       stack=2, locals=2, args_size=1\n          0: aload_0\n-         1: invokestatic  #97                 // Method dev/langchain4j/internal/Utils.isNullOrBlank:(Ljava/lang/String;)Z\n+         1: invokestatic  #300                // Method dev/langchain4j/internal/Utils.isNullOrBlank:(Ljava/lang/String;)Z\n          4: ifeq          9\n          7: iconst_0\n          8: ireturn\n          9: aload_0\n-        10: ldc           #54                 // class java/util/Map\n-        12: invokestatic  #55                 // Method dev/langchain4j/internal/Json.fromJson:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n-        15: checkcast     #54                 // class java/util/Map\n+        10: ldc           #177                // class java/util/Map\n+        12: invokestatic  #179                // Method dev/langchain4j/internal/Json.fromJson:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;\n+        15: checkcast     #177                // class java/util/Map\n         18: astore_1\n         19: aload_1\n-        20: invokeinterface #73,  1           // InterfaceMethod java/util/Map.size:()I\n+        20: invokeinterface #233,  1          // InterfaceMethod java/util/Map.size:()I\n         25: ireturn\n       LineNumberTable:\n         line 331: 0\n         line 332: 7\n         line 334: 9\n         line 335: 19\n       LocalVariableTable:\n@@ -1740,18 +1729,18 @@\n \n   private boolean isOneOfLatestModels();\n     descriptor: ()Z\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=1, locals=1, args_size=1\n          0: aload_0\n-         1: invokespecial #98                 // Method isOneOfLatestGpt3Models:()Z\n+         1: invokespecial #306                // Method isOneOfLatestGpt3Models:()Z\n          4: ifne          14\n          7: aload_0\n-         8: invokespecial #94                 // Method isOneOfLatestGpt4Models:()Z\n+         8: invokespecial #291                // Method isOneOfLatestGpt4Models:()Z\n         11: ifeq          18\n         14: iconst_1\n         15: goto          19\n         18: iconst_0\n         19: ireturn\n       LineNumberTable:\n         line 339: 0\n@@ -1766,24 +1755,24 @@\n \n   private boolean isOneOfLatestGpt3Models();\n     descriptor: ()Z\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #4                  // Field modelName:Ljava/lang/String;\n-         4: getstatic     #92                 // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-         7: invokevirtual #93                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-        10: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+         1: getfield      #15                 // Field modelName:Ljava/lang/String;\n+         4: getstatic     #287                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_1106:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+         7: invokevirtual #290                // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+        10: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n         13: ifne          32\n         16: aload_0\n-        17: getfield      #4                  // Field modelName:Ljava/lang/String;\n-        20: getstatic     #99                 // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        23: invokevirtual #93                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-        26: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+        17: getfield      #15                 // Field modelName:Ljava/lang/String;\n+        20: getstatic     #309                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_3_5_TURBO_0125:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        23: invokevirtual #290                // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+        26: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n         29: ifeq          36\n         32: iconst_1\n         33: goto          37\n         36: iconst_0\n         37: ireturn\n       LineNumberTable:\n         line 344: 0\n@@ -1800,30 +1789,30 @@\n \n   private boolean isOneOfLatestGpt4Models();\n     descriptor: ()Z\n     flags: (0x0002) ACC_PRIVATE\n     Code:\n       stack=2, locals=1, args_size=1\n          0: aload_0\n-         1: getfield      #4                  // Field modelName:Ljava/lang/String;\n-         4: getstatic     #100                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-         7: invokevirtual #93                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-        10: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+         1: getfield      #15                 // Field modelName:Ljava/lang/String;\n+         4: getstatic     #312                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_TURBO_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+         7: invokevirtual #290                // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+        10: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n         13: ifne          48\n         16: aload_0\n-        17: getfield      #4                  // Field modelName:Ljava/lang/String;\n-        20: getstatic     #95                 // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        23: invokevirtual #93                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-        26: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+        17: getfield      #15                 // Field modelName:Ljava/lang/String;\n+        20: getstatic     #294                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_1106_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        23: invokevirtual #290                // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+        26: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n         29: ifne          48\n         32: aload_0\n-        33: getfield      #4                  // Field modelName:Ljava/lang/String;\n-        36: getstatic     #101                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n-        39: invokevirtual #93                 // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n-        42: invokevirtual #44                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n+        33: getfield      #15                 // Field modelName:Ljava/lang/String;\n+        36: getstatic     #315                // Field dev/langchain4j/model/openai/OpenAiChatModelName.GPT_4_0125_PREVIEW:Ldev/langchain4j/model/openai/OpenAiChatModelName;\n+        39: invokevirtual #290                // Method dev/langchain4j/model/openai/OpenAiChatModelName.toString:()Ljava/lang/String;\n+        42: invokevirtual #148                // Method java/lang/String.equals:(Ljava/lang/Object;)Z\n         45: ifeq          52\n         48: iconst_1\n         49: goto          53\n         52: iconst_0\n         53: ireturn\n       LineNumberTable:\n         line 349: 0\n@@ -1840,33 +1829,33 @@\n           stack = [ int ]\n \n   private java.lang.IllegalArgumentException lambda$unknownModelException$0();\n     descriptor: ()Ljava/lang/IllegalArgumentException;\n     flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC\n     Code:\n       stack=5, locals=1, args_size=1\n-         0: ldc           #102                // String Model \\'%s\\' is unknown to jtokkit\n-         2: iconst_1\n-         3: anewarray     #40                 // class java/lang/Object\n-         6: dup\n-         7: iconst_0\n-         8: aload_0\n-         9: getfield      #4                  // Field modelName:Ljava/lang/String;\n-        12: aastore\n-        13: invokestatic  #41                 // Method dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n-        16: areturn\n+         0: ldc_w         #318                // String Model \\'%s\\' is unknown to jtokkit\n+         3: iconst_1\n+         4: anewarray     #2                  // class java/lang/Object\n+         7: dup\n+         8: iconst_0\n+         9: aload_0\n+        10: getfield      #15                 // Field modelName:Ljava/lang/String;\n+        13: aastore\n+        14: invokestatic  #133                // Method dev/langchain4j/internal/Exceptions.illegalArgument:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;\n+        17: areturn\n       LineNumberTable:\n         line 247: 0\n       LocalVariableTable:\n         Start  Length  Slot  Name   Signature\n-            0      17     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n+            0      18     0  this   Ldev/langchain4j/model/openai/OpenAiTokenizer;\n }\n SourceFile: \"OpenAiTokenizer.java\"\n-InnerClasses:\n-  public static #143= #58 of #54;         // Entry=class java/util/Map$Entry of class java/util/Map\n-  public static final #421= #420 of #423; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n BootstrapMethods:\n-  0: #322 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n+  0: #397 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\n     Method arguments:\n-      #323 ()Ljava/lang/Object;\n-      #324 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiTokenizer.lambda$unknownModelException$0:()Ljava/lang/IllegalArgumentException;\n-      #325 ()Ljava/lang/IllegalArgumentException;\n+      #404 ()Ljava/lang/Object;\n+      #405 REF_invokeSpecial dev/langchain4j/model/openai/OpenAiTokenizer.lambda$unknownModelException$0:()Ljava/lang/IllegalArgumentException;\n+      #408 ()Ljava/lang/IllegalArgumentException;\n+InnerClasses:\n+  public static #410= #192 of #177;       // Entry=class java/util/Map$Entry of class java/util/Map\n+  public static final #415= #411 of #413; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles\n"}]}, {"source1": "META-INF/maven/dev.langchain4j/langchain4j-open-ai/pom.properties", "source2": "META-INF/maven/dev.langchain4j/langchain4j-open-ai/pom.properties", "unified_diff": "@@ -1,5 +1,5 @@\n #Generated by Maven\n-#Mon Jan 29 18:06:55 UTC 2024\n-version=0.26.0\n+#Wed Jan 29 08:56:36 UTC 2025\n groupId=dev.langchain4j\n artifactId=langchain4j-open-ai\n+version=0.26.0\n"}]}
